- set_include_path
- Parameters
- Return Values
- Examples
- See Also
- User Contributed Notes 1 note
- Организуйте свой следующий PHP проект правильно
- Учебное пособие
- Структура каталогов
- Сломать
- Файл конфигурации
- Использование различных файлов конфигурации для нескольких сред
- Расположение
- Php set_include_path(get_include_path() . PS . LIBRARY_PATH);
- Examples
- Related
- Пути для подключаемых файлов с помощью директивы include_path.
set_include_path
Sets the include_path configuration option for the duration of the script.
Parameters
Return Values
Returns the old include_path on success or false on failure.
Examples
Example #1 set_include_path() example
// Or using ini_set()
ini_set ( ‘include_path’ , ‘/usr/lib/pear’ );
?>
Example #2 Adding to the include path
Making use of the PATH_SEPARATOR constant, it is possible to extend the include path regardless of the operating system.
In this example we add /usr/lib/pear to the end of the existing include_path .
See Also
- ini_set() — Sets the value of a configuration option
- get_include_path() — Gets the current include_path configuration option
- restore_include_path() — Restores the value of the include_path configuration option
- include — include
User Contributed Notes 1 note
If you find that this function is failing for you, and you’re not sure why, you may have set your php include path in your sites’s conf file in Apache (this may be true of .htaccess as well)
So to get it to work, comment out any «php_value include_path» type lines in your Apache conf file, and you should be able to set it now in your php code.
- PHP Options/Info Functions
- assert_options
- assert
- cli_get_process_title
- cli_set_process_title
- dl
- extension_loaded
- gc_collect_cycles
- gc_disable
- gc_enable
- gc_enabled
- gc_mem_caches
- gc_status
- get_cfg_var
- get_current_user
- get_defined_constants
- get_extension_funcs
- get_include_path
- get_included_files
- get_loaded_extensions
- get_required_files
- get_resources
- getenv
- getlastmod
- getmygid
- getmyinode
- getmypid
- getmyuid
- getopt
- getrusage
- ini_alter
- ini_get_all
- ini_get
- ini_parse_quantity
- ini_restore
- ini_set
- memory_get_peak_usage
- memory_get_usage
- memory_reset_peak_usage
- php_ini_loaded_file
- php_ini_scanned_files
- php_sapi_name
- php_uname
- phpcredits
- phpinfo
- phpversion
- putenv
- set_include_path
- set_time_limit
- sys_get_temp_dir
- version_compare
- zend_thread_id
- zend_version
- get_magic_quotes_gpc
- get_magic_quotes_runtime
- restore_include_path
Организуйте свой следующий PHP проект правильно
Начиная с PHP, может быть сложно понять, как лучше организовать проект. Если вы когда-либо путались с тем, где размещать свои изображения, внешние библиотеки или отделять свою логику от макета, воспользуйтесь этими советами; они направят вас в правильном направлении.
Учебное пособие
- Программа : PHP / Проекты
- Версия : 1
- Сложность: Легко
- Расчетное время завершения: 20 минут
Структура каталогов
Я бы сказал, что первое, что нужно для быстрого запуска и запуска проекта, – это наличие надежной структуры каталогов, которую можно использовать для нескольких проектов. Если вы используете фреймворк, обычно он предоставляет структуру для использования, но в этом сценарии мы работаем над простым сайтом или приложением.
Сломать
- Вы, вероятно, очень хорошо знакомы со структурой public_html . Это корень документа, в котором доступны все ваши общедоступные файлы ( /public_html/page.php доступен по адресу example.com/page.php ).
- img – Все ваши файлы изображений. Я решил отделить изображения контента от изображений макета.
- CSS – Все ваши файлы CSS.
- JS – все ваши файлы JavaScript.
- config.php – основной файл конфигурации. Следует хранить настройки сайта в целом.
- библиотека – центральное расположение всех пользовательских и сторонних библиотек.
- шаблоны – повторно используемые компоненты, которые составляют ваш макет.
Файл конфигурации
Как дизайнеры и разработчики наша главная цель – сделать как можно меньше работы. Одним из способов достижения этой цели является использование конфигурационных файлов. Чтобы получить лучшее представление о том, что файл конфигурации должен иметь, посмотрите этот пример.
Это базовый файл конфигурации. Многомерный массив служит гибкой структурой для доступа к различным элементам конфигурации, таким как учетные данные базы данных.
- DB – хранить учетные данные базы данных или другие данные, относящиеся к вашим базам данных.
- пути – часто используемые пути к различным ресурсам для вашего сайта.
- лог-файлы
- загрузить каталоги
- Ресурсы
Использование констант для часто используемых путей делает операторы включения ( require или include ) быстрым, и если путь когда-либо изменится, вам нужно будет обновить его только в одном месте.
Использование различных файлов конфигурации для нескольких сред
Используя разные файлы конфигурации для нескольких сред, вы можете иметь соответствующие настройки в зависимости от текущей среды. Это означает, что если вы используете разные учетные данные базы данных или разные пути для каждой среды, устанавливая соответствующие файлы конфигурации, вы гарантируете, что ваш код будет работать без проблем при обновлении вашего живого сайта. Это также позволяет вам иметь различные параметры отчетов об ошибках в зависимости от текущей среды. Никогда не отображайте ошибки на вашем сайте! При отображении ошибок на реальном сайте пользователи могут получить конфиденциальные данные (например, пароли).
Расположение
Повторно используемые шаблоны – еще одна экономия времени. Есть несколько отличных библиотек для шаблонов (таких как Smarty ), и я всегда рекомендую использовать такую библиотеку, а не изобретать велосипед. Эти библиотеки предлагают множество функций (например, вспомогательные методы для форматирования валюты и запутывания адресов электронной почты ). Поскольку это простой сайт, мы не хотим тратить время на настройку библиотеки и будем использовать самые простые из базовых шаблонов. Мы достигаем этого путем добавления общих разделов или модулей на страницы нашего сайта; таким образом, если мы хотим что-то изменить в заголовке, например, добавив ссылку на глобальную навигацию, это распространяется по всему сайту.
Php set_include_path(get_include_path() . PS . LIBRARY_PATH);
This tutorials show you how to use get_include_path.
get_include_path is used in the following way.
set_include_path(get_include_path() . PS . LIBRARY_PATH); This function has no parameters.
The get_include_path is declared as follows:
get_include_path(): string|false
The return value is Returns the path, as a string, or false on failure.
Examples
'DS', DIRECTORY_SEPARATOR); define('PS', PATH_SEPARATOR); define('BASE_PATH', dirname(dirname(realpath(__FILE__)))); define('LIBRARY_PATH', BASE_PATH . DS . 'library'); define('IMAGES_PATH', BASE_PATH . DS . 'examples' . DS . 'images'); define('TEMP_PATH', BASE_PATH . DS . 'examples' . DS . 'temp'); set_include_path(get_include_path() . PS . LIBRARY_PATH); require_once ('Image/Processor.php');
Related
- Php set_include_path(get_include_path() . PATH_SEPARATOR . realpath(__DIR__ . ‘/../../main/php/’));
- Php set_include_path(get_include_path() . PATH_SEPARATOR . realpath(dirname(__FILE__) . ‘/../src’));
- Php set_include_path(get_include_path() . PATH_SEPARATOR . realpath(str_replace(‘\\’, ‘/’, dirname(__FILE__))));
- Php set_include_path(get_include_path() . PS . LIBRARY_PATH);
- Php set_include_path(get_include_path() . SEPARATOR . PROJECT_PATH);
- Php set_include_path(get_include_path().’:’.SRC_PATH.’:’.BASE_PATH);
- Php set_include_path(get_include_path().PATH_SEPARATOR .__DIR__. DIRECTORY_SEPARATOR . «..» );
demo2s.com | Email: | Demo Source and Support. All rights reserved.
Пути для подключаемых файлов с помощью директивы include_path.
Чтобы была возможность указывать одинаковые пути к подключаемым файлам независимо от нахождения файла со скриптом, в котором этот путь нужно получить, можно указать этот путь в директиве include_path.
Например есть папка «includes», а в ней файлы для подключения. Задав необходимые параметры для include_path, из скрипта любого файла вашего сайта можно будет получить нужный файл этой папки просто прописав его имя: require_once ‘файл.расширение’.include_path определяется в главном файле конфигурации php.ini. В ней указывается список директорий, в которых функции require, include, fopen(), file(), readfile() и file_get_contents() ищут файлы. Список директорий (папок) разделяется двоеточием в Unix или точкой с запятой в Windows.
Если вы используете сервер Apache. то директиву include_раth можете указать в глобальном файле конфигурации сервера (который обычно называется httpd.conf) или в файле конфигурации для конкретного каталога (который обычно называется .htaccess) воспользовавшись следующим синтаксисом:
php_value include_path ".:/usr/local/liЬ/php-libraries"
Если у вас нет прав доступа, необходимых для редактирования файла php.ini, или не хотите менять конфигурационный файл при переносах сайта — можете задать пути включения файлов, на время выполнения скрипта, прямо из сценария с помощью функции set_include_path().
Например нам нужно подключить файлы находящиеся в папке includes, которая в корне сайта:
$path = 'includes'; $result = set_include_path(get_include_path() . PATH_SEPARATOR . $path);
где $path – путь к нужной папке относительно точки входа (файла index.php)
Можно указать абсолютный путь:$path = $_SERVER['DOCUMENT_ROOT']. '/includes';
. PATH_SEPARATOR . realpath(dirname(__FILE__) . '/../includes')
где realpath() — преобразует относительный путь в абсолютный.
Также можно указывать вложенную папку, например $path = ‘includes/folder’;После этого, для подключения файлов, можно просто указывать их названия:
Вызвав get_include_path() мы добавили в начало списка данные, которые уже были в include_path,
потом идет разделитель и нужный путь.С помощью установки пути в include_path, из какого бы файла и папки не вызывался нужный файл, путь не изменится.
Можно также использовать ini_set (одно и тоже):
// Работает с версии PHP 4.3.0 set_include_path('/usr/lib/pear'); // Работает во всех версиях PHP ini_set('include_path', '/usr/lib/pear');
set_include_path( get_include_path() . PATH_SEPARATOR . 'folder1' . PATH_SEPARATOR . 'folder2' . PATH_SEPARATOR . 'folder3'); spl_autoload_register( function( $class ) < include $class . '.php'; >);
Указывать директиву include_path в файле .htaccess не рекомендуется по следующим причинам:
— вы затрете пути, которые уже были в системе (например, каталог PEAR);
— при переносе сайта к другому хостеру придется изменять .htaccess, т.к. в директиве include_path указаны абсолютные пути к каталогам;
— из-за использования разных разделителей каталогов (в Unix (:), в Windows (;)) возникают проблемы при отладке скриптов на локальной машине)