Это плохая практика запрашивать index.php, чтобы использовать другие скрипты
Это плохо использовать index.php
как загрузчик для других скриптов или это имеет значение?
т.е. запрашивающий index.php
с различными строками запроса и внутри него, выбирая и включая соответствующий скрипт.
например
www.example.com/?sign-in
вместо www.example.com/sign-in.php
www.example.com/?new-post
вместо www.example.com/new-post.php
Таким образом, вы можете использовать index.php
делать общие включения и процессы, такие как установка часового пояса, кодирование в мегабайтах, соединение с БД, аутентификация и т.
4 ответа
Лучше всего, чтобы apache переписывал все URL index.php
или какой-то другой файл, который вы можете использовать в качестве начальной загрузки. Этот загрузчик запускает весь основной код, а затем этот загрузчик может выяснить, какие другие действия предпринять, основываясь на URL.
Каждый фреймворк работает так.
несколько вещей, которые вы можете захотеть сделать в начальной загрузке:
настройка, автозагрузка классов
настроить соединение MySQL
проверить, аутентифицирован ли пользователь для определенного действия
Существует множество руководств по переписыванию URL с помощью Apache: http://www.workingwith.me.uk/articles/scripting/mod_rewrite
Если вы действительно хотите узнать о лучших практиках, я бы посоветовал взглянуть на существующие фреймворки, на то, как они реализуют определенные вещи. например: Zend или Symfony
И да и нет
Проблема в том, что при этом вы потеряете любое значение SEO, например: domain.com/index.php?post=story будет очень плохо ранжироваться на domain.com/post/story . Также ваш index.php очень быстро запутается.
Это говорит о том, что MVC обычно используют index.php, поэтому мой URL будет domain.com/users/edit/123, который является очень логичным URL, но на самом деле называется domain.com/index.php, затем он смотрит на первый параметр "users" создает экземпляр пользовательского контроллера, а затем ищет в нем функцию редактирования и передает "123" (идентификатор пользователя) в качестве первого параметра функции. Если вы не знакомы с MVC, я бы посоветовал codeigniter как начальный, более подробно о codeigniter.
В конце концов, вы просто заново изобретете колесо, создав его с нуля, а использование MVC сделает разработку намного проще.
Вместо того, чтобы направлять все ваши запросы (через htaccess) в index.php, вы также можете разделить маршруты для сопоставления с другими файлами:
/blog/hello-there
отображение на blog.php?title=hello-there
/sign/in
отображение на login.php?login
и т. д., таким образом, вы создаете свою собственную простую маршрутизацию на основе URL запроса; легко читается и прост в обслуживании.
Это решение подходит для небольших проектов, для больших проектов я советую использовать полный фреймворк, такой как Yii или Symfony.
Это лучший подход. Вы можете взять под контроль свой сайт. Создайте index.php
и включать другие файлы по запросу.
(Определите константу и используйте ее во включенных файлах и т. Д.)
Но имейте в виду, чтобы свести к минимуму index.php
как можно больше.
Также вы можете использовать Apache mod_rewrite
создать SEO дружественный URL.