10.1 Шаблоны проектирования

1 Понятие паттернов проектирования 1.1 Общие концепции Шаблон проектирования, или проектный образец, или паттерн проектирования (design pattern) представляет собой описание взаимодействия объектов и классов, адаптированное для решения определенной задачи в конкретном контексте. Шаблон проектирования именует, абстрагирует и идентифицирует ключевые аспекты, которые позволяют применить его для создания повторно используемых проектных решений. Шаблоны проектирования более абстрактны, чем […]
Далее…

 

10.2 Введение в MVC

1 Классификация подходов по разделению кода и шаблона сценария 1.1 Смешение HTML и кода PHP Метод смешения кода PHP и HTML тегов имеет ряд серьезных недостатков: Невозможность автономной работы над проектом нескольких специалистов (дизайнера, кодировщика, проектировщика баз данных). Трудности отладки (ошибки, связанные с реализацией алгоритма, невозможно отделить от ошибок, связанных с представлением). Проблемы с многократным […]
Далее…

 

10.3 Фреймворки

1 Фреймворки PHP — один из самых популярных языков программирования для разработки веб приложений на стороне сервера, во многом благодаря наличию фреймворков, которые ускоряют и оптимизируют процесс веб-разработки, Фреймворк (framework — каркас, структура) — готовый к использованию комплекс программных решений, определяющий структуру программной системы и облегчающий ее разработку. Использование фреймворков имеет следующие преимущества: Ускорение процесса […]
Далее…

 

10.4 Системы контроля версий. PHP 7

1 Системы контроля версий При разработке крупных проектов возникает необходимость в дополнительных средствах контроля за различными версиями исходного кода Это означает возможность доступа к предыдущим версиям документов с целью прослеживания внесенных изменений, а также, при необходимости, возврата («отката») к предыдущей версии. Кроме того, часто бывает необходимо обеспечение коллективного доступа к проекту, что также дает возможность […]
Далее…

 

10.5 Система документирования PHP

1 Принципы документирования в РНР 1.1 Системы документирования и генераторы документации Язык программирования PHP является языком с динамической (слабой) типизацией, не требующим указания типа при объявлении переменных, в описаниях функций, методов и т.д., что может привести к потенциально возможным ошибкам. Вследствие этого возникает дополнительная необходимость тщательного документирования исходного кода, в особенности, если речь идет о […]
Далее…

 

7.1 Введение в OOP

1 06ъектно-ориентированные программирование в РНР 1.1 Причины возникновения и преимущества объектно-ориентированного подхода. Основные принципы и концепции ООП В семидесятые годы ХХ века индустрия разработки программного обеспечения столкнулась с вызовами, обусловленными постоянным ростом объема программных систем, а также с существенным повышением их сложности. В частности, возникновение диалоговых систем с различными механизмами поведения, возможность асинхронного ввода данных […]
Далее…

 

7.2 Наследование. Абстрактные классы. Полиморфизм. Трейты

1 Наследование в РНР 1.1 Основы наследования Механизм наследования – важная часть объектно-ориентированного подхода, который заключается в порождении производных классов от базовых. Если один класс (наследник) является потомком другого (родительского), то наследник имеет возможность пользоваться данными и функциями, определенными в классе-предке, а также расширить функциональность уже существующего класса. Это позволяет реализовать дополнительную функциональность в похожих […]
Далее…

 

7.3 Обработка ошибок и исключения. Журналирование

1 Обработка ошибок В процессе работы программы могут возникать ошибки. Ошибки могут носить различный характер, быть фатальными (например, ошибка – error), с невозможностью автоматического восстановления и приводящими к прекращению функционирования скрипта, и нефатальными, восстановление после которых не требуется (например, предупреждение – warning, уведомление – notice, а также отладочные сообщение – debug notice). Ядро языка PHP […]
Далее…

 

7.4 Расширяемый язык разметки XML

1 Основы расширяемого языка разметки XML Расширяемый язык разметки XML (Extensible Markup Language), созданный в 1996 году Консорциумом W3C (World Wide Web Consortium), является подклассом стандартного языка разметки (Standard Generalized Markup Language, SGML). XML был задуман как гибкий и в то же время формальный метаязык для использования в Интернете. Язык XML нашел широкое применение в […]
Далее…

 

7.5 Стандартная библиотека PHP (SPL)

1 Стандартная библиотека PHP (SPL) Стандартная библиотека SPL – это набор интерфейсов и классов, предназначенных для решения стандартных задач в PHP (использование итераторов, обращение с объектом как с массивом, реализация связанного списка, стеков, куч и очередей, рекурсивный обход директорий). Эти классы и методы встроены в РНР и работают быстрее, чем варианты их реализации средствами РНР. В […]
Далее…

 

8.1 Введение в AJAX

1 Технология AJAX AJAX (ˈAsynchronous Javascript and XML – «асинхронный JavaScript и XML») – подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее. Сравнение стандартного подхода и AJAX В классической модели веб-приложения: Пользователь заходит […]
Далее…

 

8.2 Сокеты

1 Сокеты Сетевое взаимодействие между компьютерами на прикладном уровне может быть осуществлено при помощи сокетов. Сокет (socket, разъём) – это абстрактный объект, представляющий одну из двух конечных точек сетевого соединения. Можно воспринимать сокет как комбинацию IP-адреса и порта. Сокет предоставляет возможность другим компьютерам в сети находить определенную программу, которая исполняется на определенном компьютере. Сокеты обеспечивают […]
Далее…

 

9.1 CMS WordPress

1 Система управления контентом WordPress Система управления содержимым — Content management system, CMS Система управления содержимым (контентом) (Content management system, CMS) — информационная система или компьютерная программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления содержимым (контентом ). Основные функции CMS: Предоставление инструментов для создания содержимого, организация совместной работы над содержимым, Управление […]
Далее…

 

9.2 Создание тем CMS WordPress

1 Темы (шаблоны) WordPress 1.1 Структура файлов шаблона WordPress Шаблоны для WordPress обычно представлены папкой с набором соответствующих файлов (PHP и CSS) и вложенной папкой с изображениями. Шаблон должен быть добавлен в папку themes, которая находится, в свою очередь, в папке wp-content сайта (например, c:\xampp\htdocs\myWordPress\wp-content\themes). После этого этот шаблон становится доступен из административной панели и […]
Далее…

 

9.3 Создание плагинов CMS WordPress

1 Плагины Вплоть до версии WordPress 1.2 возможность изменения его функционала «под свои потребности» или расширение возможностей достигались путем редактирования исходного кода ядра платформы WordPress. Но это создавало различные неудобства (например при обновлении версий) и от такой практики вскоре отказались. Разработчики внедрили систему расширения функционала с помощью плагинов. Основная идея использования новой системы расширения возможностей […]
Далее…

 

Зачетное задание (блок 3)

Вариант 1 Задача «Генератор сайтов Landing pages» Создать конструктор сайтов Landing pages. Рекомендации к решению задачи. Создать абстрактный базовый класс блока Block  с абстрактным  методом draw(), отвечающим за прорисовку блока. Создать классы блоков, производные от базового (Header, Text, Form, Slider, Footer  и т.д.), в которых перекрыт метод  draw(), печатающий соответствующий данному блоку код HTML. Кроме этого, […]
Далее…