• BSA Lab.
      home

  • apps
    Главная
  • contacts
    Об авторе
  • library_books
    Блог
  • shop
    Портфолио
    keyboard_arrow_down
    • Google API
    • Gapi-People
      wc
    • Gapi-Email
      mail_outline
    • Gapi-Examples
      more

    • Silex (PHP micro-framework)
    • Silex-MVC
      desktop_windows
    • Silex-UBKI
      last_page

    • Zend (PHP framework)
    • ZF-MyBlog
      library_books
    • ZF2-ASM
      show_chart

    • Node.js
    • Express-Passport
      verified_user
    • Feathers-Examples
      more

    • Vue.js (JavaScript framework)
    • Vue-Resume
      account_circle
    • Vue-Business-Light
      work
    • Vue-Examples
      more
    • Vuex-Examples
      more

    • Nuxt (JavaScript framework)
    • Nuxt-Business-Light
      work
    • Nuxt-Vuetify-Start
      picture_in_picture

  • Темы
  • message
    WEB ресурсы
    keyboard_arrow_down
    • Обзор
      filter_none

  • message
    Google Client API
    keyboard_arrow_down
    • Обзор
      filter_none
    • Gmail-Send
      contact_mail
    • Gmail-Inbox
      mail_outline
BSA / Portfolio-zf-myblog
  • Информация

  • contact_mail
    Контакты
  • contacts
    Об авторе
  • public
    Мои проекты на GitHub
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 2vendor/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.

Установка

Предварительные требования

  • PHP version >= 5.4
  • веб сервер Apache2, Nginx или похожие
  • Composer

Развертывание

  1. Клонировать zf-myblog проект с помощью git.
  2. Выполнить composer install.
  3. Для работы приложения необходимо установить последнюю версию библиотеки Zend-Framework 1 в папку library/Zend. Последняя версия библиотеки может быть загружена - здесь.
  4. Для формирования отчетов в формате PDF можно установить последнюю версию библиотеки mPDF в папку library/mPDF. Последняя версия библиотеки может быть загружена - здесь.
  5. Сконфигурируйте веб сервер, чтобы точка входа была public/index.php.
  6. Установите, если необходимо, соответсвующие права на запись в path/to/project/var.
  7. Введите адрес сайта в броузер (пр. http://zf-myblog.ru/)

Конфигурация

application.ini

В файле конфигурации созданы три раздела: production, testing, development. Разделы testing и development используют общие настройки раздела production, а также могут иметь свои специфические настройки см. пр.1.

пр.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
     ...
© 2017 Сергей Бескоровайный
language Разработчик:
BSA Lab.