![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
В последнее время с талкиваюсь с всё частым обращением к __autoload()
Но в тоже время появилось два противоположных мнения: или очень положительное или очень отрицательное. Именно нейтральных не особо много. Вот и хотелось бы узнать, что такого "хорошего" и что такого "плохого" в этой __autoload()? Ну или проще, использовать ли мне это в своих проектах? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Absinthe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Я отрицательно к ней отношусь: нельзя несколько функций назначить.
Положительно отношусь к spl_autoload_register и не вижу ни одной причины ее не использовать. |
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
нету минусов это только удобство
минус если и есть то маленький регистр зависимый названия файла и пусть где лежат файлы. Absinthe не согласен из любой ситуации есть выход. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
а как это всё же правильнее использовать (лучше на примере)?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Даже из ситуации, когда подключаемый к сайту сервис сам устанавливает __autoload ? spl_autoload_register вместо __autoload просят применять даже на php.net. Нужна ли простому php-шнику ещё какая-то рекомендация? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
т.е. я по идее могу забыть о своих способах подключения классов и использовать это?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Да. Если нет необходимости поддерживать php-4, то нет никакого смысла не использовать встроенные в язык средства. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
ну а в чём же её приимущества по сравнению с самописными средствами?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Gold Dragon, в том что тебе дается нативная поддержка автозагрузки, то есть достаточно написать так:
|
|||
|
||||
| Absinthe |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Ну и еще в том, что написание аналогов стандартных функций всегда считается ###кодом, т.к. всегда ухудшает читаемость и поддержку кода. |
||||||
|
|||||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Не согласен, так как нужно исходить из задачи и требований, на хабре по моему была статейка где описывалась как раз такая ситуация, где нативное решение пришлось заменить своим. Не будь хамом плиз. Это сообщение отредактировал(а) krundetz - 19.1.2012, 13:18 |
|||
|
||||
| Absinthe |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
|
||||
|
|||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Просто поясню с чем я не согласен. А именно со словом всегда, вот в этом предложение: В контексте же задачи топика безусловно это не оправдано. ну значиться я не понял. |
|||
|
||||
| Absinthe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Если что-то имеет дополнительный функционал - то это уже не аналог. |
|||
|
||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Вообщето многие опытные программисты и разработчики вроде Макконнелла и т.д.(специализирующиеся по "чистому коду") очень рекомендуют задавать явное подключение и разброс подключений по функциям, файлам и тем более классам крайне не желателен. Я согласен впринципе с ними, так как если поддержку, или чего хуже расширение системы, проводит сторонний разработчик или группа разработчиков (да ещё с более низкой специализацией) автолоад может несолько усложнить понимание архитектуры. Всегда желательно явная архитектура особенно в подключаемых файлах. Мало того фактически подключение ведётся в зависимости от абстракции, то есть в индексном файле - окружение, в фабриках - определённые классы абстракций, а использовать функцию для отдельного аспекта как то не резон, лучше всё таки определить это место явно впереди инстанцирования или в индексном файле.
При различных видах подключений файлов определённых абстракций приходится обрабатывать ошибки по своему иногда, автолоад является универсальной и не даёт той гибкости, ещё один момент. Это сообщение отредактировал(а) Sentox - 19.1.2012, 23:54 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |