Я пишу свое первое приложение PHP. Все говорят о наличии a bootstrap.php
инициализировать Ваше приложение. Это имеет смысл, и я соединил тот, которым я доволен. Существует две вещи, которые я не понимаю, и которые никто, кажется, не упоминает:
Откуда я называю свой boostrap? Я включаю его в каждую страницу? Скажите мне, что существует лучший путь...
Как я делаю его так, мою начальную загрузку не называют чаще, чем необходимый? Я предполагаю, что это только нужно назвать или в начале приложения или в начале запуска новой сессии.
1: Обычно программа начальной загрузки находится в каталоге «приложения». Он вызывается из «общедоступного» каталога, который находится на том же уровне, что и приложение (не внутри него). Index.php внутри общей папки должен включать bootstrap.php, и именно здесь должен быть установлен ваш Document_Root (обратите внимание, что вам может потребоваться изменить / добавить некоторые пути включения, чтобы он работал)
2: Это должно быть только включается один раз через файл index.php в общей папке. Просто включив его, должно хватить, если все было сделано правильно.
Надеюсь, что это поможет.
это зависит от того, что делает ваш файл начальной загрузки. Если это всего лишь файл, который устанавливает некоторые настройки ini и тому подобное, чтобы создать нормальную среду выполнения и установить соединение с базой данных, тогда простого включения его с помощью require_once в ваши сценарии должно быть достаточно. Если это больше единственная точка входа, вы можете настроить свой сервер для фильтрации всех запросов к нему и отправки его в соответствующие сценарии контроллера.
Взгляните на шаблон синглтона . Вы можете удвоить свой класс начальной загрузки в качестве контейнера ресурсов, например:
$bootstrap = Bootstrap::getInstance();
$dbConn = $bootstrap->getPdoDbh();
Вы можете включить
или требовать
файл, либо использовать автозагрузчик и убедиться, что у вас есть вызов для создания экземпляра объект на всех ваших страницах. У вас даже может быть вызов getInstance ()
внизу файла после определения класса.
Или вы можете использовать маршрутизацию на основе URL-адресов, и все ваши запросы будут проходить через один файл index.php, как это делает Zend Framework. Или еще лучше использовать Zend Framework .
В этом ответе предполагается, что вы используете ООП с PHP> = 5, и это действительно правильный путь.
Это зависит от архитектуры вашего приложения.
Если ваша архитектура представляет собой старое доброе "стадо php-скриптов" - PHP-скрипты, вызываемые непосредственно из браузера - тогда вы будете включать его в начало каждого скрипта, так или иначе.
Большинство разработчиков (и фреймворков) в наши дни так или иначе направляют все свои запросы через /index.php, обычно с некоторым переписыванием URL, чтобы сделать красивые URL для пользователей.
В наше время вы, вероятно, должны делать последнее, или, по крайней мере, думать об этом. Это приводит к гораздо лучшей организации, и, что еще более важно, позволяет вам хранить весь ваш код вне корня документа веб-сервера, что является хорошей практикой безопасности по нескольким причинам, которые выходят за рамки этого ответа.