ручная работа(без Composer)
ручная работа(без Composer)
Не уверен что именно в том разделе поднимаю тему, но судя по тому что данная область не задокументирована, считаю необходимым основать ее в данном разделе.
Интересует возможность собрать приложение ручками, не готовыми решениями через Composer, а именно так как это делалось в первой версии: мы делаем скелет приложения, размещаем папку с нужной версией фреймворка в нужном нам месте, ссылаемся на него из index.php и у нас все работает. То же касательно расширений-мы должны сами их заливать и настраивать и никакой возможности подтянуть их автоматом или сменить версию.
Необходимо чтоб отсутствовало всякое присутствие всех ненужных нам папок в vendor кроме yiisoft и необходимых продукту заказчика расширений. Так же необходимо понимание как использовать свои расширения для внутренних корпоративных решений исключив их попадание в инет и последующую установку через composer(вспоминаем что его у нас не должно быт).
Убедительная просьба не переубеждать пользоваться composer'ом, это основной момент при выборе фреймворка для перехода с первой версии которая вполне подходит за исключением понимания что с появлением второй версии, работа над первой вступает в фазу затухания.
Кстати, если я верно понял, пропал функционал WsdlController'a и это очень плохо, так как система состоит из backend части и большого количества функциональных частей(клиентские решения на разных CMS, телефония, билинг и прочие провайдеры своей разработки) которых связывает одно - общение через авторизованиый WSDL
Интересует возможность собрать приложение ручками, не готовыми решениями через Composer, а именно так как это делалось в первой версии: мы делаем скелет приложения, размещаем папку с нужной версией фреймворка в нужном нам месте, ссылаемся на него из index.php и у нас все работает. То же касательно расширений-мы должны сами их заливать и настраивать и никакой возможности подтянуть их автоматом или сменить версию.
Необходимо чтоб отсутствовало всякое присутствие всех ненужных нам папок в vendor кроме yiisoft и необходимых продукту заказчика расширений. Так же необходимо понимание как использовать свои расширения для внутренних корпоративных решений исключив их попадание в инет и последующую установку через composer(вспоминаем что его у нас не должно быт).
Убедительная просьба не переубеждать пользоваться composer'ом, это основной момент при выборе фреймворка для перехода с первой версии которая вполне подходит за исключением понимания что с появлением второй версии, работа над первой вступает в фазу затухания.
Кстати, если я верно понял, пропал функционал WsdlController'a и это очень плохо, так как система состоит из backend части и большого количества функциональных частей(клиентские решения на разных CMS, телефония, билинг и прочие провайдеры своей разработки) которых связывает одно - общение через авторизованиый WSDL
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: ручная работа(без Composer)
Выкидывать Composer не рекомендую (он умеет работать с приватными репозиториями). Огребёте.
Нравится Yii? Давайте сделаем его лучше!.
Re: ручная работа(без Composer)
лучше понять как можно композер использовать, чем пытаться работать без него.
Re: ручная работа(без Composer)
если не ошибаюсь это расширение от стороннего разработчика, а так как у нас нет времени-возможности провести его аудит, использовать его не планируем, да и логика его работы отличается от работы в первой версии(если я все верно понял)Sam Dark писал(а):https://github.com/subdee/yii2-soap-server
я думаю глупо было завязывать весь фремворк на composer, логичнее было это сделать в виде фичи...Sam Dark писал(а):Выкидывать Composer не рекомендую (он умеет работать с приватными репозиториями). Огребёте.
конкретно в данном вопросе дело не в понимании/непонимании, а в том что он для нас лишний элемент...zelenin писал(а):лучше понять как можно композер использовать, чем пытаться работать без него.
это как устанавливать Linux сервак с иксами и работать из под иксов, а не из консоли - суть мне кажется понятна
Re: ручная работа(без Composer)
верная аналогия такая: "это как работать с сервером базы данных, хотя можно данныех хранить во flat files. В данном случае БД лишний элемент. Можно сделать в виде фичи."3ton писал(а): я думаю глупо было завязывать весь фремворк на composer, логичнее было это сделать в виде фичи...
конкретно в данном вопросе дело не в понимании/непонимании, а в том что он для нас лишний элемент...
это как устанавливать Linux сервак с иксами и работать из под иксов, а не из консоли - суть мне кажется понятна
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: ручная работа(без Composer)
yii2-soap-server — стороннее расширение. Это порт с 1.1, логика вроде была та же. Мы отсматривали код, всё нормально. По крайней мере было когда у нас был RC.
Нравится Yii? Давайте сделаем его лучше!.
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: ручная работа(без Composer)
Завязаться на Composer, как по мне, прекрасная идея. Расширения те же ставить или сторонний код использовать намного проще, чем в 1.1: прописал одну строчку в composer.json, запустил команду и всё. Можно пользоваться. Никаких require, никаких конфигов...
Нравится Yii? Давайте сделаем его лучше!.
Re: ручная работа(без Composer)
1. не помню чтоб в Yii1 я использовал requireSam Dark писал(а):Никаких require, никаких конфигов...
2. конфиги как раз нам очень нужны для расширений, это позволяет указать настройки на расширения для фронта, а так же настройки работы их бэкендов с "супербэкендом"
Re: ручная работа(без Composer)
кстати очень интересна ситуация с увеличением выделяемой памяти под "Hello world!" - на сколько больше тратится из-за использования composer, bower, npm, cebe (я например никогда не ставлю LAMP сборки, а ставлю лишь необходимые мне пакеты по отдельности - не люблю лишний и не используемый мусор, тем более что этот фреймворк выбран для работ под нагрузкой отчего даже не всегда в целях экономии памяти можем ActiveRecord пользоваться)
так же не понятно назначение папок
bin
ezyang
fzaninotto
phpspec
все папки приведены из архива который качается с официального сайта для установки без компостера
так же не понятно назначение папок
bin
ezyang
fzaninotto
phpspec
все папки приведены из архива который качается с официального сайта для установки без компостера
Последний раз редактировалось 3ton 2014.11.06, 11:43, всего редактировалось 1 раз.
Re: ручная работа(без Composer)
это доказывает причину, по которой вы отказываетесь от композера - вы не знаете для чего он и как работает.3ton писал(а):кстати очень интересна ситуация с увеличением выделяемой памяти под "Hello world!" - на сколько больше тратится из-за использования composer, bower, npm, cebe (я например никогда не ставлю, а ставлю лишь необходимые мне пакеты по отдельности - не люблю лишний и не используемый мусор, тем более что этот фреймворк выбран для работ под нагрузкой отчего даже не всегда в целях экономии памяти можем ActiveRecord пользоваться)
Это менеджер зависимостей, позволяющий автоматически устанавливать библиотеки, и генерирующий автозагрузчик. Разница между ручным и автоматическим (через композер) добавлением библиотек лишь одна - автоматизм (и вытекающая из этого экономия времени).
Соответственно, композер и все, что он устанавливает, увеличивает память не более чем те же пакеты, установленные в ручную.
Re: ручная работа(без Composer)
Мой вопрос был неспроста, как минимум тут добавляется класс с методами, который к тому же и инклудит несколько файлов.zelenin писал(а): это доказывает причину, по которой вы отказываетесь от композера - вы не знаете для чего он и как работает.
Это менеджер зависимостей, позволяющий автоматически устанавливать библиотеки, и генерирующий автозагрузчик. Разница между ручным и автоматическим (через композер) добавлением библиотек лишь одна - автоматизм (и вытекающая из этого экономия времени).
Соответственно, композер и все, что он устанавливает, увеличивает память не более чем те же пакеты, установленные в ручную.
уменьшая свободную память на размер занятый этими объекто/файлами.
А теперь представьте что происходят тысячи таких обращений, как по Вашему повлияет каждый килобайт(я уже не говорю про затраты по времени на лишние инклуды если есть возможность их избежать, потому как винты в настоящее время одно из самых узких мест в производительности сервера) отнятый таким образом на общую память???
То что "гуевые" продукты ускоряют разработку - это бесспорно, но если речь идет о производительности и экономии каждого байта - стоит понимать разницу в обязательной загрузке ненужных нам в конкретно этой задаче инструментов и использование памяти без их наличия
Я не говорю что они плохи и вредны, даже более того я использую подобные решения для своих личных целей, но стоит разделять свои личные пожелания и поставленные задачи.
PS холивар на тему использовать или нет компостер считаю лишним, потому предлагаю обсудить вопрос чтоб прийти к знаменателю - можно или нет использовать Yii2 без компостера. Спасибо всем проявившим активность в обсуждении.
Re: ручная работа(без Composer)
угу, на пару килобайт.3ton писал(а):Мой вопрос был неспроста, как минимум тут добавляется класс с методами, который к тому же и инклудит несколько файлов.
уменьшая свободную память на размер занятый этими объекто/файлами.
тысяча обращений это не пара килобайт * 1000, а пара килобайт * 1.3ton писал(а):А теперь представьте что происходят тысячи таких обращений, как по Вашему повлияет каждый килобайт(я уже не говорю про затраты по времени на лишние инклуды если есть возможность их избежать, потому как винты в настоящее время одно из самых узких мест в производительности сервера) отнятый таким образом на общую память???
это не гуй. это всего лишь 6 файлов весом 10-20 кб. Причем статика, без вычислений.3ton писал(а):То что "гуевые" продукты ускоряют разработку - это бесспорно, но если речь идет о производительности и экономии каждого байта - стоит понимать разницу в обязательной загрузке ненужных нам в конкретно этой задаче инструментов и использование памяти без их наличия
Да, забыл упомянуть еще одно преимущество - автоматически ресолвит необходимые в проекте версии.
конечно можно. в чем проблема-то?3ton писал(а):PS холивар на тему использовать или нет компостер считаю лишним, потому предлагаю обсудить вопрос чтоб прийти к знаменателю - можно или нет использовать Yii2 без компостера. Спасибо всем проявившим активность в обсуждении.
вы не понимаете, что композер вам УЖЕ сгенерировал статическую версию вашего проекта. Он не использует никакой магии - просто мапит неймспейсы, классы итд, чтобы при запросе проект знал откуда какой класс достать.
Посмотрите где что он подключил и сделайте также ручками с нуля.
- chungachguk
- Сообщения: 435
- Зарегистрирован: 2012.07.17, 11:52
Re: ручная работа(без Composer)
Можно взять файлы автозагрузки композера из папки vendor/composer и заменить их своими, что в зависимости от запроса в php-ный автозагручик попадали неймспейсы только реально необходимых для выполнения запроса скриптов.
Re: ручная работа(без Composer)
Я думаю что вероятнее всего не верно сформулировал вопрос.chungachguk писал(а):Можно взять файлы автозагрузки композера из папки vendor/composer и заменить их своими, что в зависимости от запроса в php-ный автозагручик попадали неймспейсы только реально необходимых для выполнения запроса скриптов.
В первой версии чтоб подключить расширение, мне достаточно было его скопировать и расположить в папке расширений, далее прописывал в конфиге его путь и данные, а в необходимом месте лишь писал
Код: Выделить всё
$ext = Yii::app()->myExt;
$ext->process($req);
Re: ручная работа(без Composer)
так а сейчас разве не также?3ton писал(а): И только тогда он подключался и отрабатывал. И при этом никаких автолоадеров не запускалось до запроса этого расширения чтоб прописать его, он подгружался при непосредственном обращении к нему.
Re: ручная работа(без Composer)
раньше тоже был автолоадер, просто он был встроенный, и брал пути к файлам из конфига, а сейчас юзается автолоадер из композера он берет их из своего конфига.
Re: ручная работа(без Composer)
раньше были псевдонеймспейсы, совпадающие с файловым путем, и yii знал откуда грузить файл.r3verser писал(а):так а сейчас разве не также?3ton писал(а): И только тогда он подключался и отрабатывал. И при этом никаких автолоадеров не запускалось до запроса этого расширения чтоб прописать его, он подгружался при непосредственном обращении к нему.
теперь же 2014 год на дворе и библиотеки могут лежать в разных местах (неймспейс не является отражением файлового пути).
именно для этого композер генерит маппинг всего, установленного через него, к файловой системе. И это не тратит память (спички), т.к. там статические массивы.
- chungachguk
- Сообщения: 435
- Зарегистрирован: 2012.07.17, 11:52
Re: ручная работа(без Composer)
Вот
https://github.com/yiisoft/yii/blob/mas ... e.php#L400
и вот
https://github.com/yiisoft/yii/blob/mas ... e.php#L630
Во второй я ветке, насколько я понимаю, всё тоже самое, только регистрируется автозагрузчик с помощью композера
https://github.com/yiisoft/yii/blob/mas ... e.php#L400
и вот
https://github.com/yiisoft/yii/blob/mas ... e.php#L630
Во второй я ветке, насколько я понимаю, всё тоже самое, только регистрируется автозагрузчик с помощью композера
Re: ручная работа(без Composer)
и точно такая же штука в композере, только более быстрая, т.к. не ищет по файловой системе, а берет уже готовые маппинги.chungachguk писал(а):Вот
https://github.com/yiisoft/yii/blob/mas ... e.php#L400
и вот
https://github.com/yiisoft/yii/blob/mas ... e.php#L630
Во второй я ветке, насколько я понимаю, всё тоже самое, только регистрируется автозагрузчик с помощью композера