Yii Composer

Не судите строго с документацией у меня тяжко!

Первый раз что то подобное делаю!

И это тестовый вариант

Когда вплотную начал разбираться с Composer нашёл пару готовых решений но они все предлагают устанавливать пакеты в очень неприятные места мне не очень нравился вариант с путём vendor.username.pak.и_ещё_чёт задался вопросом можно ли собрать в родные папки оказалось можно и довольно приятно один минус сторм не делает эти библиотеки внешними

кароче попробуйте тест если не лень и отпишитесь заранее спасибо

https://github.com/MihailDev/yiicomposer

идея ещё тут дописать работу с миграциями (то есть полноценную инсталляцию проекта) но за 2 дня я больше не успел и подумал что лучше узнать вообще об этом всём другое мнение

Статьи по теме:

http://tvorzasp.com/blog/prostoe-ispolzovanie-composer-v-yii/

http://www.yiiframework.com/wiki/392/creating-yii-applications-with-composer/

http://habrahabr.ru/post/145946/

просветите — что за композер и с чем его едят?

Composer - это пакетный менеджер работающий на пхп и умеющий правильно собирать проект на основе инструкций он умеет работать с большинством VCS а также просто с простыми зип пакетами и ещё одно он умеет хорошо работать с версиями и зависимостями тоесть он сам стянет всё что нужно для правильной работыпакета

пс тем самым сильно упрощается сборка инструментов для работы над проектом

типа аналог джававского Apache Ant или Apache Maven ?

это он?

да

это наработка основанная на готовом исталлере для копосера

A Multi-Framework Composer Library Installer - в нем не проработана работа с yii

В Yii2 Composer очень широко используется.

Ну до Yii2 над ещё дожить! я понимаю что там реализован по полной PSR-0 что в свою очередь упрощает жизнь для Composer!

И кстате когда можно примерно ждать первой стабильной версии?

хм… а где?

я понимаю, когда разработка web-приложения идет на Java, то там действительно надо собрать проект по определенным правилам - то есть, как минимум, скомпилировать классы и упаковать их в war-файл, который затем будет развернут на сервере приложений или контейнере сервлетов

то есть есть явный период подготовки "сырого кода" в "код для приложения" с дальнейшим диплоингом

но php ведь ничего не компилирует… [color="#FF0000"]чего во что собирать?[/color]

p.s. не слишком ли усложняется процесс разработки на php? или Yii движется в сторону мультиязыкового фреймворка для разработки приложений не только под web-сервера? или будет подобие PhoneGap?

этот плюшка просто упрощает стягивание всяких дополнений она не предназначена для сложного компилинга! ты когда кодиш просто добавляеш необходимый компонент в фаил composer.json один запуск с консоли и вуаля у тебя всё стои а так лезть качать распаковывать правильно!!! composer всё это делает за тебя!!! просто добавь запись и запусти!!!

ну не знаю, не знаю… оно конешно все должно развиваться, оптимизироваться и совершенствоваться, но ведь появятся новые правила игры - типа обязательного осваивания правил формирования composer.json и знания консольных команд со всеми возможными вариациями их аргументов…

и на вопрос что будет проще - ответ не очевиден…

вот это = жесть = отсюда


{

    "require":{

        "php":">=5.3.0",

        "silex/silex":"dev-master",

        "twig/twig":">=1.8,<2.0-dev",

        "mycompany/superlogger":"dev-master",

        "pqr/superlib":"1.2.3"

    },

    "repositories":[

        {

            "type":"git",

            "url":"http://github.com/pqr/superlogger"

        },

        {

            "type":"package",

            "package":{

                "name":"pqr/superlib",

                "version":"1.2.3",

                "source":{

                    "type":"git",

                    "url":"http://github.com/pqr/superlib",

                    "reference":"master"

                },

                "autoload":{

                    "classmap":["timer.php"],

                    "files":["lib_functions.php"]

                }

            }

        }

    ]

}

нет ты немного не прав Composer это дополнение а не обязаловка просто с ним можно довольно удобно сформировать проект я ещё планировал всунуть туда работу с миграциями это бы наверно довело бы проект до совершенства но мне над понять как более правильно формировать структуры папок точнее как было бы более удобнее мне просто ну очень не нравятся когда в структуре папок присутствуют никнэймы чьи то

да я и не против этого композера… вырвалось по привычке… ;D

просто имел "удовольствие" реализовать web-проект на Java и имею не положительное мнение об этом процессе

там сборка проекта была актуальной, хотя и автоматизированной на уровне IDE

архитектура приложения — это святое! желаю всяческих успехов!

Я надеюсь на весну, но там уж как пойдёт…

styleroom, вы путаете Composer и Ant/Phing. Это совершенно разные штуки. Composer просто штука для автоматического вытягивания актуальных версий Yii, расширений и другого полезного кода. Там всего две распространённые команды и ставить его каким-то особым образом не надо.

ну ок

Раз пошла такая пьянка - а насколько тесно будет завязан yii2 c composer?

Вы говорили что будет standalone архив фреймворка, но не будет ли такого как в symfony2 где подключение бандла без композера превращается в кошмар.

Какие будут требования к композеру? Нужен будет ли ext-intl или хотя бы libicu. Будет ли переключение требований версии данной библиотеки, или нужно будет ставить dev и разрабатывать на локальной машине?

У меня от использования композера остались только отрицательные эмоции, так как минусы очень сильно перевесили.

Да и самый важный момент - что делать людям на шаред хостингах без ssh доступа? Придется это все делать на локалке,

а если это windows - то это очень неприятно, плюс установить необходимые зависимости (те же git и svn), и даже в этом случае если все это проделали - композер работает через раз.

Из плюсов все таки можно отметить легкость в управлении расширениями, при наличии нормального сервера с ssh (желательно самому же его и админить ибо libicu-dev врятли ктото поставит), и еще очень хорошо для работы в команде или развертывании на новом месте.

Вообщем чувствую придется скоро переходить, так сказать добровольно-принудительно.

Ну почему всё так страшно и ужасно! я работаю с IDE PHPStorm в нем прекрасно проработан как работа с гитом так и с компосером! по поводу ssh это конечно проблема но я думаю что можно будет сделать и плюшку для установки и без ssh но это над брать в оборот я всего навсего хочу получить инструмент для логичной и простой сборки инструментов с которыми я буду работать в проекте хотя бы локально!

Я практически на 100% уверен что не насколько! Но так как компосер набирает обороты то конечно разрабы постараются учесть данный момент!

я так понял что уже есть плюшка для установки на компосере Yii2

https://github.com/yiisoft/yii2-composer

Но опять же повторюсь компосер это не обязательно! Всё по желанию мне лично понравилось собирать проект нажатием клавиши другое дело как он собирает!!! вот над этим и тружусь!

Ага сейчас yii2 доступен только через композер, но обещали что будет архив ближе к релизу. Пробовал на шаред хостинге пару месяцев назад, без композера пришлось повозится (да и неуверен что все работало), за выходные таки yii2 поднял, хотя Александр говорил что пока нельзя без композера(да и это правда, не советую пробовать).

Надо будет таки пересилить лень и поставить нормально yii2, да и посмотреть что к чему. Много чего перешло из симфони2, оно то и правильно, так как они наступали уже на все эти грабли и повторять ошибки не стоит, вот если перейдет и работа с композером из симфони, придется делать все на локалке или брать себе сервер.

IDE у меня nuSphere, и насколько я понял там нет как таковой работы с композером(да и ненужна она, все равно работаем через ssh, да и 20 команд всего из которых используются 3 в основном). Кстати перешел с phpStorm - рекомендую посмотреть, если все настроите - за уши не оттянешь.

Возможно меня просто настораживают перемены, ведь все равно придется использовать композер в скором будущем (надеюсь релиз будет зимой ::) - новая платформа тогда будет на новой версии)

я подозреваю что Yii2 на данный момент без комосера не ставится потому что проект разделён на части для более удобной работы вот и всё! но на гитхабе видел все зависимости так что компосер должен суметь всё правильно собрать хотя хз!

но тут мы сейчас не о том говорим всё так я хотел бы узнать как лучше формировать папки

как реализация по модулям и экстеншинам или над всё всётаки вынести в папку vendor

допустим с такими путями protected/vendor/modules/name и protected/vendor/extensions/name

или вообще бросать это гиблое дело))

Выносите в vendors. Особенно модули, очень удобно выходит, да и extensions тоже туда можно.

А вообще это дело вкуса, как нравится так и делайте.

Хотелось бы узнать мнение окружающих!