Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом(Пример).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
787.82 Кб
Скачать

2.2. Технология создания программного продукта

Для создания использовался Zend Framework, который имеет набор готовых классов для более быстрой и удобной разработки программных продуктов.

Zend Framework – это каркас веб – приложения разработанный компанией Zend (компания которая осуществляет поддержку и

координацию проекта php).[9]

Zend framework - это PHP framework, созданный и поддерживаемый компанией Zend, сотрудники которой являются непосредственными авторами языка PHP.

Framework - это простая концептуальная структура, используемая для решения сложной проблемной задачи. В контексте программирования framework - это каркас программной системы, который может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта.

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

При разработке использовался класс Zend_Acl, он предоставляет легковесную и гибкую реализацию списка прав доступа (ACL) и управления привилегиями. Приложение может использовать ACL для контроля доступа одних объектов к другим - защищенным.

Данный класс позволяет создавать ресурсы и роли. Ресурс - объект, доступ к которому контролируется. Роль - объект, который может запрашивать доступ к ресурсу.

Говоря проще, роли запрашивают доступ к ресурсам. Благодаря спецификации и использованию списка прав доступа (ACL) приложение может контролировать предоставление ролям доступа к ресурсам.

Создание ресурсов. Zend_Acl предоставляет интерфейс ресурса Zend_Acl_Resource_Interface для облегчения процесса создания ресурса. Этот интерфейс содержит только один метод, getResourceId(). Классу достаточно реализовывать этот интерфейс для того, чтобы Zend_Acl рассматривал объект этого класса как ресурс.

Zend_Acl предоставляет древовидную структуру, в которую могут

добавляться различные ресурсы. В этой структуре они могут быть организованы от общих (корень дерева) к специфическим (листья дерева). При запросах к определенным ресурсам в иерархии будет выполнен автоматический поиск правил, относящихся к ресурсам-предкам, учитывающий простое наследование правил. Однако, могут потребоваться исключения из этого правил, в Zend_Acl это достигается путем закрепления исключений за каждым зданием, требующим исключений из правила. Ресурс может наследовать только от одного родительского ресурса, однако сам родительский ресурс может, в свою очередь, наследовать от другого родительского ресурса и т.д.[9]

Zend_Acl также поддерживает права доступа к ресурсам (например, "создание", "чтение", "обновление", "удаление"), разработчик может присваивать правила, которые будут влиять на все или определенные права доступа к ресурсу.

Создание ролей. Все роли должны реализовывать интерфейс Zend_Acl_Role_Interface. Этот интерфейс содержит единственный метод getRoleId(). Кроме того, Zend_Acl предоставляет Zend_Acl_Role в качестве базового класса, который разработчики могут расширять по желанию. В Zend_Acl роль может наследовать от одной или от нескольких ролей. Это реализовано для поддержки наследования правил между ролями.

Для создания отображаемого интерфейса использовалась компонент Zend_Form, которая упрощает создание форм и управление ими в веб-приложениях. Она выполняет следующие задачи:

  • фильтрация и проверка корректности данных, введенных через

  • элемент формы;

  • упорядочение элементов;

  • визуализацию элементов и форм, включая экранирование;

  • группирование элементов и форм;

  • конфигурирование элементов и форм.

Этот компонент активно использует другие компоненты Zend Framework-а в своей работе, включая Zend_Config, Zend_Validate, Zend_Filter, Zend_Loader_PluginLoader, и, опционально, Zend_View.

Для работы с базой данных использовался класс Zend_db.

Zend_Db и его родственные классы предоставляют простой интерфейс к базам данных SQL в Zend Framework. Zend_Db_Adapter является базовым классом, который должен использоваться для подключения приложения PHP к СУРБД. Существуют различные классы адаптеров для наиболее часто используемых СУРБД.

Адаптеры Zend_Db создают мост между общим интерфейсом и расширениями PHP от конкретных поставщиков для того, чтобы можно было единовременно писать приложения на PHP и затем переключаться между различными СУРБД с наименьшими усилиями.

Интерфейс класса адаптера подобен интерфейсу расширения PHP Data Objects (PDO). Zend_Db предоставляет классы адаптеров к драйверам PDO для следующих популярных СУРБД:

  • IBM DB2 и Informix Dynamic Server (IDS), с использованием расширения pdo_ibm

  • MySQL, с использованием расширения pdo_mysql;

  • Microsoft SQL Server, с использованием расширения pdo_mssql;

  • Oracle, с использованием расширения pdo_oci;

  • PostgreSQL, с использованием расширения pdo_pgsql;

  • SQLite, с использованием расширения pdo_sqlite.

Кроме этого, Zend_Db предоставляет классы адаптеров, использующие расширения PHP для следующих распространенных СУРБД:

  • MySQL, с использованием расширения mysqli;

  • Oracle, с использованием расширения oci8;

  • IBM DB2, с использованием расширения ibm_db2;

  • Firebird/Interbase, с использованием расширения php_interbase.

Для формирования отчетов в формате MS Word использовался класс Module_Word, который позволяет на основе шаблона создавать структурируемый текстовой документ с расширением docx. Особенностью является поддержка кириллических символов при кодировании текста.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]