PHP загружающиеся основы

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

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

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

19
задан BenV 1 November 2010 в 13:48
поделиться

4 ответа

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

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

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

13
ответ дан 30 November 2019 в 04:15
поделиться

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

1
ответ дан 30 November 2019 в 04:15
поделиться

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

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

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

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

В этом ответе предполагается, что вы используете ООП с PHP> = 5, и это действительно правильный путь.

5
ответ дан 30 November 2019 в 04:15
поделиться

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

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

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

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

8
ответ дан 30 November 2019 в 04:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: