Где я могу разместить include_once в приложении PHP? - PullRequest
0 голосов
/ 10 января 2012

У меня есть простое приложение PHP, а также класс, который содержит некоторые параметры конфигурации, такие как строка conn DB и некоторые пути. Где лучше всего разместить код include_once('config/config.php');?

Спасибо

Ответы [ 6 ]

1 голос
/ 10 января 2012

Существует настройка PHP auto_prepend_file, которую вы можете использовать. Установите его в файл, который является начальной загрузкой ваших скриптов:

bootstrap.php

<?php
/* 
 * bootstrap
 *
 * this file will be always loaded first.
 */

include(__DIR__.'/config/config.php');

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

Если вы не хотите использовать эту настройку ini, вы также можете включить во все свои сценарии файл bootstrap.php в самом верху:

Пользователь / profile.php

<?php
/*
 * show profile of a user
 */
require(__DIR__.'/../bootstrap.php'); # bootstrap

Обычно хорошая идея иметь центральную точку в самом начале вашего приложения, это обычно называется bootstrap .

1 голос
/ 10 января 2012

Вам необходимо включить файлы, прежде чем использовать что-либо внутри них.

Итак, начало файла - это, как правило, хорошее место.

1 голос
/ 10 января 2012

Мне нравится использовать шаблон Front Controller с одной точкой входа. И на этом этапе я создаю экземпляр класса Config, который включает в себя Db config и другие.

0 голосов
/ 10 января 2012

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

Однако на практике я обычно видел включение в двух местах.

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

  2. Если есть функции, то тоже в начале функции - по той же логикекак указано выше.Обратите внимание, что он включен внутри функции, а не на верхнем уровне файла.Это главным образом потому, что другие функции могут не нуждаться в этом.Даже если они это сделают, я думаю, что включение include отдельно для каждой функции делает функции более модульными - все зависимости в функции.

0 голосов
/ 10 января 2012

Зависит от ситуации. обычно около вершины. Это наиболее часто используется, но есть некоторые случаи, которые вы хотите включить, только если соблюдены некоторые настройки.

затем вы можете включить его там, где вам это нужно, но он менее чистый.

В вашем случае конфиг должен быть включен сверху для наиболее чистого решения.

Также обратите внимание, что вам нужно включить его, прежде чем вы сможете использовать переменные внутри файла конфигурации. Это причина, почему включения выполняются в верхней части файла.

0 голосов
/ 10 января 2012

Если у вас не так много файлов, просто поместите все в один и тот же исходный каталог.

В противном случае «include» или «inc» являются общими именами. Обычно параллельно с "src" и "imgs"; в корне вашего приложения.

Но почему бы просто не использовать "config", как в вашем примере? Звучит как совершенно подходящее место для меня:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...