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 :: Версия для печати :: Вопрос о include
Форумы портала PHP.SU » » Вопросы новичков » Вопрос о include

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

1. DarkMas - 07 Марта, 2015 - 06:07:44 - перейти к сообщению
Копался я во многих cms и приминение инклуда почти везде разное и вобщем назрел такой вопрос, как все же правильней и лучше его использовать?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. // 1
  4. define('ROOT', $_SERVER[ 'DOCUMENT_ROOT' ]);
  5. include ROOT . '/dir/file.php';
  6. //2
  7. define('ROOT', __DIR__');
  8. include ROOT . '/dir/file.php';
  9. //3
  10. $root = $_SERVER[ 'DOCUMENT_ROOT' ];
  11. include $root . '/dir/file.php';
  12. //4
  13. include $_SERVER[ 'DOCUMENT_ROOT' ] . '/dir/file.php';
  14. ?>
  15.  


И сразу же еще один вопрос на эту, как лучше:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. //со скобками
  4. include ( 'dir/file.php' );
  5. //или без
  6. include 'dir/file.php';
  7. ?>
  8.  
2. DelphinPRO - 07 Марта, 2015 - 06:35:31 - перейти к сообщению
Какие-то странные вопросы у вас возникают в процессе изучения php...

Все варианты правильные, лучшего нет. Такой ответ устроит?
3. DarkMas - 07 Марта, 2015 - 07:15:09 - перейти к сообщению
DelphinPRO пишет:
Какие-то странные вопросы у вас возникают в процессе изучения php...

Все варианты правильные, лучшего нет. Такой ответ устроит?

тем лучше)
4. LIME - 07 Марта, 2015 - 08:05:42 - перейти к сообщению
DarkMas 2
потому что $_SERVER[ 'DOCUMENT_ROOT' ] на разных серверах может быть со слешем на конце и без него
а __DIR__ при единой точке входа всех запросов это хорошо потому что единая точка входа)) (фронт-контроллер)
и
константа имеет суперглобальную область видимости а переменная нет(ROOT vs $root)
---
по вопросу 2 - пофиг
как нравится
5. Мелкий - 07 Марта, 2015 - 10:07:14 - перейти к сообщению
LIME пишет:
$_SERVER[ 'DOCUMENT_ROOT' ] на разных серверах может быть со слешем на конце и без него

Это мелочи. А вот то, что указывать может куда угодно вместо действительного положения скрипта - вот это проблема. Например, это штатное поведение для модуля vhost_alias ( http://habrahabr[dot]ru/post/129900/ )
Имея альтернативы $_SERVER[ 'DOCUMENT_ROOT' ] использовать не надо.

 

Powered by ExBB FM 1.0 RC1