![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
что-то я почитал про автозагрузчики, и видимо не понял глобальной идеи
мне нужно, чтобы при использовании класса он уже был в загружен (а он сидит в отдельном файле, так как не факт, что понадобится) допустим, перед тем местом где я его собираюсь использовать, я делаю так:
но вот бы ещё неплохо запустить этот класс. то есть засунуть в этот метод ещё и:
понимаю, что сие можно сделать только через call_user_func(), так как требуется ещё и аргументов неопределённое число туда закинуть вопрос: а не делаю ли я велосипед с квадратными колёсами? |
||||
|
|||||
CruorVult |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 868 Регистрация: 24.9.2008 Где: г.Киев, Украина Репутация: 9 Всего: 28 |
http://php.net/manual/ru/language.oop5.autoload.php
Добавлено через 32 секунды
аа))) Добавлено через 1 минуту и 14 секунд пару строк кода - это впринципе не велосипед |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
spl_autoload
Внизу в комментариях примеры разных применений и настроек.
после описания класса, внизу приписать инициализацию? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
z-END, ужасный пример, кошмар просто. Еще и eval туда вписали.
|
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
eval - это не тру.
Добавлено через 5 минут и 58 секунд bars80080, тоже сталкивался с этим. красивое решение не нашел, поэтому добавляю в класс метод init() -------------------- Amazing ![]() |
|||
|
||||
ksnk |
|
||||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Когда я решал подобную задачу - основной проблемой, почему я не пользовался стандартным autoload было то, что у меня были несколько файлов - "библиотек" классов. В одном файле - много маленьких классиков. Понятно, что Zend рекомендует именно один класс на файл, но что за дела? Почему я ОБЯЗАТЕЛЬНО должен хранить 40 файлов на 20 строк, вместо одного на 800? Почему стандартные средства автолода не могут такого?
вот так указываются, из каких файлов и каких каталогов брать "нестандартные" классы и плагины
применение в рантайм
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||||
|
|||||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
такой способ многие фр-ки используют. но если параметров 20? то ужас же -------------------- Amazing ![]() |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Это пИсано было для себя и под себя. А у меня, если параметров больше 2-х, то передается ассоциированный массив. А как еще? eval'ом пользоваться - указатели не удастся передать, да и некошерно. Reflection'ы сильно утяжеляют реализацию... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
собсно по этому я в примере eval и написал. хочешь автоматизацию - плати за скорость) -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
z-END, eval - ОЧЕНЬ медленная функция. Платить скоростью за скорость - не окупится
![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
gta4kv |
|
||||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
А теперь, объясните мне, чем не подходит autoload под цели описанные bars80080?
Добавлено через 4 минуты и 28 секунд bars80080,
Так а в чем смысл автолоада, ты думаешь? Рассмотрим на твоей задаче, делаем автолоад:
Потом ты в коде делаешь, например:
Какие проблемы? |
||||||
|
|||||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
... ( не подумал, сорри )
![]() Это сообщение отредактировал(а) ksnk - 8.11.2011, 10:57 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
и?
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
gta4kv, У меня это текст еще с 4-ки. Там просто не было автолода...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |