Как работать с фреймворками?

Приветствую.
Пытаюсь изучить Yii2, но пока сложно, не понимаю как с ним работать и что вообще представляют из себя фремворки.

Как я понял фреймворк это определенный каркас + готовые методы, классы, готовые решения самых распространенных задач, вроде регистрации, авторизации, валидации, работы с бд, роутингом и т.д.

И мне нужно просто изучить как они реализованы в фреймворке и из этих готовых частей и собирать свой проект?
  • Вопрос задан
  • 4789 просмотров
Решения вопроса 1
@yaBliznyk
Если вопрос именно "Как работать с фреймворками при условии знания языка?", то расскажу по собственному опыту. Я вливался в коллектив с самописным фрэймворком и очень плохой документацией. Мне не могло никак помочь гугление и т.д.
1 - изучаем входной скрипт, дебажим его. (xdebug, xhprof). Там часто есть что-то вроде включения дебаг режима.
2 - смотри какие паттерны часто используются в проекте. Читай любую доступную документацию, но только тогда, когда нет возможности кодить или что-то не понимаешь.
3 - мне не повезло и впервые пришлось сразу работать с DataMapper, но сразу начинай писать код. Стандартный CRUD комментов. Поля id, title, description. Сделай максимально быстро не вдаваясь в подробности. Если что-то непонятно - goto пункт 2.
4 - если есть автогенераторы - обязательно смотри что они делают, тренируйся писать то, что они генерируют самостоятельно.
5 - начинай много раз с ноля! (Важный пункт) Небольшие задачи решай с самого начала от генерации скафолда. Каждый раз ты будешь узнавать больше нового и понимать все старое. Очень важно уметь быстро развернуть проект + регистрация, авторизация, пара форм и т.д. Примечание : это называется прототипированием, в этом плане очень хороши фрэймворки типа Laravel и Rails. Они дают возможность очень быстро сгенерировать прототип и начать с ним работать допиливая необходимые части.
6 - Продвигай свой фрэймворк. Используй его при любой возможности. Я писал админки для сайтов на Yii1, когда вся другая команда писала фронтэнд часть на чистом PHP. Разница в скорости заставила всех начать изучать Yii.
7 - Для понимания работы фрэймворка создай минимальный свой. Есть хороший видео-гайд от специалиста. www.specialist.ru вот конкретно этого. Я смотрел очень давно, видос качал с торентов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
kentuck1213
@kentuck1213
У Yii документация ад для новичков. У Laravel просто прелесть все.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
И мне нужно просто изучить как они реализованы в фреймворке и из этих готовых частей и собирать свой проект?
НЕТ!

Нужно прочитать документацию:
1. По организации базовой архитектуры приложения на этом фреймворке
2. По списку классов, методов, функций, их назначениям и форматам вызова и способов применения.

После этого, создать веб-приложение (проект) на этом фреймворке.
Ответ написан
Комментировать
za4me
@za4me
Человек
Открываем первую страницу в документации yii2.

Для разработки на Yii потребуется общее понимание ООП так как фреймворк полностью следует этой парадигме. Также стоит изучить такие современные возможности PHP как пространства имён и трейты.

Сюда же добавляем знания MVC паттерна.

готовые решения самых распространенных задач, вроде регистрации, авторизации, валидации, работы с бд, роутингом и т.д.

Можно сказать и так. Но если вы еще не прочли доку по php, то начинайте с нее. Далее советую сделать свой проект с нуля на MVC без использования фреймворка. И тогда уже браться за документацию yii2.
Ответ написан
Комментировать
27cm
@27cm
TODO: Написать статус
Выбираете книжку с примерами и разбираетесь:
ozon.ru/?context=search&text=yii&group=div_book&st...

И мне нужно просто изучить как они реализованы в фреймворке и из этих готовых частей и собирать свой проект?

Не собирать из частей, а использовать эти части в своем проекте. Всё-таки фреймворк это не какой-то конструктор.
Ответ написан
Комментировать
Yeah
@Yeah
Мне кажется, что все советуют совсем не то, что нужно автору. Пытаться тупо читать документацию или сходу что-то делать,на мой взгляд - неправильно. Для начала нужно ответить на вопрос: какие они, PHP фреймворки? Ответ простой: практически все современные фреймворки реализуют парадигму MVC. Вот с этих трех букв и нужно начинать:

M - модели, работа с БД
V - шаблонизатор
C - контроллеры и маршрутизация

В современных фреймворках я бы в этот список еще добавил Dependency injection.

То есть если мы говорим о Symfony, то не стоит вязнуть в тысячетонной документации. Прочитайте про маршрутизацию, контроллеры, Twig и совсем немного по Доктрине. И вуаля - вы уже знаете, как работает костяк фреймворка.

А дальше уже - практика и там понемногу и остальные знания подтянутся.
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
И мне нужно просто изучить как они реализованы в фреймворке и из этих готовых частей и собирать свой проект?

да
Ответ написан
Комментировать
Valonix
@Valonix
Back end / Front end developer
Попробуйте CakePHP или Laravel. Уровень вхождения гораздо проще...
Ответ написан
Комментировать
paulfcdd
@paulfcdd
PHP/Sf/WEB developer
Ну вообще надо читать документацию, вот только как сказали выше, у Yii документация ужасная. Это меня от него в свое время и оттолкнуло (как я сейчас понимаю - к счастью) в сторону Symfony и Silex.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы