Intereting Posts
API Vimeo: потоковая загрузка с использованием HTTP PUT и загрузки jQuery для синейма Проверьте, подключен ли пользователь к facebook, а затем проверьте, понравилась ли ему страница Google tts api дает мне пустой mp3 Извлечение HTML-атрибутов в PHP с регулярным выражением Как отсортировать массив по определенному фильтру? file_get_contents не работает для некоторого URL-адреса извлечение телефонных номеров CakePHP – общее количество разбиения на страницы отличается от фактического количества при использовании DISTINCT Symfony 2 – Маршрутизация домашней страницы Bootstrap Scaffolding в петле php Запрос Ajax WordPress возвращает 0 Как я могу использовать постоянные соединения HTTP 1.1 и конвейерную обработку из PHP? Ошибка API-интерфейса Google Translator Toolkit («Multipart должен иметь часть Atom и медиа») PHP, передать параметры из командной строки в скрипт PHP Как я могу построить запрос на основе условий в laravel

определить собственный BASE_PATH и set_include_path?

Я узнал о функции set_include_path (). Все это время я определил константу в файле config.php

define('BASE_PATH', '/var/www/mywebsite/public_html/'); 

И во всех последующих php-файлах я бы включил так

 include(BASE_PATH.'header.php'); include(BASE_PATH.'class/cls.data_access_object.php'); в include(BASE_PATH.'header.php'); include(BASE_PATH.'class/cls.data_access_object.php'); 

Есть ли преимущество в постоянном подходе к подходу set_include_path и наоборот? Является ли постоянный подход устаревшим?

Использование set_include_path () (или ini_set ('include_path', …)) позволяет указать несколько папок, которые будут содержать ваш библиотечный код. Например, если ваше приложение зависит от множества различных фреймворков / библиотек, например PEAR и Zend FW, у вас может быть что-то вроде:

ini_set ('include_path', '/ usr / local / php / pear: / usr / local / php / zendfw');

Недостатком такого подхода является то, что он будет использовать любой файл, который он найдет первым; если у вас есть файл под названием «Mailer.php» в более чем одном из ваших включенных путей, он будет включать в себя первый найденный, вызывая тонкие ошибки, если это не ваше намерение. Хорошая организация кода обычно решает эту проблему. Кроме того, include_path проходит через кеш реального пути ( http://us2.php.net/realpath ), который иногда необходимо настроить, чтобы повысить производительность в зависимости от вашей настройки.

Оба способа хороши, однако использование метода define () более явное.

FWIW, я обычно использую ini_set ('include_path', …).

Я думаю, что объяснение Микаэля очень ясное.

Я рекомендовал вам использовать «set_include_path», когда вы храните все ваши файлы PHP в папке, например: «libs /» (это проще). Использование метода define () должно быть более быстрым, поскольку вы явно указываете путь к файлу.

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

 define("BASE_PATH", dirname(__FILE__)); 

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