Объектно-ориентированное программирование (ООП) - это технология, которая увеличивает эффективность написания кода за счет оперирования при программировании понятиями и объектами реального мира. Как результат, это позволяет создавать большие проекты с меньшим количеством ошибок и в более сжатые сроки. Объектно-ориентированный подход в программировании открывает массу новых возможностей и меняет взгляд на поставленную задачу, весь написанный Вами код автоматически становится гибче и программист начинает писать более лаконично и удобно. Наш курс ориентирован на решение практических задач по программированию на языке PHP с использованием объектно-ориентированного подхода к программированию.
Данный курс предназначен для людей, желающих получить теоретическую и практическую подготовку по объектно-ориентированному программированию, научиться разрабатывать сложные веб-приложения и веб-сервисы. Для обучения необходимо знание основных конструкций языка PHP в объеме
базового курса, желательны также навыки работы с HTML и Javascript. Курс также будет полезен для программистов уже знакомых с языком PHP и имеющих определенный опыт его применения.
Для всех желающих пройти данный курс рекомендуем сначала базовый курс –
Web-программирование.
Цель курса — изучить объектно-ориентированный подход на языке программирования PHP и работе с базами данных MySQL.
По окончании курса Вы будете уметь:
-решать популярные задачи веб-программирования с применением объектно-ориентированного подхода, используя СУБД MySQL;
-защищать скрипты от SQL-инъекций и других вариантов взлома;
-пользоваться шаблонизаторами и паттернами;
-применять возможности 5-ой версии языка PHP;
-иметь практический опыт реализации основных современных функциональных решений: авторизация, каталог, галерея, блог, личный кабинет, лента новостей и т.п.
Программа курса "Объектно-ориентированное программирование на языке PHP"
Тема № 1. Основные понятия и концепция объектно-ориентированного подхода и его применение в PHP
Преимущества ООП. Классы, объекты, свойства и методы. Примеры определения классов в PHP скриптах. Пример объявления объекта. Свойства и методы классов, примеры. Преимущества использования классов. Конструкторы класса, примеры. Инкапсуляция, наследование и полиморфизм. Модификаторы доступа. Конструкторы и деструкторы. Клонирование объектов. Реализация с помощью ООП в PHP простую задач на вывод информации. Подключение к базе данных с помощью конструктора класса. Описание методов в классе базы данных.
Тема № 2. Объектно-ориентированное программирование на PHP
Перегрузка вызова методов класса. Методы доступа к свойствам и другим методам. Перегрузка свойств класса, сеттеры, геттеры. Обработка исключений в коде. Константы классов. Абстрактные и финальные классы и методы. Ключевое слово self. Статические методы и поля классов. Работа с интерфейсами. Трейты (типажи) и «множественное наследование» Описание методов класса для вывода всех страниц сайта. Создание списка нужных нужных классов для типовой социальной сети, создание и описание функций этих классов.
Тема № 3. Организация доступа к базе данных MySQL средствами ООП PHP
Создание базы данных и таблиц программным методом. Подключение к базе данных. Создание класса модели базы данных. Драйвер работы с базой данных. Выполнение запросов: вставка (insert), обновление (update), удаление (delete), выборка данных (select). Обработка выборок из БД средствами ООП PHP. Параметризированные запросы к базе данных. Соединение таблиц с помощью join. Безопасная работа с базами данных. SQL-инъекции и способы их предотвращения.
Тема № 4. Использование паттернов и шаблонов в программировании
Понятие паттерна и MVC. Порождающие и структурные паттерны. Паттерны поведения. Практическое использование паттернов. Базовый шаблон и вложенные шаблоны. Шаблонная функция. Буферизированный вывод в PHP. Универсальный метод шаблонизации. Создание шаблона главной страницы. Создание метода, подгружающего шаблоны страниц сайта.
Тема № 5. MVC и ООП
Понятие MVC. Архитектура MVC. Пример реализации объектной модели MVC в PHP. Реализация сайтов в MVC. Файл начальной загрузки и настроек. Модель. Представление. Контроллер, иерархия контроллеров. Точка входа. Иерархия контроллеров. Цикл обработки запроса. Автозагрузка классов.
Тема № 6. Web-сервисы средствами ООП PHP
Реализация авторизованного доступа к сайту: пользователи, роли, привилегии, сессии. Разделение прав доступа. Механизм авторизации и MVC. Базовый шаблон и авторизация. Проверка привилегий в шаблоне. Шифрование паролей, алгоритм md5. Генерация случайных строковых последовательностей. Определение online-пользователей.
Тема № 7. Конструирование собственного фреймворка для создания сайтов
Обзор существующих фреймворков и принципов их работы. Разработка сайта. Разработка пакета-сборки для создания небольшого сайта.