Simple application implemented by the blog developed based on Zend framework 1
.
The main idea of the application has been taken from the book
"Practical Web 2.0 Applications with PHP" (Authors: Quentin Zervaas)
.
The documentation on the Zend framework can be found on the website
Zend-Learn.
Examples of the application installation are for OS "Windows"
and web server Nginx
.
- Application implements a simple application management blog
- Expands with configuration file
application.ini
located in theapplication/configs
- Realized the localization of three languages: English, Russian and Ukrainian
- Ensures the registration process, user authentication and authorization
- The database created three users with the appropriate rights. The administrator (login = admin; pass = admin), editor (login = editor; pass = editor), user (login = user1; pass = user1)
- Uses a database type SqlLite
data/db/myblog.db
- Full-text search is implemented by using the
Zend_Search_Lucene
, included inZend Framework 1
- Used template Smarty 2
vendor/smarty/smarty/libs
- User message can consist of a text message itself and five for fitting resources (images, audio, video, streaming audio/video, geo-coordinates)
- You can give comments to the appropriate user message or other users comments
- The following types of resources. Images (jpeg, png, gif), audio (mp3), video (swf, flv, mov, mp4, m4v, f4v, YouTube), streaming video (RTMP, PSEUDOSTREAMIN, ADOBE HTTP STREAMING)
- You can create slide shows based on
mp3
audio format and the configuration filejson
formatpublic/upload/users/admin/files/video
- For creating and editing a text message using editor CKEditor
- To view and listen to video and audio resources used FlowPlayer
- To view video YouTube uses the class ProtoTube
- To display geo-coordinates using Google Maps (JavaScript API V3)
- Geo-coordinates, you can place your notes, and more information on the area (photos, reports, etc.)
- User resource in the form of images, documents, video and audio files can be downloaded and viewed using web file manager CKFinder
- Added libraries such as Zend-Framework 1 (this is basic application library), mPDF (to create reports in PDF), phpQuery (CSS DOM selector). These libraries are located in the
library
- Also added plug-ins for working with arrays, strings, XML, HTTP, and others
application/plugins
- Added site administration module
application/modules/admin
. With this module you can manage registered users, users messages, configure the application, and use a variety of tools - With the site administration module, you can view and clear the error logs, reports and statistics. And you can generate reports in HTML and PDF formats
- On the client side using the librarys Prototype, Scriptaculous, Bootstrap 2, and services Lightbox, Highlight, MyUi, Prototype-window, Prototype Accordion, Prototype Carousel, which are
public/js
- Clone zf-myblog project with git.
- Run
composer install
. - The application must install the latest version of the library
Zend-Framework 1
in the folderlibrary/Zend
. The latest version of the library can be downloaded - here. - To generate reports in the format
PDF
can install the latest version of the librarymPDF
in the folderlibrary/mPDF
. The latest version of the library can be downloaded - here. - Configure the Web server so that the entry point was
public/index.php
. - Set, if necessary, the appropriate permissions to write to
path/to/project/var
. - Access your project url with web browser.
In the configuration file created three sections: production
, testing
, development
. Sections testing
and development
use common settings section production
, but can also have their own specific settings.
[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