Основы загрузки PHP

Я пишу свое первое приложение PHP. Все говорят о том, что bootstrap.php инициализирует ваше приложение. Это имеет смысл, и я собрал тот, которым я доволен. Я не понимаю две вещи, о которых никто не упоминает:

  1. Откуда мне позвонить из моего бункера? Включить ли я его на каждую страницу? Скажи, что есть лучший способ …

  2. Как это сделать, чтобы мой бутстрап не вызывался чаще, чем нужно? Я предполагаю, что его нужно только вызывать либо в начале приложения, либо в начале нового сеанса.

    1: Обычно загрузочный файл находится в каталоге «приложение». Он вызывается из «общедоступного» каталога, который находится на том же уровне, что и приложение (не внутри него). Index.php внутри общей папки должен содержать bootstrap.php, и именно там должен быть установлен ваш Document_Root (обратите внимание, что вам может потребоваться изменить / добавить некоторые пути включения, чтобы он работал)

    2: Он должен быть включен только один раз через файл index.php в общей папке. Просто включить его должно быть достаточно, если бы все было сделано правильно.

    Надеюсь, это поможет.

    Это зависит от архитектуры вашего приложения.

    Если ваша архитектура – это старая «стая php-скриптов» – скрипты PHP, вызываемые непосредственно из браузера, – тогда вы будете включать ее в начало каждого сценария, так или иначе.

    Большинство разработчиков (и фреймворки) в эти дни каждый раз маршируют все свои запросы через /index.php, как правило, с некоторыми переписывания URL-адресов, чтобы сделать приятные, красивые URL-адреса для пользователей.

    В этот день и в возрасте вы, вероятно, должны делать последнее или, по крайней мере, думать об этом. Это приводит к значительно лучшей организации и, что еще более важно, позволяет сохранить весь ваш код вне корневого каталога веб-сервера, что является хорошей практикой безопасности по нескольким причинам, выходящим за рамки этого ответа.

    Посмотрите на одноэлементный шаблон . Вы можете удвоить свой класс начальной загрузки в качестве контейнера ресурсов, например:

     $bootstrap = Bootstrap::getInstance(); $dbConn = $bootstrap->getPdoDbh(); 

    Вы можете include или require файл или использовать автозагрузчик и убедиться, что у вас есть вызов для создания объекта на всех ваших страницах. Возможно, вы даже получите вызов getInstance() в нижней части файла после определения класса.

    Или вы можете использовать маршрутизацию на основе URL-адресов, и все ваши запросы проходят через один файл index.php, как это делает Zend Framework. Или еще лучше, используйте Zend Framework .

    Этот ответ предполагает, что вы выполняете OOP с PHP> = 5, и это действительно так.

    это зависит от того, что делает ваш загрузочный файл. Если это просто файл, который устанавливает некоторые параметры ini и т. Д., Чтобы создать нормальную среду исполнения и установить соединение с базой данных, достаточно просто включить ее с require_once в свои скрипты. Если это более одноточечная запись, вы можете настроить сервер для фильтрации всех запросов на него и отправки его соответствующим сценариям контроллера.