ZF-MyBlog
Простое приложение реализующее управление блогом, разработанное на базе «Zend Framework-1».
2017-11-17
shop
Введение.
Простое приложение реализующее управление блогом, разработанное на базе Zend Framework 1
. Основная идея приложения была взята из книги "Создание приложений на PHP" (Автор: Квентин Зервас)
. С документацией по Zend framework 1
можно познакомиться на сайте Zend-Learn. Примеры установки приложения приведены для ОС "Windows"
и веб сервера Nginx
.
Этот проект на GitHub можно посмотреть здесь
Ресурсы
- Zend Framework 1
- Быстрый старт
- Документация
- API
- Документация
- Smarty 2
- Документация
Работа приложения
Основные характеристики приложения:
- реализует простое приложение управления блогом;
- расширяется с помощью конфигурационного файла
application.ini
, расположенного вapplication/configs
; - реализована локализация для трех языков: английский, русский, украинский;
- обеспечивается процесс регистрации, аутентификации и авторизации пользователей;
- в БД созданы три пользователя с соответствующими правами. Администратор (login=admin; pass=admin) Редактор (login=editor; pass=editor) Пользователь (login=user1; pass=user1) ;
- использует БД типа SqlLite
data/db/myblog.db
; - реализован полнотекстовый поиск с помощью конпонента
Zend_Search_Lucene
, входящего вZend_Framework 1
; - используется шаблонизатор Smarty 2
vendor/smarty/smarty/libs
; - сообщение пользователя может состоять из самого текстового сообщения и пяти допольнительных ресурсов (изображения, аудио, видео, потоковое аудио/видео, гео-координаты);
- можно давать комментарии к сообщению пользователя или к соответствующим комментариям других пользователей;
- поддерживаются следующие типы ресурсов. Изображения (jpeg, png, gif), аудио (mp3), видео (swf, flv, mov, mp4, m4v, f4v, YouTube), потоковое видео (RTMP, PSEUDOSTREAMIN, ADOBE HTTP STREAMING);
- можно создавать слайд шоу на основе
mp3
аудио формата и файла конфигурацииjson
форматаpublic/upload/users/admin/files/video
; - для создания и редактирования текстового сообщения используется редактор CKEditor;
- для просмотра и прослушивания видео, аудио ресурсов используется FlowPlayer;
- для просмотра видео с YouTube используется класс ProtoTube;
- для отображения гео-координат используются Google карты (JavaScript API V3);
- в гео-координатах можно размещать свои заметки и более подробную информацию о местности (фотографии, отчеты и т.д.);
- ресурсы пользователя в виде изображений, документов, видео и аудио файлов можно загружать и просматривать с помощью веб файлового менеджера CKFinder;
- добавлены библиотеки такие как Zend-Framework 1 (основная библиотека приложения), mPDF (для создания отчетов в формате PDF), phpQuery (CSS DOM селектор). Эти библиотеки находятся в папке
library
; - также добавлены плагины для работы с массивами, строками, XML, HTTP и др.
application/plugins
; - добавлен модуль администрирования сайта
application/modules/admin
. С помощью этого модуля можно управлять зарегистрированными пользователями, сообщениями пользователей, конфигурировать приложение, а также использовать различные инструменты; - в модуле администрирования сайта можно просматривать и очищать логи ошибок, сообщений и статистики. А также можно создавать отчеты в HTML и PDF форматах;
- на стороне клиента используются библиотеки Prototype, Scriptaculous, Bootstrap 2, а также сервисы Lightbox, Highlight, MyUi, Prototype-window, Prototype Accordion, Prototype Carousel, которые находятся в
public/js
.
Установка
Предварительные требования
Развертывание
- Клонировать zf-myblog проект с помощью git.
- Выполнить
composer install
. - Для работы приложения необходимо установить последнюю версию библиотеки
Zend-Framework 1
в папкуlibrary/Zend
. Последняя версия библиотеки может быть загружена - здесь. - Для формирования отчетов в формате
PDF
можно установить последнюю версию библиотекиmPDF
в папкуlibrary/mPDF
. Последняя версия библиотеки может быть загружена - здесь. - Сконфигурируйте веб сервер, чтобы точка входа была
public/index.php
. - Установите, если необходимо, соответсвующие права на запись в
path/to/project/var
. - Введите адрес сайта в броузер (пр. http://zf-myblog.ru/)
Конфигурация
application.ini
В файле конфигурации созданы три раздела: production
, testing
, development
. Разделы testing
и development
используют общие настройки раздела production
, а также могут иметь свои специфические настройки см. пр.1.
...
[production]
; PHP settings
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
;Indicate the path and classname of the bootstrap
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
...
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
...