E-Commerce, что еще по "Basic"?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
orkhanalyshov
Сообщения: 83
Зарегистрирован: 2015.06.19, 15:56
Контактная информация:

E-Commerce, что еще по "Basic"?

Сообщение orkhanalyshov »

Здравствуйте.

Я новый в этом форуме, т.к. только 2-ой день, как я приступил к изучению Yii 2 :) В первой теме у меня был вопрос по поводу Advanced, где я просил материалы по этому приложению, помогли, спасибо вам огромное. Так вот.

Сегодня я приобрел "Yii 2 : E-Commerce", там книга + исходники. В фб сам автор сделал публикацию в группе Yii 2, наверное, те кто следят за Yii везде и всегда, в курсе. Очень хороший курс в принципе, создание интернет магазина "step by step" как говорится. Но объяснений нет. То есть нужно самому знать как и почему. В этой теме у меня вопросы следующие:

1. Что вы посоветуете по Basic? Как изучить, как быть.
2. Что вообще лучше, Basic или Advanced? Я понимаю, что в Advanced разделены frontend и backend и т.д., но с Basic тоже же можно создать админскую часть, как это сделали товарищи из Вьетнама в "Yii 2 : E-Commerce" :D

Наверное, эта проблема, проблема каждого новичка при изучении Yii 2. Дайте совет, если не трудно, добрые люди.
С уважением, Орхан Алышов
mkramer
Сообщения: 531
Зарегистрирован: 2014.12.14, 13:02

Re: E-Commerce, что еще по "Basic"?

Сообщение mkramer »

И то, и другое - скелеты приложений, в теории можно вообще без них обойтись, на их основе просто удобнее строить. Я сам на yii не так давно перешёл. И пробую и на basic строить, с админкой в виде модуля, и на advanced. Главное - читать документацию, и понимать, чем вы оперируете, когда работаете с фреймворком. У Yii2 очень хорошая документация, ещё не было случая, чтоб я там не нашёл того, что мне надо.
Аватара пользователя
Roksalana
Сообщения: 215
Зарегистрирован: 2014.01.14, 09:34

Re: E-Commerce, что еще по "Basic"?

Сообщение Roksalana »

Разница в том, что в Basic у вас ОДНО приложение, а в Advanced по сути у вас ДВА разных приложения. Это удобно, когда у приложений разные конфиги. Начните с Basic. Так будет проще разобраться с конфигом. А когда почувствуете, что готовы для админки сделать отдельное приложение (не урл, не домен, а именно приложение), то перейдете на Advanced.
wpd
Сообщения: 161
Зарегистрирован: 2014.08.22, 12:34
Контактная информация:

Re: E-Commerce, что еще по "Basic"?

Сообщение wpd »

А можно ссылку на книгу? Я вот как раз сейчас начал делать ИМ. Интересует вопрос как лучше сделать добавление/редактирование атрибутов и присваивание их продукту. Для примера взял БД из OpenCart http://wiki.opencarthelp.com/lib/exe/fe ... roduct.png
Download TV Series in HD http://serialsfree.net/
Аватара пользователя
wokster
Сообщения: 308
Зарегистрирован: 2013.09.06, 14:12
Контактная информация:

Re: E-Commerce, что еще по "Basic"?

Сообщение wokster »

Я использую advanced, какие практические плюсы нашел:
- более логично все лежит по папкам, в basic у меня постоянно ощущение, что все свалено в одну кучу
- можно иметь отдельные модели для frontend и backend. Например есть общая в common и отдельные frontend и backend, которые ее наследуют.
- многоязычность только для фронтенда сделать можно, массу времени на перевод экономит, так как админку "мультиязычить" как правило нет смысла.
- url manager разный. Для backend все as is логичненько, а для frontend делаем велосипед, что бы сделать максимально короткие url
- в advanced есть готовая авторизация и RBAC
и т.д.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: E-Commerce, что еще по "Basic"?

Сообщение zelenin »

wokster писал(а):Я использую advanced, какие практические плюсы нашел:
- более логично все лежит по папкам, в basic у меня постоянно ощущение, что все свалено в одну кучу
просто надо изначально делать модули. У меня сейчас проект интернет магазина - есть корневой родительский модуль по названию проекта, внутри 6-7 подмодулей, разделенных на основе сущностей (goods, order, call-request итд), внутри модели и контроллеры для бэкенда. На фронтенде один модуль main с 2-3 контроллерами. А сейчас вот подумал, что с подобной модульной структурой лучше даже работать с basic, хотя всегда был приверженцем advanced.
wokster писал(а):- можно иметь отдельные модели для frontend и backend. Например есть общая в common и отдельные frontend и backend, которые ее наследуют.
пока не сталкивался с необходимостью разных моделей
Аватара пользователя
wokster
Сообщения: 308
Зарегистрирован: 2013.09.06, 14:12
Контактная информация:

Re: E-Commerce, что еще по "Basic"?

Сообщение wokster »

zelenin писал(а):пока не сталкивался с необходимостью разных моделей
Ну например. Связи в таблицах не всегда нужны в backend, но нужны во фронтенд. Да и просто если модель толстая разнести ее на 3 и сделать более оптимизированной. Общая в common/models, и frontend/models + backend/models. frontend и backend расширяют common
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: E-Commerce, что еще по "Basic"?

Сообщение zelenin »

wokster писал(а):
zelenin писал(а):пока не сталкивался с необходимостью разных моделей
Ну например. Связи в таблицах не всегда нужны в backend, но нужны во фронтенд.
и в чем необходимость убирать связи у backend-моделей? Чего вы достигните их убрав? Я скорее поверю в необходимость убрать валидацию и прочее на фронте, чтобы сделать модель легче. Но это лучше делать с помощью сценариев, чем разбиением на две модели.
wokster писал(а): Да и просто если модель толстая разнести ее на 3 и сделать более оптимизированной.
если она стала толстая, то значит вы начали использовать bad pattern yii, начав пихать в модель все, что только может быть использовано внутри модели, превратив ее в хелпер. Надо не модели разносить, а выносить функционал в сервисы. Модель - это отражение строки из базы данных.
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: E-Commerce, что еще по "Basic"?

Сообщение yiijeka »

можно иметь отдельные модели для frontend и backend. Например есть общая в common и отдельные frontend и backend, которые ее наследуют.
Выяснили, что такое не нужно делать. Хотя сам до последнего так делал.
Аватара пользователя
wokster
Сообщения: 308
Зарегистрирован: 2013.09.06, 14:12
Контактная информация:

Re: E-Commerce, что еще по "Basic"?

Сообщение wokster »

zelenin писал(а):если она стала толстая, то значит вы начали использовать bad pattern yii, начав пихать в модель все, что только может быть использовано внутри модели, превратив ее в хелпер. Надо не модели разносить, а выносить функционал в сервисы. Модель - это отражение строки из базы данных.
В случае многих связей, например при многоязычности. В моделе растут beforesave и т.д, которые не нужны для frontend.
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: E-Commerce, что еще по "Basic"?

Сообщение rugabarbo »

wokster писал(а):
zelenin писал(а):если она стала толстая, то значит вы начали использовать bad pattern yii, начав пихать в модель все, что только может быть использовано внутри модели, превратив ее в хелпер. Надо не модели разносить, а выносить функционал в сервисы. Модель - это отражение строки из базы данных.
В случае многих связей, например при многоязычности. В моделе растут beforesave и т.д, которые не нужны для frontend.
Используйте сценарии, чтобы реализовать разное поведение модели в разных точках приложения: http://www.yiiframework.com/doc-2.0/gui ... #scenarios

Создавать для одного набора данных две ORM - плохая практика.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: E-Commerce, что еще по "Basic"?

Сообщение zelenin »

rugabarbo писал(а):
wokster писал(а):
zelenin писал(а):если она стала толстая, то значит вы начали использовать bad pattern yii, начав пихать в модель все, что только может быть использовано внутри модели, превратив ее в хелпер. Надо не модели разносить, а выносить функционал в сервисы. Модель - это отражение строки из базы данных.
В случае многих связей, например при многоязычности. В моделе растут beforesave и т.д, которые не нужны для frontend.
Используйте сценарии, чтобы реализовать разное поведение модели в разных точках приложения: http://www.yiiframework.com/doc-2.0/gui ... #scenarios

Создавать для одного набора данных две ORM - плохая практика.
верно, я уже эту идею высказал ранее. Не нужно разбивать на классы там, где можно написать

Код: Выделить всё

return $this->getScenario() === 'frontend' ? [] : [/*behaviors*/];
Последний раз редактировалось yiijeka 2015.06.26, 21:59, всего редактировалось 1 раз.
Причина: не тупо
Ответить