Страница 1 из 1

Как учить фреймворк новичку?

Добавлено: 2016.11.07, 21:46
i612944
Знаю PHP на начальном уровне, простые запросы в базу, небольшой блог/интернет-магазин без проблем, решив прокачать себя, начал изучать Yii, но столкнулся с проблемой, я почти НИЧЕГО не понял, ну кроме момента создания простого Hello World, а дальше, темный лес, как правильно влиться в фреймворки?

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 00:03
caHek2x
уже во второй теме эту ссылку кидаю, надеюсь не примут за рекламу :-)
я вот по этому учился ... тут для начала все очень просто изложено ...
https://www.youtube.com/user/ToBeCloser007/videos
а так вообще вот
https://github.com/yiisoft/yii2/blob/ma ... /README.md

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 00:17
ElisDN
i612944 писал(а):как правильно влиться во фреймворки?
- изучить HTML, SQL, CSS, JavaScript
- изучить PHP на начальном уровне
- изучить ООП синтаксис
- изучить PHP на среднем урове
- изучить ООП как парадигму
- изучить архитектурные принципы
- прийти во фреймворки

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 07:49
kwasti
расскажу как я изучал...
ресурсы не помню, но общую схему приведу.
моя база до прихода в мир Yii
1. знания и опыт программирования: 30 лет, множество языков программирования как высокого так и низкого программирования. В том числе сертификаты T-SQL
2. не изучал ни одного языка веб (ни php, ни javascript, ни css и т.д.
3. конечно ООП я знаю в совершенстве.
как я изучал: (начал ровно год назад)
1. html
2. основные принцпы веб-программирования
3. сам php
4. основы MVC
5. Yii
изучил все это я примерно за 3 месяца, но вот проникнуться глубже смог только через полгода.
из всего на мой взгляд самое главное понять 2 и 4 пункт.
с 4-м пунктом мне оказалось проще справиться, т.к. MVC в Yii очень похож на MVC в MonoDev (monogame).

Исходя из вашего сообщения, вам стоит понять как работает MVC, знать что в yii наиболее часто используемые классы для реализации этой модели:
Model
View
Controller
как только напишите "правильный" проект на котором у вас будет 2-3 страницы (имеется ввиду приципы MVC)
то тогда я бы рекомендвал уделить особое внимание хелперам, таким как HtmlHelper, ArrayHelper и переделать существующий проект с сипользованием хелперов, чтобы привыкнуть к ним, т.к. они значительно снижают количество ошибок в разметке. А иногда и ускоряют процесс програмирования.
Дальше изучать будет уже проще.. (виджеты, миграция, консоль и т.д.)
кстати в качестве среды лучше использовать какой-ибудь IDE, мне очень понравился phpstrom
без IDE тяжело искать классы

P.S. Видео-ролики на ютубе никто конечно не отменял, но они мне мало помогли, т.к. в большинстве это сухой код без объяснения автором "очевидных" для него вещей.
У Дмитрия Елисеева неплохие вебинары, мне они много помогли, но он тоже бывает либо сильно заостряет внимание на очевидных вещах, иногда эти вещи не относятся к теме вебинара, иногда это база которую участники уже должны знать перед просмотром вебинара, из-за этого ролики получаются затянутыми, и иногда непонятные вещи считает очевидыными и их проскакивает. Но это не так старшно, т.к. первое можно промотать, а по второму задать вопрос под вебинаром. Часто эти воросы уже кто-то задал :)

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 08:31
ElisDN
kwasti писал(а):3. конечно ООП я знаю в совершенстве
Синтаксис знаете или парадигму?

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 08:53
maleks
i612944 писал(а):но столкнулся с проблемой, я почти НИЧЕГО не понял
Вы учитесь так: первое не понял, идем дальше, второе не понял, идем дальше, третье не понял, ... ничего не понял.

А надо: первое не понял, выясняю проблему пока не пойму.

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 11:19
kwasti
ElisDN писал(а):
kwasti писал(а):3. конечно ООП я знаю в совершенстве
Синтаксис знаете или парадигму?
С#(ранее С++) - это мой второй язык после русского..
там без фундаментальных знаний делать нечего.
без ООП уже разучился писать.

это маленький проектик, обучал дочь графике.
http://adf.ly/ZMzmp
если кто захочет посмотреть, то в архиве необходимая библиотека для запуска (можно скачать на сайте майкрософта)
ее нужно установить перед запуском.

Добавлено спустя ..Х.. минут:
намекаете на интенсив по ООП? ;)
Я бы с радостью послушал, но времени не так много у меня, поэтому я обычно смотрю и читаю уже в записи..

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 17:02
ElisDN
kwasti писал(а):намекаете на интенсив по ООП?
Не, просто насмотрелся людей, которые уверены, что ООП «знают» :)

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 17:58
andrei.obuhovski
ElisDN писал(а):
kwasti писал(а):намекаете на интенсив по ООП?
Не, просто насмотрелся людей, которые уверены, что ООП «знают» :)
Есть мнение что ооп вообще не возможно знать: https://habrahabr.ru/post/147927/

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 20:30
ElisDN
andrei.obuhovski писал(а):Есть мнение что ооп вообще не возможно знать
Разница лишь в философии ООП и ФП. ООП - это про объекты с состоянием, обменивающиеся сообщениями. ФП - это про данные и функции для их обработки без хранения состояния. Язык не важен. Можно хоть ООП делать на процедурах, хоть ФП на классах. А основополагающие архитектурные принципы вроде инкапсуляции, полиморфизма и прочих построены для программирования вообще и применимы практически везде.

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 20:42
futbolim
ElisDN писал(а):
andrei.obuhovski писал(а):Есть мнение что ооп вообще не возможно знать
Разница лишь в философии ООП и ФП. ООП - это про объекты с состоянием, обменивающиеся сообщениями. ФП - это про данные и функции для их обработки без хранения состояния. Язык не важен. Можно хоть ООП делать на процедурах, хоть ФП на классах. А основополагающие архитектурные принципы вроде инкапсуляции, полиморфизма и прочих построены для программирования вообще и применимы практически везде.
Топикстартер новичок, если что.

Re: Как учить фреймворк новичку?

Добавлено: 2016.11.08, 21:17
ElisDN
futbolim писал(а):Топикстартер новичок, если что.
Ну ему мы уже ответили, с чего начать.