Автозагрузка классов в Yii 2.X как в Yii 1.X
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
denis909, в любой современной IDE вам итак не придётся запоминать пути, потому что IDE сама их вставляет во время автокомплита. Если не секрет, какой IDE пользуетесь?
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Блокнотом пользуюсь с подсветкой кода, иногда Netbeans, но очень по настроению, даже не на всех компах он установлен, с которых приходится работать.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
ИМХО, это и есть источник ваших неудобств (:denis909 писал(а):Блокнотом пользуюсь с подсветкой кода, иногда Netbeans, но очень по настроению, даже не на всех компах он установлен, с которых приходится работать.
Попробуйте перейти на хорошую IDE.
Рекомендую: https://www.jetbrains.com/phpstorm/download/
В IDE неймспейсы автоматом прописываются.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
ну а мне не проблема яйца себе отрезать. Обезбаливающим обкололся и начал пилить. Даже смешно будет.denis909 писал(а):Но для меня не проблема добавить components.* и models.* в IDE, вручную
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
интересно каким бы словом меня назвали те, кто поддерживали бы за мной такой проект.denis909 писал(а):Вообще, изначально цель была как можно меньшими усилиями использовать некоторый код из Yii 1.X в Yii 2.X, но то что получилось мне понравилось, очень удобно, поэтому и для новых приложений такой подход имеет место быть.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
удобно иметь в двух модулях два \DefaultController, отслеживая почему оно не работает?denis909 писал(а):Мне нравится не столько то что идет экономия на лишних символах, а то что код получается "чистый", и если переопределить файлы фреймворка то можно не запоминать пути, ну удобно же.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
ВСЕ ЯСНО!!!denis909 писал(а):Блокнотом пользуюсь с подсветкой кода, иногда Netbeans, но очень по настроению, даже не на всех компах он установлен, с которых приходится работать.
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
Мое скромное расширение на холивар не тянет, кому не нравиться - не использует, но если кому-то пригодится - буду рад.
А то что такие будут у меня сомнений нет, т.к. первая ветка фреймворка потихоньку начинает отмирать, а расширение помогает в относительно быстром портировании проектов из 1.X в 2.X, а время как известно дорогого стоит.
Большинство из отписавшихся, такое ощущение, что с первой версией вообще не работали, и считают это какой-то неудобной древностью, хотя это не так. Версия фреймворка 2.X появилась благодаря тому, что множество народу нашло первую версию великолепной, и очень удобной, а послушать народ, так можно подумать, что хуже ничего и придумать нельзя.
А то что такие будут у меня сомнений нет, т.к. первая ветка фреймворка потихоньку начинает отмирать, а расширение помогает в относительно быстром портировании проектов из 1.X в 2.X, а время как известно дорогого стоит.
Большинство из отписавшихся, такое ощущение, что с первой версией вообще не работали, и считают это какой-то неудобной древностью, хотя это не так. Версия фреймворка 2.X появилась благодаря тому, что множество народу нашло первую версию великолепной, и очень удобной, а послушать народ, так можно подумать, что хуже ничего и придумать нельзя.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
работаю каждый день по работеdenis909 писал(а):Большинство из отписавшихся, такое ощущение, что с первой версией вообще не работали
нет, это такdenis909 писал(а):и считают это какой-то неудобной древностью, хотя это не так
именно, что наоборот)denis909 писал(а):Версия фреймворка 2.X появилась благодаря тому, что множество народу нашло первую версию великолепной, и очень удобной
это верно. Трудно найти хуже.denis909 писал(а):послушать народ, так можно подумать, что хуже ничего и придумать нельзя.
Из скайпа:
[20:33:06] <xxx>: в конторе чудачек, под полтиник лет сидит на зенде 1, строит всех разрабочтиков.
[20:33:12] <xxx>: наркоман.
[20:33:40] Александр Зеленин: мозг то уже закостенел. понимает, что если отпустит зенд, то может новую технологию и не осилить
[20:34:31] <xxx>: типа говорит, что на нем все быстрее и типа вообще никак его не отучить. А то походу тим лид или еще кто. ну это я через менеджера вел разговор. Ну удивился типа очень.
Последний раз редактировалось zelenin 2016.01.26, 22:09, всего редактировалось 1 раз.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Человек просто не использовал IDE (неясно, в силу каких причин), это не преступление.
Ознакомиться с IDE ему уже порекомендовали.
Немного потроллили
К чему дальнейший тред и уколы в сторону автора - неясно (тем более с участием модератора).
Ознакомиться с IDE ему уже порекомендовали.
Немного потроллили
К чему дальнейший тред и уколы в сторону автора - неясно (тем более с участием модератора).
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
я много видел людей, не использующих ПХПСторм - какая разница, меня устраивает notepad++, ваш ИДЕ запускается 10 секунд, слишком много фич, страшно итд. Но не видел ни одного, кто бы не подтверждал, что был дураком до того, как начал использовать.rugabarbo писал(а):Человек просто не использовал IDE (неясно, в силу каких причин), это не преступление.
Ознакомиться с IDE ему уже порекомендовали.
Немного потроллили
К чему дальнейший тред и уколы в сторону автора - неясно (тем более с участием модератора).
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Все точки над i расставлены. Он не использует IDE, и поэтому лично для него это решение удобно.
Зачем его дальше раскручивать на холивар и пытаться поддеть?
Я вот этого не особо понимаю.
Мне казалось, начнёт ли он использовать IDE - это уже его личное дело. Разве нет? (: Или нужно психологически допрессовывать, вдавливать его в асфальт, пока он не пришлёт скрины запущенной IDE и не удалит эту тему?
Зачем его дальше раскручивать на холивар и пытаться поддеть?
Я вот этого не особо понимаю.
Мне казалось, начнёт ли он использовать IDE - это уже его личное дело. Разве нет? (: Или нужно психологически допрессовывать, вдавливать его в асфальт, пока он не пришлёт скрины запущенной IDE и не удалит эту тему?
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
По результатам обсуждения, я понял что из первоначального описания не совсем ясно что делает расширение, и какая его главная цель, исправляюсь:
Yii 2 в начале каждого класса контроллера обязывает писать так:
namespace app\controllers;
А написав так, все что внутри файла уже находится в локальном пространстве имен контроллеров, и ни один класс в таком контроллере нельзя использовать без его предварительно объявления через use, или без символа \ перед названием класса.
Расширение исправляет это, и позволяет работать с классами в контроллере без их предварительного объявления, т.к. с ним становится необязательно делать контроллеры в app\controllers, а можно работать в глобальном пространстве имен, как это было в первой версии.
Изначально, расширение было задумано для быстрого перевода проектов с первой на вторую версию фреймворка, чтобы избавить разработчика от необходимости в каждом контроллере выискивать вручную какие классы используются в контроллере и подключать их вручную. Однако, такой подход мне показался достаточно удобным, и я для себя допускаю делать так и новых проектах.
+ У меня вопрос к знатокам IDE, я понимаю что оно подключает нужные классы автоматически, в момент когда я их первый раз использую в контроллере. А когда мы говорим про уже написанный код, например у меня есть контроллер в котором используется много классов. Что я должен нажать в IDE, чтобы оно для всех классов написало в начале файла:
use app\models\Post;
и т.п.?
Думаю ответ будет узнать интересно не только мне, но и тем кто раздумывает над тем использовать ли расширение, или переписать все с нуля.
Было бы интересно узнать как это делать в бесплатных IDE в частности, например Netbeans, а не только в Phpstorm, хотя как это делать в нем думаю тоже будет кому-то интересно.
Yii 2 в начале каждого класса контроллера обязывает писать так:
namespace app\controllers;
А написав так, все что внутри файла уже находится в локальном пространстве имен контроллеров, и ни один класс в таком контроллере нельзя использовать без его предварительно объявления через use, или без символа \ перед названием класса.
Расширение исправляет это, и позволяет работать с классами в контроллере без их предварительного объявления, т.к. с ним становится необязательно делать контроллеры в app\controllers, а можно работать в глобальном пространстве имен, как это было в первой версии.
Изначально, расширение было задумано для быстрого перевода проектов с первой на вторую версию фреймворка, чтобы избавить разработчика от необходимости в каждом контроллере выискивать вручную какие классы используются в контроллере и подключать их вручную. Однако, такой подход мне показался достаточно удобным, и я для себя допускаю делать так и новых проектах.
+ У меня вопрос к знатокам IDE, я понимаю что оно подключает нужные классы автоматически, в момент когда я их первый раз использую в контроллере. А когда мы говорим про уже написанный код, например у меня есть контроллер в котором используется много классов. Что я должен нажать в IDE, чтобы оно для всех классов написало в начале файла:
use app\models\Post;
и т.п.?
Думаю ответ будет узнать интересно не только мне, но и тем кто раздумывает над тем использовать ли расширение, или переписать все с нуля.
Было бы интересно узнать как это делать в бесплатных IDE в частности, например Netbeans, а не только в Phpstorm, хотя как это делать в нем думаю тоже будет кому-то интересно.
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
alt+enter => Import namespace в PhpStorm.
- BrusSENS
- Сообщения: 565
- Зарегистрирован: 2012.07.26, 06:51
- Откуда: Новороссийск
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Был у нас php 4, хотели 5... Появились неймспейсы в 5.3 - хотим теперь как в паскале... Не, ну а чё, так и живём...
P.S.: Советую автору присмотреться к паскалю, думаю ему понравится
P.S.: Советую автору присмотреться к паскалю, думаю ему понравится
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Режим обслуживания сайта для Yii 2.x.x
- denis909
- Сообщения: 103
- Зарегистрирован: 2009.04.02, 16:04
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Обновил файлы расширения, теперь оно разделено на 2 независимых расширения, призванных решать разные задачи.
1. Автозагрузчик классов в глобальном пространстве имен (без неймспейсов), как это было сделано в первой версии.
https://github.com/denis909/yii2-autoload-classes
2. Возможность делать контроллеры в глобальном пространстве имен.
https://github.com/denis909/yii2-global-controllers
Также, были сделаны некоторые доработки:
1. Загрузка контроллеров теперь возможна из модулей.
2. Все классы расширения теперь доступны через неймспейсы и PSR-2 автозагрузчик composer.
3. Для указания путей автозагрузки теперь используется родной для Yii2 синтаксис для alias'ов.
4. Автозагрузка классов теперь реализована в виде обычного копонента и не требует переопределения класса приложения.
1. Автозагрузчик классов в глобальном пространстве имен (без неймспейсов), как это было сделано в первой версии.
https://github.com/denis909/yii2-autoload-classes
2. Возможность делать контроллеры в глобальном пространстве имен.
https://github.com/denis909/yii2-global-controllers
Также, были сделаны некоторые доработки:
1. Загрузка контроллеров теперь возможна из модулей.
2. Все классы расширения теперь доступны через неймспейсы и PSR-2 автозагрузчик composer.
3. Для указания путей автозагрузки теперь используется родной для Yii2 синтаксис для alias'ов.
4. Автозагрузка классов теперь реализована в виде обычного копонента и не требует переопределения класса приложения.
- BrusSENS
- Сообщения: 565
- Зарегистрирован: 2012.07.26, 06:51
- Откуда: Новороссийск
- Контактная информация:
Re: Автозагрузка классов в Yii 2.X как в Yii 1.X
Да перестаньте гробить новичков этим бредом. Уже php7 на дворе, а вы всё не можете с пространствами подружиться.
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Режим обслуживания сайта для Yii 2.x.x