Такое ощущение что мы с вами на разных языках разговариваем через переводчик с/на китайский. Вы постоянно обвиняете меня в каких то вещях которые придумваете сами. Да, я не видел ни в какой CMS чтобы для установки плагина надо копатья в каком-бы то ни было коде. В том числе и в моей системе не приходится этого делать. Выше я расписал конкретные действия которые надо сделать чтобы установить модуль в систему, и ковыряние в автозагрузке среди них не было. Вы в этом же предложении пишете что все через админку, а потому про какие-то конфиги. Потрудитесь объяснить, к чему вы вообще это пишете? Кто и когда должен копаться в коде автозагрузки? Что такое для вас код автозагрузки?zelenin писал(а): ↑2017.02.05, 14:44 для какой цели используется ваше расширение при установке плагина, если плагин может сам себе загрузить с помощью 5 строк? зачем здесь вообще программист, если плагин можно установить из админки? Неужели в какой-то cms вы видели, что для установки плагина надо еще копаться в коде для автозагрузки классов?
Автозагрузка классов в Yii 2.X как в Yii 1.X
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Черным по белому пишу что расшиерние для автозагрузки классов, а вы меня спрашиваете как оно поможет при установке плагина...zelenin писал(а): ↑2017.02.05, 14:44 для какой цели используется ваше расширение при установке плагина, если плагин может сам себе загрузить с помощью 5 строк? зачем здесь вообще программист, если плагин можно установить из админки? Неужели в какой-то cms вы видели, что для установки плагина надо еще копаться в коде для автозагрузки классов?
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
не надо защищаться. Я написал ранее, что хочу понять о чем тут вообще, поэтому задаю наводящие вопросы.denis909 писал(а): ↑2017.02.05, 14:51Такое ощущение что мы с вами на разных языках разговариваем через переводчик с/на китайский. Вы постоянно обвиняетеzelenin писал(а): ↑2017.02.05, 14:44 для какой цели используется ваше расширение при установке плагина, если плагин может сам себе загрузить с помощью 5 строк? зачем здесь вообще программист, если плагин можно установить из админки? Неужели в какой-то cms вы видели, что для установки плагина надо еще копаться в коде для автозагрузки классов?
viewtopic.php?f=28&t=35027&start=80#p209815
тут вы написали что плагины устанавливаются из админки. На какой стадии тут участвует ваше расширение и зачем оно вообще нужно в контексте данного кейса?
когда вы вызываете какой-то класс, этот класс должен быть в поле видимости проекта - либо заинклужен напрямую либо заинклужен через функцию автозагрузки (spl_autoload)
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
плагин сам себя может и должен - он же плагин - автозагрузить. зачем тут отдельное расширение?denis909 писал(а): ↑2017.02.05, 14:56Черным по белому пишу что расшиерние для автозагрузки классов, а вы меня спрашиваете как оно поможет при установке плагина...zelenin писал(а): ↑2017.02.05, 14:44 для какой цели используется ваше расширение при установке плагина, если плагин может сам себе загрузить с помощью 5 строк? зачем здесь вообще программист, если плагин можно установить из админки? Неужели в какой-то cms вы видели, что для установки плагина надо еще копаться в коде для автозагрузки классов?
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Нам тут больше не в чем разбираться. Вы сказали что для каждого плагина где есть классы без НС вы бы сделали свою функцию spl_autoload. В итоге в проекте с данным кейсом, у вас было бы подклюено несколько десятков spl_autoload функций. Я же для решения данной задачи предлгаю воспользоваться одним spl_autoload автозагрузчиком, который подключен в приложении, и в который плагины динамически добавляют свои пути в процессе инициализации плагина. Я предожил свое решение, вы своё.
У меня нет для вас другого ответа, зачем нужно отдельное расширение, если для вас десяток spl_autoload функций это норма .
У меня нет для вас другого ответа, зачем нужно отдельное расширение, если для вас десяток spl_autoload функций это норма .
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Принято.
Резюме: расширение нужно для того, чтобы вынести автозагрузку плагинов из плагинов в сторонее расширение. Таким образом клиент плагина должен предварительно установить загрузчик классов плагина и сконфигурировать его, как, если бы вы ваш плагин для вордпресса требовал предустановить еще один плагин для своей работы. Объясняется это минимизацией кол-ва зарегистрированных в системе автозагрузчиков (тестов конечно ТС не делал).
Мое мнение: с таким дизайном системы я не согласен - это оверхед для моего user experience как клиента плагина, не дающий видимого прироста производительности.
Дело закрыто.
Резюме: расширение нужно для того, чтобы вынести автозагрузку плагинов из плагинов в сторонее расширение. Таким образом клиент плагина должен предварительно установить загрузчик классов плагина и сконфигурировать его, как, если бы вы ваш плагин для вордпресса требовал предустановить еще один плагин для своей работы. Объясняется это минимизацией кол-ва зарегистрированных в системе автозагрузчиков (тестов конечно ТС не делал).
Мое мнение: с таким дизайном системы я не согласен - это оверхед для моего user experience как клиента плагина, не дающий видимого прироста производительности.
Дело закрыто.
-
- Сообщения: 977
- Зарегистрирован: 2014.08.27, 21:54
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Как я понял (и понял ли?)
- Есть в проекте одна папка "Modules" с модулями от ПС и без NS.
- Это расширение сканирует ее и добавляет классы а глобальное пространство.
- Создается новый модуль, ставится из админки, распаковывается в эту папку "Modules" и вроде как работает.
- Но так и не остался прояснен вопрос. Делаем n+1 модуль для новой ПС. Она дала вам библиотеку, в которой есть класс Payment. Этот же класс присутствует в другом модуле. Как тогда?
Мне вы рекомендовали называть по другому. Но сами же писали, что библиотеки Вы править не можете и тп...
- Есть в проекте одна папка "Modules" с модулями от ПС и без NS.
- Это расширение сканирует ее и добавляет классы а глобальное пространство.
- Создается новый модуль, ставится из админки, распаковывается в эту папку "Modules" и вроде как работает.
- Но так и не остался прояснен вопрос. Делаем n+1 модуль для новой ПС. Она дала вам библиотеку, в которой есть класс Payment. Этот же класс присутствует в другом модуле. Как тогда?
Мне вы рекомендовали называть по другому. Но сами же писали, что библиотеки Вы править не можете и тп...
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Я думаю, что рассмотрения одного кейса недостаточно, чтобы делать выводы о том для чего необходимо расширение в целом. Это был конкретный пример использования, один из множества. Давайте остановимся на том, что расширение для автозагрузки классов в глобальном пространстве имен, необходимо для того чтобы загружать классы в глобальном пространсте имен. Все остальное - это примеры использования, которые были использованы в нашем диалоге, но не имеют прямого отношения к описанию расширения в целом. Это просто SPL автозагрузчик классов из Yii 1, и не более.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
для этого есть composer, как универсальный загрузчик. второй загрузчик не нужен в системе. Во времена yii1 композера не было.
Последний раз редактировалось zelenin 2017.02.05, 15:51, всего редактировалось 1 раз.
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Я вам не рекомендовал называть по другому. Вы меня спросили как бы назывались классы, если бы были бы без NS. Я вам ответил на этот вопрос. Потом я неоднократно писал что не призываю писать бездумно все классы без NS. В конеретном примере мы рассмотрели случай, что библиотеки из стороних источников и нужно минимизировать их доработки. В случае наличия класов в разных ПС с одним названием, то в одной из систем придется что-то переименовывать, или выносить в неймспейсы, это же очевидно. Если теоретическая возможность возникновения такого случая для вас является поводом чтобы без повода лопатить сотни чужих классов, а потом при каждом их обновлении лопатить их снова, флаг вам в руки. Я же поменяю вызвоы только одного конфликтного класса, но ваше право делать иначе, если конечно ваши заказчики готовы это финансировать.Loveorigami писал(а): ↑2017.02.05, 15:33 Как я понял (и понял ли?)
- Есть в проекте одна папка "Modules" с модулями от ПС и без NS.
- Это расширение сканирует ее и добавляет классы а глобальное пространство.
- Создается новый модуль, ставится из админки, распаковывается в эту папку "Modules" и вроде как работает.
- Но так и не остался прояснен вопрос. Делаем n+1 модуль для новой ПС. Она дала вам библиотеку, в которой есть класс Payment. Этот же класс присутствует в другом модуле. Как тогда?
Мне вы рекомендовали называть по другому. Но сами же писали, что библиотеки Вы править не можете и тп...
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Только что вы писали, что решили бы вопрос автозагрузки через SLP автозагрузчик, а теперь пишете опять про Сomposer. Про Composer уже все обсудили выше, вам есть что добавить по делу?
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
вы избирательно трактуете мои слова.
я же пишу: применение вижу только для плагинов. - но есть еще кейсы, кроме плагинов - отвечаете вы. - для других кейсов есть композер. - но вы же про плагины говорили про spl_autoload, а теперь опять про композер?
Вот такая вот у вас дискуссия - возвращаться к обсужденным вещам, безоносительно контекста.
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Теперь я понял вас. Вы мне изначально говорили что кейсов нет вообще, я привел вам один. Теперь вы говорите что пусть один есть, но других нет. Я не буду даже пытаться привести другие кейсы. Если есть один, то может быть и второй, а там где второй, там третий... Может быть, когда-нибудь, кто-то, кому расширение окажется полезным, и напишет нам свои кейсы сюда, как ему помогло расширение...
Хотя стоит заметить что найти их будет непросто, в остальном сам Composer использую для другого, но при этом достаточно часто сталкиваюсь с классами без неймспейсов которые надо подключить в проект из модуля (плагина).
Последний раз редактировалось denis909 2017.02.05, 16:11, всего редактировалось 1 раз.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
конечно же вы не правы. есть кейс когда вы, программист, устанавливаете либу, и мы с самого начала разговаривали в контексте этого кейса, ведь расширение ваше надо ставить программисту, и есть кейс, установки кода из админки, который никто не принимал в расчет, пока вы не указали на него. Других кейсов быть не может.denis909 писал(а): ↑2017.02.05, 16:06Теперь я понял вас. Вы мне изначально говорили что кейсов нет вообще, я привел вам один. Теперь вы говорите что пусть один есть, но других нет. Я не буду даже пытаться привести другие кейсы. Если есть один, то может быть и второй, а там где второй, там третий... Может быть когда-нибудь кто-то кому расширение окажется полезным, и он напишет нам свои кейсы, как ему помогло расширение.
то есть один кейс подразумевает доступ к коду, второй кейс не подразумевает. Все рассуждения в этой ветке шли в рамках первого кейса страницы до 4-й, т.к. установка вашего же расширения тоже происходит в рамках этого кейса.
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Если бы вы были внимательны, то заметили, что даже в этой ветке есть другой кейс. Когда доступ к коду есть, но нету доступа к командной строке. Вы постоянно делаете громкие заявления, ни на чем не основанные. Пытаетесь свою точку зрения навязать как истину. Написали бы проще - "я не могу придумать других кейсов, поэтому считаю что их не может быть".
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
домашнее задание вам: придумать как можно работать с композером "без командной строки на сервере".
смешно.
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
именно. если нет доступа к командной строке, то в проекте нет и композера. мы же обсуждали это? или пятый раз начнем обсуждение?
либо же композер есть, но используется он на дев-машинке, а результаты его выполнения заливаются по ftp.
вы любите циклиться, преподнося якобы в новом свете старые темы, за которым идут те же аргументы, что были и в первый раз.
либо же композер есть, но используется он на дев-машинке, а результаты его выполнения заливаются по ftp.
вы любите циклиться, преподнося якобы в новом свете старые темы, за которым идут те же аргументы, что были и в первый раз.
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Отсутствие композера в проекте я отказался с вами обсуждать сразу, и не обсуждал.
Теперь, когда вы это поняли, что такой вариант возможен, второй кейс мы тоже можем считать закрытым.
Вы напрочь не понимали то что я пишу вам с первого раза, и мне приходилось тот же аргумент писать другими словами, чтобы вы его поняли, а за какими-то новыми темами, вам в другой топик.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
ну так проблемы и нет. Если командной строки нет на сервере, командная строка есть на деве - значит композер есть. остаются те же варианты - а) либа и композер, б) плагин и автозагрузчик.
да нет, вы одно и то же повторяете по нескольку раз, получая от меня одинаковый фидбек. Можете еще раз прочесть мое резюме темы и удостовериться, что с его момента ничего не изменилось - как было два кейса так два кейса и осталось.