با عرض سلام و خسته نباشید خدمت شما دوستان گرامی
دوستان بنده این روتینگ رو نوشتم ولی الان یه امکان جدید میخام بهش اضافه بشه هرکاری میکنم نمیتونم
میخام که اگر یک فایل کنترلر وجود نداشت بررسی کنه که پوشه ای با همون نام ارسال وجود داره یا خیر اگر وجود داشتپارامتر های بعد از اون رو به عنوان کنترلر متد و پارامتر در نظر بگیره مثلا
post کنترلر
new متد
1 پارامتر
فایل روترم :
فایل آوتولود
دوستان بنده این روتینگ رو نوشتم ولی الان یه امکان جدید میخام بهش اضافه بشه هرکاری میکنم نمیتونم
میخام که اگر یک فایل کنترلر وجود نداشت بررسی کنه که پوشه ای با همون نام ارسال وجود داره یا خیر اگر وجود داشتپارامتر های بعد از اون رو به عنوان کنترلر متد و پارامتر در نظر بگیره مثلا
localhost/test/post/new/1مثلا ببینه اگر کنترلر test تویه همون پوشه کنترلر هام وجود نداشت بررسیکنه که پوشش هست یا خی اگر پوشش وجود داشت این ها بشن به ترتیب کنتلر و متد و..
post کنترلر
new متد
1 پارامتر
فایل روترم :
<?php function ruter() { global $config; $controller = $config['default_controller']; $method = $config['default_method']; $paramss = array(); if (isset($_GET['url'])) { $link = explode('/', $_GET['url']); $controller = $link[0]; switch ($controller) { case 'page': if (is_numeric($link[1])) { $controller = 'main'; $method = 'page'; array_shift($link); $paramss = (isset($link[0]) ? $link : $paramss); } else { $controller = 'page'; $method = 'index'; array_shift($link); $paramss = (isset($link[0]) ? $link : $paramss); } break; case 'admin': case 'modir': $controller = 'admin-test'; array_shift($link); $method = (isset($link[0]) ? $link[0] : $method); array_shift($link); $paramss = (isset($link[0]) ? $link : $paramss); break; default: array_shift($link); $method = (isset($link[0]) ? $link[0] : $method); array_shift($link); $paramss = (isset($link[0]) ? $link : $paramss); break; } } if (method_exists($controller, $method)) { $obj = new $controller; call_user_func_array(array($obj, $method), $paramss); } else { $controller = $config['error_controller']; require_once(APP_DIR . 'controllers/' . $controller . '.php'); $method = 'index'; } } ?>
فایل آوتولود
<?php function __autoload($className) { $path = APP_DIR . 'controllers/' . $className . '.php'; if (file_exists($path)) { require_once $path; } else if(file_exists(APP_DIR.'class/'.$className.'.php')) { $path =APP_DIR.'class/'.$className.'.php'; require $path; } else { $path = APP_DIR . 'controllers/error.php'; require $path; } } ?>