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

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

1. Dimentor - 29 Сентября, 2006 - 17:08:04 - перейти к сообщению
Не могу понять почему работает

а

вылетает с ошибкой
Fatal error!

В чем разница? По идее идентичные конструкции?
(Денвер + PHP4)
2. Dimentor - 29 Сентября, 2006 - 22:00:34 - перейти к сообщению
Все, проблема решена. Улыбка
3. Davil - 12 Октября, 2006 - 15:04:43 - перейти к сообщению
Лучше использовать require_once().
4. valenok - 15 Октября, 2006 - 17:36:29 - перейти к сообщению
Чем лучше?
5. f0rm4t - 16 Октября, 2006 - 20:26:04 - перейти к сообщению
Избавит от многократного инклуда =)
Т.е. если у тебя куча скриптов, в каждом что-то инклудится, то есть вероятность что один и тот же файл будет подключен несколько раз.
once такое предотвращает.
6. -SCHATTEN- - 16 Октября, 2006 - 21:21:23 - перейти к сообщению
ну а например скрипты типо common.php config.php там же эта ф-я оч редко используется ???
7. f0rm4t - 17 Октября, 2006 - 18:18:39 - перейти к сообщению
require_once просто предотвращает возможные ошибки, которые обычно допускают начинающие скриптеры.
Т.е. бывает что в файле index.php подключается config.php и variables.php (ну это я так, для примера), а в config.php уже подключено variables.php через include или require. Так вот include_once и require_once желательно использовать в таких ситуациях, чтобы не допускать двойного инклуда.
8. -SCHATTEN- - 17 Октября, 2006 - 21:27:06 - перейти к сообщению
Понятно спасиба Ха-ха
9. valenok - 21 Октября, 2006 - 16:53:22 - перейти к сообщению
Помнить то что делаешь, надо..
10. f0rm4t - 21 Октября, 2006 - 18:38:22 - перейти к сообщению
valenok, я заметил что ты приходишь каждый день на форум и флудиш.

Причем тут "помнить"? Большинство программистов страдают плохой памятью. И при том некоторым приходится писать по 1к строк кода за рабочий день. Разве все запомнишь?

Можно подумать что ты помнишь абсолютно все что когда-либо писал? Ни за что не поверю.

Может кто-то пишет плагин для какой-нить CMS, и на всякий случай инклудит дополнительные файлы, которые в одной версии инклудились движком, а в другой нет. Что он будет делать? Не писать ведь только для определенной версии CMS.
Вот об этом и позаботились разработчики PHP, за что им вечный респект и памятник из платины!!!
11. valenok - 23 Октября, 2006 - 18:27:05 - перейти к сообщению
Как раз не каждый день и как раз не флужу =)
Помнить всё - конечно не помню.
Сам пишу не меньше и на счёт памятника согласен =)

Но require_once всё равно пользуюсь совсем редко.
Не знаю чем он мне не нравится, но не хочется мне его как то писать.
12. f0rm4t - 23 Октября, 2006 - 19:16:37 - перейти к сообщению
Еще бы, он ведь на целых 5 байт длиннее require :-D
По идее, он должен работать медленнее чем просто require, т.к. еще идет проверка на возможность повторного инклуда. Но человеческий глаз этого воспринять не успевает, т.к. длится этот процесс очеень мало Подмигивание
13. kamaikin - 23 Октября, 2006 - 21:02:42 - перейти к сообщению
f0rm4t пишет:
По идее, он должен работать медленнее чем просто require, т.к. еще идет проверка на возможность повторного инклуда. Но человеческий глаз этого воспринять не успевает, т.к. длится этот процесс очеень мало Подмигивание

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

 

Powered by ExBB FM 1.0 RC1