Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: get_include_path()
Форумы портала PHP.SU » » Работа с файловой системой и файлами » get_include_path()

Страниц (1): [1]
 

1. puncake - 25 Июня, 2015 - 13:01:17 - перейти к сообщению
Подскажите, пожалуйста, почему путь отображается вот так:
.;c:/openserver/modules/php/PHP-5.4;c:/openserver/modules/php/PHP-5.4/PEAR/pear
Он вроде как частично дублируется. Разве это нормально? Спасибо.
2. Мелкий - 25 Июня, 2015 - 13:10:08 - перейти к сообщению
include_path не рекурсивный.
c:/openserver/modules/php/PHP-5.4 и c:/openserver/modules/php/PHP-5.4/PEAR/pear - две разные директории
3. puncake - 25 Июня, 2015 - 13:26:42 - перейти к сообщению
Мелкий пишет:
include_path не рекурсивный.

Если можно, объясните на человеко-понятном языке. Пожалуйста.
Мелкий пишет:

c:/openserver/modules/php/PHP-5.4 и c:/openserver/modules/php/PHP-5.4/PEAR/pear - две разные директории

Это ясно. Вопрос был - почему так отображается путь при выведении на экран

Файлы-то не в двух директориях хранятся.
При подключении контроллера, модели и библиотеки:
CODE (htmlphp):
скопировать код в буфер обмена
  1.                 .PATH_SEPARATOR.CONTROLLER
  2.                 .PATH_SEPARATOR.MODEL
  3.                 .PATH_SEPARATOR.LIB
  4.                 );

выводится вот такой путь:
.;c:/openserver/modules/php/PHP-5.4;c:/openserver/modules/php/PHP-5.4/PEAR/pear;core/controller;core/model;lib
Нужно где-то что-то перенастроить, а вот где и что - не знаю.
4. Мелкий - 25 Июня, 2015 - 13:37:44 - перейти к сообщению
puncake пишет:
Если можно, объясните на человеко-понятном языке. Пожалуйста.

Путь /foo/ не включает в себя путь /foo/bar/
Т.е. настройка не использует рекурсивный обход путей.

puncake пишет:
Файлы-то не в двух директориях хранятся.

При чём тут где хранятся файлы?
Настройка определяет в каких директориях и в каком порядке производить поиск.
Упрощённо работает так:
PHP:
скопировать код в буфер обмена
  1. $sNeedFilename = 'example.php';
  2. $aPaths = array(
  3.     '.',
  4.     '/foo/',
  5.     '/foo/bar/',
  6. );
  7. foreach ($aPaths as $path) {
  8.     if (file_exists($path . $sNeedFilename)) {
  9.         include $path . $sNeedFilename;
  10.         break;
  11.     }
  12. }


Что вам не нравится в полученном наборе путей я не понимаю. Как, впрочем, не понимаю и зачем использовать include_path вместо человеческого spl_autoload_register
5. puncake - 25 Июня, 2015 - 13:47:14 - перейти к сообщению
Спасибо за пояснения.
Мелкий пишет:
Что вам не нравится в полученном наборе путей я не понимаю. Как, впрочем, не понимаю и зачем использовать include_path вместо человеческого spl_autoload_register

Теперь мне многое ясно. Я купила курс по ООП, но там автор не особо вдается в объяснения. Поэтому приходится искать ответы на сторонних ресурсах. Спасибо Вам еще раз.
6. DeepVarvar - 25 Июня, 2015 - 13:59:12 - перейти к сообщению
puncake пишет:
Я купила курс по ООП

puncake пишет:
;c:/openserver

puncake пишет:
автор не особо вдается в объяснения

puncake пишет:
Теперь мне многое ясно

Надеюсь так же стало ясно что нужно сдать курс обратно и вернуть потраченые деньги.
Лучше сюда (или на другой ресурс приходи) спрашивать, чем деньги в трубу сливать.

 

Powered by ExBB FM 1.0 RC1