классами, PDO и тд не пользуюсь, так как ещё не умею, поэтому процедурный стиль...(код немного сокращен для наглядности)
Вопрос: можно ли так?, безопасно ли так? и вообще что убрать что добавить
Файл .htaccess - перенаправляет все запросы на index.php (только если не существует такого файла)
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Файл index.php -
<?php define('_TEST',true);
mb_internal_encoding("UTF-8");
error_reporting(E_ALL);
ini_set('display_errors', 1);
if (version_compare(phpversion(), '5.1.0', '<') == true) { die ('PHP5.1 Only'); }
require_once ('router.php'); //ссылка на роутер
?>
Файл router.php - наш роутер
<?php defined('_TEST') or die();
if ($_SERVER['REQUEST_URI'] == '/') { // если главная страница то
require_once('controller/index.php');
} else { // если не главная то
$parse = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); // Парсим урл с GET и POST запросами
$url = explode('/', trim($parse, ' /')); // Разбиваем урл по символу "/"
if (count($url) > 3) { die('error')} // eсkи больше 3 директорий - ошибка
$controller = empty($url[0]) ? strtolower($url[0]) : 'index';
$model = empty($url[1]) ? strtolower($url[1]) : 'index'; // проверили существование
$view = empty($url[2]) ? strtolower($url[2]) : 'index';
$dir_controller = 'controller/' . $controller . '.php';
$dir_model = 'model/' . $controller . '.php'; //определяем поддиректории
$dir_view = 'view/' . $controller . '.php';
if (file_exists($dir_controller)){
require_once($dir_controller); //проверим и подключим контроллер
} else echo'eror load controller';
if (file_exists($dir_model)){
require_once($dir_model); //проверим и подключим модель
} else echo'eror load model';
if (file_exists($dir_view)){
require_once($dir_view); //проверим и подключим вид
} else echo'eror load view';
}
model($model); //запуск функции
view($action); //запуск функции
?>
_____________
Нажимаю "Мой компьютер"... не моет, сукоо...
Познакомлюсь с девушкой, можно крякнутая версия...