
SiZE
12.12.2016
16:22:08

0x9d8e
12.12.2016
17:16:16
Не, не помогло. Половина вообще всего, что пытаюсь установить на этом падает. Придётся действительно систему грохнуть.
Хотя докер вот установился, может в нём заработает)

Anatoly
12.12.2016
18:40:44
Первая ссылка в гугле
https://ubuntuforums.org/showthread.php?t=2327343

Google

0x9d8e
12.12.2016
18:53:57
Хм. Теперь с php всё ок, установил юзи заново, vendor опять нет. Композер всячески потеребил, не помогло :(

Dmitriy
12.12.2016
20:29:00
composer -vvv install и лог на гист

Vasily
12.12.2016
20:33:48
Вы, люди, слышали о таких вещах, как Докер или Вагрант. На кой леший убивать систему?

0x9d8e
12.12.2016
20:38:48
О докере слышал и хотел даже заюзать, но решил что буду разбираться с этим дольше чем хотел бы

Dmitriy
12.12.2016
20:55:35
плагин нужен
для yii2

Константин
12.12.2016
21:16:14
Всем привет! Есть философский вопрос. Как лучше возвращать из метода/функции путь к директории? со слешем на конце или без? Например: /dir1/dir2/ или /dir1/dir2, какой вариант лучше?

Vasya
13.12.2016
04:56:09
По-моему, без. Ведь каталог — это тоже типа файл.

Bear
13.12.2016
05:28:09
Зависит от использования, но кажется есть стандарт на эту тему

SiZE
13.12.2016
05:30:46

Google

Vasya
13.12.2016
05:31:09
Это откуда такая теория?

SiZE
13.12.2016
05:31:59
ну типа в 1998 году браузеры без слеша не понимали, что им надо искать директорию :)
лан это шутко. браузеры конечно тут не причем

Александр
13.12.2016
05:36:15
я тоже со слешем
добавляешь потом имя файла и получаешь полный путь, если имя файла в переменной, то канкатенировать слеш не нужно

Vasya
13.12.2016
05:36:29

SiZE
13.12.2016
05:37:09
нафига везде добавлять черту, если ее можно по дефолту задать?

Vasya
13.12.2016
05:37:16
Если вывести $_SERVER, то можно увидеть, что все пути не содержат черту в конце.

SiZE
13.12.2016
05:37:53
Слеш это разделитель. Логично что сервер паф не содержит его
Если конфигурировать базовый путь, то удобней его со слешем указывать для последующей конкатенации со значениями

Александр
13.12.2016
05:39:30
именно так и имел ввиду

Vasya
13.12.2016
05:39:58
В конфиге MODX все пути с чертой.
Хм.

SiZE
13.12.2016
05:41:04
да это чисто соглашение разработчиков
как "не подключаться напрямую к БД, а использовать наш супер класс"

Vasya
13.12.2016
05:42:17
Наверное, да, дело вкуса.

Андрей
13.12.2016
08:40:00
Добрый день

SiZE
13.12.2016
08:40:29
Ку

Андрей
13.12.2016
08:42:35
хочу сайт на yii2 из localhost перенести в Vagrant. Цель основная отдать заказчику сайт , чтобы он его у себя локально запустил. Ну и чтобы потом было его удобно перенести на сервер(взять образ и его и поставить на сервер)

SiZE
13.12.2016
08:43:01
окей.
держи нас в курсе

Google

Андрей
13.12.2016
08:43:41
как правильнее сделать ? я вот на сайте https://puphpet.com делать думал образ.но может быть уже есть готовый образ (со всеми нужными модулями и настройками), на убунту чтобы я уже в нем изменения сделал и его и использовал
=)
https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/start-installation.md нашел =|

Виталий
13.12.2016
09:26:23
Мы используем Docker

Андрей
13.12.2016
09:58:49
спасибо за наводку, ищю инфо

0x9d8e
13.12.2016
11:02:08
Такой вопрос: есть какие-то проблемы с композером (или с руками, не могу сказать ибо не юзал его прежде), так что мне будет быстрее юи руками из архива поставить. Но. Не приведёт ли это к тому, что каждое расширение мне придётся тоже ставить руками?

Владимир
13.12.2016
11:08:18
или даже лучше поставить docker-compose и вот эту штуку от тех же авторов: https://github.com/dmstr/docker-yii2-app

0x9d8e
13.12.2016
11:12:35
В общем я сам себе негодяй безглазый. В логе он требовал ext-dom, по которому гуглится php-xml. Установил и дело пошло.
Я в yii новичок (и вообще в популярных фреймворках), гляжу на gii и думаю. Допустим сгенерил он мне нужные классы. Я их дополнил своими методами, а потом решил ещё пару[ десятков]? полей добавить. И всё. Значит мне нужно унаследовать от того, что мне gii нагенерит собственные классы моделей и править руками только их. Верно я мыслю?

Артур Евгеньевич
13.12.2016
14:09:57

Владимир
13.12.2016
14:28:23
можно и свой шаблон для gii забабахать, если требуется

0x9d8e
13.12.2016
15:03:56

Dmitriy
13.12.2016
15:04:30
не может

Артур Евгеньевич
13.12.2016
15:05:07

Виталий
13.12.2016
15:09:11
А где изменения делать?
Например, заменить input на словарь

Dmitriy
13.12.2016
15:09:39
руками делать нужно

Владимир
13.12.2016
15:09:50
Придется и в бд и в модели

Google

Виталий
13.12.2016
15:10:07
Руками сделал, дальше понял, что поля не хватает, заменил в БД
Файлы затираются после перегенерации, ТС прав

Евгений
13.12.2016
15:11:01
так отнаследуйся от модели
и меняй модель хоть по 100 раз на дню

0x9d8e
13.12.2016
15:12:31
так зачем изменения им делать, это же просто копипаст основы для crud
Ну вот я сейчас сделал базу на две таблицы по три поля. И хочу уже это обкатать. Потом я захочу ещё 100500 полей в куче таблиц. Не хотелось бы это всё вручную писать (зачем мне gii тогда вообще). Если же он мне перепишет родительский класс, то всё что я дописал в дочернем сохранится, где надо я смогу переопределить метод (при этом если надо обращаться к родительскому через parent). Плюс некоторое уменьшение зависимости. Из минусов вижу разве что оверхед на "лишние" классы и наследование. Однако я могу не знать о какой-то причине почему так делать нельзя.

Владимир
13.12.2016
15:13:40

Виталий
13.12.2016
15:14:08

Dmitriy
13.12.2016
15:15:51
если не менять поля то не нужно править шаблон

Виталий
13.12.2016
15:17:36
2 таблицы связаны М:1, gii генерирует на поле-связку input обычный, а нужен select. Как не править шаблон?


0x9d8e
13.12.2016
15:48:11
Есть у меня горький опыт проекта, где почти каждый объект был eav-сущностью. Студийный говнофреймворк сильно заточен под клепание сайтов, структура которых заранее не слишком то известна и под частые её изменения. Пока проекты были не слишком большими всё было прекрасно. Но потом стали появляться весьма тяжелые и дорогие проекты. И вот мой последний проект оказался этой фигне настолько не по силам, что лучше бы я его с нуля писал. Тогда то я очень горько пожалел, что не отделил код моделей от фреймворка. Оно там так переплелось, что изменить способ хранения и обработки какой-либо сущности без переписывания половины всего кода оказалось невозможно. Производительность на дне, впилить новую фичу и не добавить паре сотен миллисекунд целая история. Это был провал. В итоге ценой адских костылей с патчингом и переписыванием минимум 1/3 всего "системного" кода и бессоными ночами кое-как привёл всё это в условно пригодное состояние (к слову: некоторые фичи оказалось невозможно сделать быстрыми без автоматической кодогенерации и автоперекраивания структуры бд). Но на носу себе зарубил: логику хранения от бизнес логики нужно отделять. То же и для любого другого широко используемого инструмента. В любой момент может оказаться, что отныне он не годен и будет прекрасно, если заменить его частично или целиком можно будет более-менее безболезненно.
Пока я тут телегу писал на том самом проекте база сломалась %)


Dmitry
13.12.2016
16:43:27
)))

Artem
13.12.2016
16:52:36


0x9d8e
13.12.2016
16:56:36

Евгений
13.12.2016
17:02:36
?
он рассказывал про EAV-модель

Artem
13.12.2016
17:03:20
реляции?
Блин, случайно вставилось - сорь. Я про то что ты все правильно написал, что необходимо отделять логику хранения от фреймворка, если угодно даже вводить доп слой абстракции. Мы вот тоже на этапе реализации огромного проекта и твои "мысли в слух" подталкивают в нужном нправлении

0x9d8e
13.12.2016
17:03:25

Евгений
13.12.2016
17:03:41

0x9d8e
13.12.2016
17:12:43
Ппц. Мускуль стал во-первых писать кучу временных таблиц, во-вторых они у него на диск не помещаются (ну или ещё почему-то записать не может).
Интересно, есть ли аналог слова "говнокод" для администрирования? А то чтобы сервак поднять "шедевр" сотворил и не знаю какую табличку повесить.

Google

Артур Евгеньевич
13.12.2016
17:51:10
Гавноконфиг)

Константин
13.12.2016
21:33:01
Кто подскажет где можно посмореть на код более-менее крупного проекта на yii2. На гитхабе удалось найти только примеры блогов.

Vasya
13.12.2016
21:42:53
Кстати, да. Тоже интересует эта тема, а также т.н. best practices

Dmitriy
13.12.2016
21:43:19
https://github.com/giovdk21/deployii https://github.com/komarserjio/notejam
https://github.com/sadiqdon/cycommerce
https://github.com/opus-online/yii2-app-ecom

Vasya
13.12.2016
21:44:25
> notejam
a year ago
> cycommerce
3 years ago
>yii2-app-ecom
> 2 years ago
эх

Dmitriy
13.12.2016
21:47:30
Юпи еще

Александр
14.12.2016
00:37:40
dotplant 2

SiZE
14.12.2016
07:05:16
подсмотришь там какой нибудь трешак )

0x9d8e
14.12.2016
10:44:23
подсмотришь там какой нибудь трешак )
хорошо бы поглядеть что-нибудь, где весь трешак уже поправили) лучше конечно ещё и историю "как мы пилили проект, залезли в такое-то и такое-то дерьмо, вылезли из него тако-то и так-то и пришли к таким-то и таким-то выводам"
В yii можно стандартными средствами обрабатывать результат запроса в базу потоково (fetch а не fetchAll)?
Я так понимаю "полное руководство" ни разу не полное.
А вот аналога fetchColumn не вижу.

SiZE
14.12.2016
11:39:37
А что ты хочешь? Не очень понял

0x9d8e
14.12.2016
11:40:41
В цикле получать по элементу колонки за раз, а не сразу целым массивом.
Прямо сейчас мне это не нужно, но хотелось бы знать.
Можно наверно просто выбрать одну колонку и each юзать, но тогда мы будем получать каждый раз массив на один элемент, а не сам этот элемент. Ничего страшного, но если можно без этого, то лучше без этого.
И ещё интересует насколько популярен в YII (и есть ли с этим какие-то проблемы) подход, когда большие списки обрабатываются, рендерятся и отдаются браузеру потоково, условно говоря в цикле: прочитали строку из базы, отрендерили кусок html/json/xml, отдали клиенту. Модель бы возвращала итератор.
Хотел на тостере этот вопрос написать, да не знаю как сформулировать заголовок.