Повышение уровня php linux
Давно уже хотел пройти курс PHP UP .
По ходу прохождения и изучения данного курса , нужно составить конспект , который будет включать в себя выдержки из офф.документации по yii2
Критерий завершения
Я полностью перешел на разработку в среде linux и использую в работе полученные навыки
Личные ресурсы
время , знания и навыки
Экологичность цели
Основная цель повышение уровня до middle
-
Настройка рабочего окружения #1
- Введение.
- Кратко про операционные системы и программы.
- Взаимодействие по сети. Программы и порты.
- Виртуальная машина VirtualBox. Установка Ubuntu.
- Установка окружения LAMP.
- Установка окружения LEMP.
-
Урок №2. Настройка сайтов на виртуальных машинах. Vagrant. Puphpet
- Настройка локального сайта в LAMP.
- Настройка локального сайта в LEMP.
- Связь локальных машин (guest) и реальной (host).
- Vagrant и Puphpet для удобной настройки виртуальных машин.
-
Урок №3. Система контроля версий Git. Часть
- Кратко о системах контроля версий.
- Настройка git.
- Инициализация проекта.
- Работа с командами status, commit, log.
- Состояния файлов.
- Операции отмены
- Отмена commit'a
- Отмена подготовки (stage)
- Отмена изменений
- Игнорирование файлов.
-
Урок №4. Система контроля версий Git. Часть #2
- Что такое ветки и зачем они нужны.
- Создание веток, переключение между ветками.
- Слияние веток, решение конфликтов.
- Использование stash.
-
Урок №5. Система контроля версий Git. Часть #3
- Удаленные репозитории и как с ними работать:
- git remote add
- git fetch
- git push
- git clone
- git pull
- Пространства имен.
- Удаленные репозитории и как с ними работать:
-
Урок №6. Пакетный менеджер Composer. Часть #1
уроке я рассказываю о причинах использования менеджера зависимостей, принципах его работы.
Также рассматриватся работа с библиотекой Intervention (обработка изображений) с использованием Composer для установки.
-
Урок №7. Пакетный менеджер Composer. Часть #2
- Версионирование.
- Собственные composer пакеты.
- Composer install, composer update
-
Урок №8. Установка Yii2
- Конфигурация виртуальной машины.
- Установка фреймворка.
- Hello world пример.
- Простой пример работы с БД.
-
Урок №10. Консольные приложения. Миграции БД
- Консольные приложения.
- Планировщик задач cron.
- Миграции БД.
- Практика: рассылка новостей по расписанию.
-
Урок №9. Приложение
- Обзор структуры.
- Свойства и компоненты приложения.
- Создание собственного компонента.
- Использование Mailer для отправки почты.
- Работа с компонентом UrlManager.
-
Урок №11. Модели
- Использование возможностей yii\base\Model.
- Трейты в PHP.
- Создание простой модели для формы подписки: загрузка и валидация данных.
- Создание модели со сценариями для сотрудников.
- Особенности работы валидаторов.
-
Урок №12. Aliases, assets, widgets
- Псеводнимы (aliases).
- Ресурсы (assets).
- Виджеты (widgets).
-
Урок №13. Helpers. Layouts
- Helpers.
- Безопасность: экранирование вывода.
- Layouts.
- Буферизация вывода
-
Урок №14. Виджет ActiveForm. Работа с БД: DAO
- Widget ActiveForm.
- Data access objects.
-
Урок №15. Работа с БД: ActiveRecord #1
- Что такое ActiveRecord
- Пример create действия с ActiveRecord.
- Использование связанных моделей: has one, has many
-
Урок №16. ActiveRecord, CRUD, gii, forms
1. CRUD своими руками.
2. Использование gii для создания CRUD.
3. Использование виджетов для форм.
-
Урок №17. Регистрация. Аутентификация
1. Регистрация.
2. Аутентификация
-
Урок №18. События (events). Поведения (behaviors)
1. Events
2. Шаблон "Data transfer object".
3. Поведения.
-
Урок №19. Поиск. Faker. Sphinx
1) Простой поиск (MySQL).
2) Полнотекстовый поиск (MySQL).
3) Поиск с использованием поисковой системы Sphinx.
-
Урок №20. Безопасность веб-приложений
1) Fingerprints.
2) Data leak (утечка данных).
3) Защищенное соединение HTTPS.
4) Манипуляции данными:
- XSS (cross site scripting)
- SQL injection
- CSRF (cross site request forgery)
5) Другие советы по безопасности.
-
Урок №21. Практика #1
- Подготовить окружение.
- Развернуть заготовку приложения advanced.
- Базовые настройки.
- Регистрация пользователей через Facebook.
- Знакомство с модулями.
- Настройка процедур входа и регистрации на сайте.
- Восстановление пароля.
- Работа над страницей профиля.
-
Урок №22. Практика #2
- Отображение общей информации.
- Механизм подписок. Реализация при помощи Redis.
- Просмотр количества подписок и подписчиков.
- Просмотр списка подписчиков и подписок.
- Кнопка подписаться / отписаться.
- Общие друзья.
-
Урок №23. Практика #3
- Загрузка изображения.
- Хранение файлов.
-
Урок №24. Практика #4
- Создание поста.
- Просмотр поста.
- Механизм Like с использованием AJAX
-
Урок №25. Практика #5
Создание новостной ленты.
-
Урок №26. Практика #6
Создание новостной ленты.
-
Урок №27. Практика #7. Тестирование
Тестирование
-
Урок №28. Практика #8. Панель администратора. Интернационализация
Интернационализация
-
Урок №29. Практика #9. Панель администратора. RBAC
RBAC
-
Урок №30. Практика #10. Настройка проекта на удаленном сервере
Настройка проекта на удаленном сервере
- 664
- 11 марта 2019, 13:27
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением