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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос о include

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
DarkMas
Отправлено: 07 Марта, 2015 - 06:07:44
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Янв. 2015  


Помог: 0 раз(а)




Копался я во многих 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.  

(Отредактировано автором: 07 Марта, 2015 - 06:16:44)

 
 Top
DelphinPRO
Отправлено: 07 Марта, 2015 - 06:35:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Какие-то странные вопросы у вас возникают в процессе изучения php...

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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DarkMas
Отправлено: 07 Марта, 2015 - 07:15:09
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Янв. 2015  


Помог: 0 раз(а)




DelphinPRO пишет:
Какие-то странные вопросы у вас возникают в процессе изучения php...

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

тем лучше)
 
 Top
LIME
Отправлено: 07 Марта, 2015 - 08:05:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




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



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LIME пишет:
$_SERVER[ 'DOCUMENT_ROOT' ] на разных серверах может быть со слешем на конце и без него

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


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB