Руководства, Инструкции, Бланки

Yii2 Руководство На Русском img-1

Yii2 Руководство На Русском

Категория: Руководства

Описание

Yii2 по-русски, документация Yii Framework 2

Обзор ¶

Yii приложения организованы согласно шаблону проектирования модель-представление-поведение (MVC). Модели представляют собой данные, бизнес логику и бизнес правила; представления отвечают за отображение информации, в том числе и на основе данных, полученных из моделей; контроллеры принимают входные данные от пользователя и преобразовывают их в понятный для моделей формат и команды, а также отвечают за отображение нужного представления.

Кроме MVC, Yii приложения также имеют следующие сущности:

  • входные скрипты. это PHP скрипты, которые доступны напрямую конечному пользователю приложения. Они ответственны за запуск и обработку входящего запроса;
  • приложения. это глобально доступные объекты, которые осуществляют корректную работу различных компонентов приложения и их координацию для обработки запроса;
  • компоненты приложения. это объекты, зарегистрированные в приложении и предоставляющие различные возможности для обработки текущего запроса;
  • модули. это самодостаточные пакеты, которые включают в себя полностью все средства для MVC. Приложение может быть организованно с помощью нескольких модулей;
  • фильтры. это код, который должен быть выполнен до и после обработки запроса контроллерами;
  • виджеты. это объекты, которые могут включать в себя представления. Они могут содержать различную логику и быть использованы в различных представлениях.

Ниже на диаграмме представлена структурная схема приложения:

Page generated on Sun, 04 Jan 2015 01:03:28 +0300

Другие статьи

Андрей Кудлай

Андрей Кудлай | Фреймворк YII2 с Нуля до Профи (2016) PCRec Автор (режиссер): Андрей Кудлай
Жанр: PHP, YII2, реймворк

Описание:
Этот видеокурс - наиболее полный в Рунете практический видеокурс по освоению фреймворка Yii2, благодаря которому Вы изучите фреймворк Yii2 на достаточном уровне для создания сайтов и веб-проектов практически любого уровня сложности и назначения: от блогов и визиток до новостийных мега-порталов и гигантских интернет-магазинов. Используя возможности фреймворка, мы можем построить простейший сайт за считанные часы, имея лишь базовые знания PHP. Ну а имея продвинутые знания PHP, мы ничем не ограничены при создании сложных сайтов, фреймворк Yii2 значительно облегчит нашу задачу.

Продолжительность: 68:24:38
Качество видео: PCRec

Видео: AVC, 1280x720 (16:9), 15.000 fps, 304 Kbps
Аудио: AAC LC, 44.1 KHz, 2 ch, 125 Kbps, CBR (English)

Часть 1. Фреймворк YII2. Теория и возможности фреймворка.
Первая часть курса будет посвящена изучению возможностей, которые предлагает нам фреймворк Yii2.
Здесь мы лишь прикоснемся к его огромным возможностям. В процессе изучения теории, мы будем также учиться работать с документацией. Благо, Yii может предложить нам как официальную документацию на английском языке, так и переводную документацию на русском языке.

Урок 1. Введение
Урок 2. Установка фреймворка
Урок 3. Вывод Hello, world!
Урок 4. Контроллеры в Yii
Урок 5. Общий контроллер приложения
Урок 6. Виды и шаблоны
Урок 7. Подключение скриптов и стилей
Урок 8. Выполнение AJAX запроса
Урок 9. Метаданные страницы
Урок 10. Создание форм
Урок 11. Валидация данных
Урок 12. Принятие данных из формы
Урок 13. Работа с БД. Выборка данных. Часть 1
Урок 14. Работа с БД. Выборка данных. Часть 2
Урок 15. Отложенная и жадная загрузка данных
Урок 16. Запись данных в БД
Урок 17. Обновление и удаление данных в БД
Урок 18. Виджеты
Урок 19. Установка расширений из консоли
Урок 20. Установка расширений без композера
Урок 21. Создание ЧПУ
Урок 22. Gii - генерация кода

Часть 2. Фреймворк Yii2. Практика. Создание интернет-магазина.
Как уже отмечалось выше, многие имеющиеся уроки и курсы не дают целостного решения и показывают создание несвязанного набора страниц.
Мы пойдем дальше и во второй, практической, части нашего курса будем создавать сайт, который вы можете видеть на изображении ниже.
Это будет полнофункциональный интернет-магазин. Основной функционал, который будет нами реализован в курсе: категории, товары, карточка товара, корзина, многоуровневое меню категорий с поддержкой неограниченного уровня вложенности и, конечно же, управление всем этим, т.е. администраторская часть сайта.

Урок 1. Установка фреймворка
Урок 2. Перевод верстки в шаблон
Урок 3. Модель категорий
Урок 4. Виджет «Меню категорий». Часть 1
Урок 5. Виджет «Меню категорий». Часть 2
Урок 6. Вывод популярных товаров
Урок 7. Вывод товаров категорий
Урок 8. Метод для вывода метатегов
Урок 9. Постраничная навигация
Урок 10. Карточка товара. Часть 1
Урок 11. Карточка товара. Часть 2
Урок 12. Обработка ошибок
Урок 13. Поиск
Урок 14. Корзина. Часть 1
Урок 15. Корзина. Часть 2
Урок 16. Корзина. Часть 3
Урок 17. Корзина. Часть 4
Урок 18. Корзина. Часть 5
Урок 19. Оформление заказа. Часть 1
Урок 20. Оформление заказа. Часть 2
Урок 21. Отправка почты
Урок 22. Авторизация. Часть 1
Урок 23. Авторизация. Часть 2
Урок 24. Список заказов в админке
Урок 25. Управление заказами
Урок 26. Управление категориями. Часть 1
Урок 27. Управление категориями. Часть 2
Урок 28. Управление продуктами
Урок 29. Установка визуального редактора
Урок 30. Загрузка картинок. Часть 1
Урок 31. Загрузка картинок. Часть 2
Урок 32. Вывод картинок товара

Бонусы:
Премиум курс по PHP
Премиум курс по объектно-ориентированному программированию на PHP
Премиум курс по работе с базами данных MySQL

Время раздачи: 24/7 (до появления первых 3-5 скачавших)

Как всегда, кто то делится знаниями, а кто то хаит. Вот только почему то те кто знают "как надо и как профессионально", не создают подобных курсов и не несут знания в массы.

Если брать отвлеченно, в теории, то:

1) xdebug - постоянная составляющая работы профессионального программиста на php, без которой нереально работать с серьезными проектами. это как пытаться работать без git(flow), composer, phpunit.

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

Если брать приближенно, по жизненным фактам, то. я не смотрел этого курса и не могу сказать в сфере чего автор не пользуется хдебагом и почему не соблюдает стандарты пср (опять же, это со слов CodeKeeper ). Когда мне приходится поддерживать/дорабатывать чужой код, иногда приходится самому частично не соблюдать эти стандарты.

А курс, да, гляну на прошлой неделе пришло 2 проекта на yii2, которые нужно было доработать. писали, похоже, не шибко умные граждане: в первом проекте многие вещи сделаны через ж0пу, а второй проект вообще не работает, если не отключить вывод ошибок. Вот и захотелось посмотреть, что в курсе покажут "до гуру" ))

Как всегда, кто то делится знаниями, а кто то хаит. Вот только почему то те кто знают "как надо и как профессионально", не создают подобных курсов и не несут знания в массы.

Потому что, те кто знает, знают "как надо" обычно загружены работой и знают, что видеокурс мало что дает. И если бы не критиковали всякие г. курсы, то так бы все и смотрели шлак, а потому бы позорились на собеседованиях. А так, хоть узнаю что нужно для работы и про сто прочесть

Добавлено спустя 2 минуты 56 секунд:


Это все от неуверенности, не судите его строго. Такие люди, а их большинство, просто боятся выдавать свои знания на суждение общественности. Мало ли, окажется, что и он сам то не очень "профессионал". А так, живет он себе в благополучной виртуальности и думает, что все знает.

Жду адекватной критики в мою сторону, а не детское типа "сам дурак". Я сделал утверждение которое в мире разработки php является фактом(хабр и прочие профильные ресурсы тому подтверждение, где пишут как нужно делать и как не делать. А так же любая крупная компания, достаточно просто пообщаться с скиловыми разработчиками). Если же не разбираешься в теме, то твое высказывание звучит еще смешнее.

Добавлено спустя 1 минуту 55 секунд:


Когда мне приходится поддерживать/дорабатывать чужой код, иногда приходится самому частично не соблюдать эти стандарты.

Спасибо, но я уже был программистом, много, много лет. Правда не веб. А сейчас хочу внедрить веб-расширение для программного комплекса, типа прием заказов в полях и т.д. И в итоге склоняюсь к YII 2. Так же есть простая задача, ввод логина/пароля, выбор строки из таблицы и ввод одной цифры. Поэтому и ищу видеокурс.

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

Возможно, но с точки зрения предпринимателя - главное деньги и время, ну время тоже деньги. На хостинге 85 % места свободно, так что если с фреймворком будет быстрее, значит вполне устраивает.


Возможно, но с точки зрения предпринимателя - главное деньги и время, ну время тоже деньги. На хостинге 85 % места свободно, так что если с фреймворком будет быстрее, значит вполне устраивает.

А, так теперь с точки зрения предпринимателя? Ну если в плане расширения, то может быть. Хотя опять же, нужно прорабатывать архитектуру и кучу сценариев для тестирования. Хотя опять же видеокурс - деньги и время, тоже не вяжется.

Ну и пользуясь случаем приведу цитату с одного PHP паблика.

никогда не думал, что процесс наблюдения за появлением букв на экране - так важно новичку. Процесс запуска кода есть в видеоуроках? Не думаю. В книгах описаны процессы установки и запуска. Что и почему, и ты можешь в любой момент вернуться в книге назад и прочитать. А видео - вспоминай в каком видео ты это видел, на какой минуте из этих 4 часов сухого текста с мерцающим курсором. Мне кажется новичку полезнее читать книги, ибо насмотревшись видеоуроков - он будет искать ответы на ошибки - в видеоуроках.

А вообще в книге описаны все возможные ошибки, а в видеоуроках, кстати, пишется "идеальный код", но если новичок не сообразит, что у него надо набрать в этой строке другой немного текст, то получится ошибка, о которой в этом видеоуроке скорее всего ничего нет
(с) Андрей Дрозд http://vk.com/feed?section=comments&w=wall-175_202702

никогда не думал, что процесс наблюдения за появлением букв на экране - так важно новичку. Процесс запуска кода есть в видеоуроках? Не думаю. В книгах описаны процессы установки и запуска. Что и почему, и ты можешь в любой момент вернуться в книге назад и прочитать. А видео - вспоминай в каком видео ты это видел, на какой минуте из этих 4 часов сухого текста с мерцающим курсором. Мне кажется новичку полезнее читать книги, ибо насмотревшись видеоуроков - он будет искать ответы на ошибки - в видеоуроках.

А вообще в книге описаны все возможные ошибки, а в видеоуроках, кстати, пишется "идеальный код", но если новичок не сообразит, что у него надо набрать в этой строке другой немного текст, то получится ошибка, о которой в этом видеоуроке скорее всего ничего нет
(с) Андрей Дрозд http://vk.com/feed?section=comments&w=wall-175_202702

Не согласен. Есть куча не очень книг с тонами невнятного кода. Этот пример мне напоминает спор на форуме преподов английского языка, спорили о чернобелых учебниках и красочных современных.

Плюс никто не мешает к видеокурсам давать исходники, пдфки с текстами и т.д.

Что на самом деле представляет из себя Yii2?

Что на самом деле представляет из себя Yii2 ?

Yii2 это современный и широконаправленный PHP фреймворк, для разработки веб и консольных приложений. Он призывает к чистому написанию кода, без лишних связанностей, принципу DRY (don’t repeat yourself) направленный на снижение повторения кода, событийно-ориентированное программирование, когда выполнение подпрограммы определяется исходя из события запущенного пользователем, соглашение по конфигурации, по которому если класс соответствует соглашению наименованию, тогда он не нуждается в дополнительной конфигурации, а так же модульная структура приложения. Для фреймворка уже разработано много библиотек, виджетов и расширений как основными, так и сторонними разработчиками. Это все позволяет быстро разрабатывать качественные приложения.

Изучать и осваивать Yii2 поможет онлайн документация и wiki. есть документация на русском. Многие вопросы находят свои ответы на stackoverflow. а также возможность задать вопросы в соответствующем разделе (issue tracker ) на GitHub. Помимо этого есть форум на официальном сайте. чат. активное сообщество в facebook.

Сразу из коробки реализована отложенная загрузка (lazy loading), это позволяет загружать и исполнять только те компоненты, которые нужны для выполнения запроса. Можно увеличить производительность за счет применения различных техник кеширования.

Это отличный фреймворк как для небольших проектов, которые легко можно начать, взяв за основу базовый шаблон так и для масштабных проектов, можно использовать продвинутый (advanced) шаблон. Хотя, нужно отметить, что выбор шаблона это совершенно не обязательный пункт, можно скачать фреймворк и без шаблона, выстроив необходимую структуру. Для большинства проектов Yii2 будет также удобен за счет возможности разделения функциональности на модули.

Возможности yii2

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

Фреймворк базируется на паттерне проектирования MVC. Для моделей используется Active Record (AR), прекрасно зарекомендовавший себя в Yii 1.0, сейчас он еще удобнее и эффективнее.Кроме Active Record для моделей

Для вывода информации во View есть варианты использования шаблонизаторов Smatry или Twig, также можно использовать сам PHP как шабонизатор, он прекрасно с этим справляется.

Контроллеры могут содержать действия (actions), поведения (behaviors) а так же другие функции. Их задача организовать взаимодействие моделей и представлений. Помните, лучшие контроллеры – тонкие контроллеры!

ActiveRecord

Работать со связанными данными становится очень просто и интуитивно понятно, если использовать ActiveRecord. Не придется писать множество запросов, километры SQL кода, заботится о синтаксисе при работе с конкретной СУБД. Используя AR можно составлять сложные запросы, выстраивать связи между различными базами данных (MySQL и MongoDB, например). Вот пример, как просто получить данные из базы:

Пример иллюстрирует выборку нужной статьи из базы и все комментарии к ней. Задействованы две таблицы: Post и Сomments

Аутентификация и авторизация

В базовом (basic) и расширенном (advanced) шаблонах уже реализованы базовые функции пользователя: методы регистрации, авторизации и аутентификации (разные компоненты), сброс пароля. RBAC (Role Based Access Control) позволяет реализовывать расширенные схемы авторизации. Можно разграничить доступ для множества групп (например, администраторы, модераторы, редакторы) пользователей.

Можно использовать стандартные фильтры для валидации данных или создавать свои собственные с особой логикой.

Так поле title на форме должно быть заполнено печатными символами, не превышая количество знаков более 32.

Для простой и удобной работы с формами разработан специальный виджет ActiveForm. Для форм можно использовать валидацию на клиенте или на сервере, также доступна AJAX валидация.

Безопастность

Фреймворк уже включает возможности защиты от наиболее распространенных угроз: XSS уязвимости (тип атаки, целью которого является внедрить на страницу вредоносный код и выполнить его на компьютере пользователя при открытии им этой страницы), межсайтовая подделка запроса, также известен как XSRF (вид атак на посетителей веб-сайтов, использующий недостатки протокола HTTP), а также brute-force атак (подбор пароля с помощью перебора до тех пор, пока он не будет найден). Используя совокупность современных методов защиты можно не переживать о внедрении опасного кода (SQL injection) в проект.

Интернационализация (I18N) и локализация (L10N)

Создавать мультиязычные приложения легко, когда есть поддержка локализации в фреймворке.

Строку будет переведена в зависимости от языка выбранного пользователем. Результатом вывода может быть

Кеширование

Yii2 предоставляет широкие возможности для кеширования. Например, можно кешировать данные или отдельные фрагменты, кеширование страниц, HTTP кеширование, кеширование схем базы данных, запросы.

Генерация кода

Генерация кода с помощью Gii позволяет создавать модели, контроллеры, CRUD (основные операции над базами данных - создание, чтение, обновление, удаление ) для моделей, генерировать формы, модули, расширения прямо из веб интерфейса.

Yii2 отладчик предоставляет информацию о приложении и конфигурации сервера, запрошенными данными, логах, производительности, выполнении запросов в БД и многое другое. Отладчик имеет удобную панель инструментов, которая отображает наиболее важную информацию.

Множество виджетов, хелперов, расширений

Здесь можно найти многие из тех, что уже созданы сторонними разработчиками или можно написать свои.

Официальные расширения Yii2

Эти расширения поддерживаются командой разработчиков фреймворка

apidoc API для создания документации.

authclient OpenID, OAuth и OAuth2.

debug отладчик для Yii2 приложений.

elasticsearch интегрирован полнотекстовый поисковый движок Elasticsearch.

faker для генерации произвольных данных.

imagine обертка над Imagine.

jui JQuery UI виджеты.

mongodb интеграция с MongoDB.

sphinx полнотекстовый поисковой движок Sphinx.

swiftmailer работа с электронной почтой посредством SwiftMailer.

Каждый разработчик может принять участие в разработке фреймворка Yii. Предлогайте свой код на GitHub. информируйте о найденных ошибках в issue. а также задавайте свои вопросы в чате.

Александр Борщак: Книги и видео по Yii 2

— Видеокурс "Learning Yii 2 " от Udemy, 2015 года. Язык - английский.


— Как продолжение предыдущего видеокурс "Mastering Yii 2 " от Udemy, 2015 года. Язык - английский.


— Книга "Yii2 By Example " - неплохо подойдет начинающим. в книге рассматриваются шаблоны Yii2 Basic и Yii2 Advanced. Язык книги - английский.

Книгу можно скачать бесплатно с EX.UA (правда не оригинальный PDF, а какой-то самодел, сделанный из EPUB).


— Книга "Yii2 Book " Ларри Ульмана. Отлично подойдет начинающим, так как в ней подробно описаны все базовые концепции. В книге рассматривается шаблон Yii2 Basic. Книга подробно описана в одном из предыдущих постов. Язык книги - английский.

Книгу можно только купить за деньги. минимальная стоимость - 20 дол. На мой взгляд, своих денег книга стоит.


Официальное руководство по Yii2 от разработчиков. Формат PDF, размер порядка 2 МБ; отлично сочетается с книгами Yii2 by Example и Yii2 Book от Ульмана. Язык - русский.

Интерактивный учебник по Yii2 от Евгения Ткаченка - хорошо подойдет тем, кто уже знаком с базовыми концепциями фреймворка (т.е. для таких себе "уверенных начинающих"). Знакомит с созданием приложения на базе шаблона Yii2 Advanced. Язык учебника - русский.

Cам учебник расположен на Github, для изучения вам надо будет склонировать его через Git или скачать архив, и развернуть у себя на локальном компьютере в виде поддомена (то есть, в виде сайта, нужен PHP, так как рядом с учебником встанет и копия Yii2).


— Книга "Yii 2 For Beginners " - задекларирована как для начинающих, но лично меня стиль изложения не устроил. Язык - английский.

За полную версию автор просит не менее 25 дол. на LeanPub - но повторюсь, что лично на мой взгляд она того не стоит, лучше купить книгу Ларри Ульмана. К тому же, полную версию книги можно бесплатно скачать на EX.UA .


Видеокурс от Михаила Русакова по созданию блога - использует далеко не лучшие практики, но в целом посмотреть можно, чтобы получить общее представление о том, как делается сайт на Yii2. Язык - русский.


Курс по Yii2 от Школы программирования (2015 года, ведущий Руслан Купцов) - смотреть очень трудно, как так непонятен подход авторов к обучению: курс вроде как для начинающих, но темы, нужные начинающим, там проигнорированы, вместо этого рассматриваются более сложные темы, причем "галопом". Ерунда, в общем. Язык - русский.

— Книга "Разработка веб-приложений в Yii 2 " Марка Сафронова - более глубокое описание возможностей и устройства фреймворка Yii2. Для тех, кто уже в теме. Язык - русский.

Книгу можно скачать бесплатно с сайта с книгами. (Кстати, Марк - наш соотечественник, так что неплохо бы купить и бумажный вариант. чтобы поддержать автора.)


— Книга "Learning Yii Testing " - о тестировании в Yii2. Язык - английский.


P.S. Издательство Packt Publishing в начале 2016 года выпустило книгу "Mastering Yii ". В паблике ее пока нет, но на Амазоне отзывы пока хвалебные.

P.P.S. Лично я Yii до конца так и не выучил, перейдя на Python и Django, Там все оказалось как-то логичнее, понятнее, и даже приятнее (как бы странно это не звучало). Ну а что касается документации и обучающих материалов, то с ними ситуация на порядок лучше, чем с Yii.

7 причин в пользу выбора фреймворка Yii 2

7 причин в пользу выбора фреймворка Yii 2.0

В понедельник 13 октября состоялся долгожданный релиз популярного php фреймворка Yii 2.0. Разработчики переписали его заново и дали возможность оценить фреймворк еще до выхода стабильной версии. Теперь вы можете ознакомится с ним и использовать его в своих проектах. Давайте посмотрим почему стоит выбрать именно Yii 2.0 .

7 причин в пользу выбора фреймворка Yii 2.0 1. Простота установки

Для веб-разработчика, время это деньги, и никто не хочет тратить свое драгоценное время на долгий и сложный процесс установки и настройки.

Вся установка осуществляется через Composer. если вы захотите установить дополнительный компонент или модуль, это также можно сделать с помощью Composer. Подробно об установке написано в статье: Как установить Yii 2 через Composer.

2. Использование современных технологий

Yii является полностью объектно-ориентированным фреймворком и использует все преимущества продвинутых PHP функций, такие как: Стандартная библиотека PHP (SPL), Позднее статическое связывание и Анонимные функции.

Все классы теперь находятся в одном пространстве имен, полностью совместимых с PSR-4. Это означает, что теперь для того, чтобы получить доступ, например, к HTML-helper классу достаточно указать пространство:

Этот код говорит DefaultController'у дать доступ гостям к действиям login и view и запрещает действие create. (. является псевдонимом для не авторизированных пользователей, и @ относится к пользователям, прошедшим авторизацию).

RBAC является более мощным способом управления доступом к приложению. Он включает в себя возможность создания ролей пользователей, например, администратор или модератор. Вы можете использовать RBAC, если вы хотите создать роль модератора, и разрешить всем пользователям группы «модератор», например, редактировать статью. Гибкая настройка RBAC позволяет сделать приложение более функциональным, например, вы можете разрешить пользователю редактировать свои статьи, но запретить редактировать статьи других пользователей.

6. Сокращаем время на разработку

Практически любой проект связан с тем, что нам приходится повторять одно и тоже по нескольку раз, например написание CRUD для новой сущности. Yii дает нам несколько инструментов, которые помогают нам уменьшить затрачиваемое время на не приоритетные задачи и сконцентрироваться над основной задачей.

Один из таких инструментов называется «Gii». Gii это веб-инструмент — генератор кода, который позволяет быстро создавать шаблоны кода для:

  • Моделей
  • Контроллеров
  • Форм
  • Модулей
  • Расширений
  • CRUD контроллеров, моделей и видов

Gii легко конфигурируется. Вы можете включить его только тогда, когда он вам нужен, для этого настраиваем конфигурацию: