-
Notifications
You must be signed in to change notification settings - Fork 3
A Zend Framework Implentation
License
hthetiot/basezf
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a demo basezf application, primarily developed to provide a clean implementation of the Zend Framework. INSTALLATION ======================================================================= This application requires that you either have Zend Framework on your include_path, or that you will be symlinking your Zend Framework library into the library directory. If you do not yet have Zend Framework, you can get it from one of the following sources: * Official Release: http://framework.zend.com/dowload/latest * Using Subversion; use either the current trunk or the 1.9.2 release branch: svn co http://framework.zend.com/svn/framework/standard/trunk/library/Zend svn co http://framework.zend.com/svn/framework/standard/branches/release-1.9.2/library/Zend * Using Git; use either the current trunk or the 1.9.2 release branch: git clone http://tjohns.net/git/zf.git git fetch git checkout --track -b release-1.9.2 origin/tags/release-1.9.2 Install Zend Framework locally, and the follow these steps: 1. Run the "make config" commande and answer questions: cd <myproject_path> make config 2. Init your environment cp <myproject_path>/includes/auto_prepend_local.php-dist <myproject_path>/includes/auto_prepend_local.php set ZF_PATH value on <myproject_path>/includes/auto_prepend_local.php to Zend Framework path (without library/) 2. Add Apache config generated by "make config": ln -s <myproject_path>/etc/apache.conf /etc/apache2/site-available/001-myproject ln -s /etc/apache2/site-available/001-myproject /etc/apache2/site-enable/001-myproject sudo /etc/init.d/apache2 reload DEPENDENCY ======================================================================= PHP Package php5 php-pear php5-mysqli php5-pgsql php5-curl php5-xmlrpc php5-json PHP PEAR Modules (pear channel-discover pear.phpunit.de) PHP_CodeSniffer phpunit/PHPUnit phpunit/phpcpd phpunit/phploc PHP PECL Modules apc memcache xdebug Apache Modules (need to be enable for perfomance issue) Expire Rewrite Deflate Binary Services Package gettext imagemagick memcached pwgen java-1.6 csstidy Documentation Generation (useless in production) doxygen graphviz DOCUMENTATION ====================================================================== Documentations files are available on following paths: <myproject_path>/doc/pdf <myproject_path>/doc/html <myproject_path>/doc/latex To Generate source code documentation, run the "make doc" command: cd <myproject_path> make doc FEATURES ======================================================================= @todo list basic features Frameworks: - Zend Framework 1.9.2 - Motools 1.2.3 - BluePrint 0.9 Features: * MakeFile - Static content compilator for CSS and JS use YUICompressor and TidyCSS - PHP Unit test with Examples Classes for MVC coverage and others layers (using phpUnit) - PHP Unit test coverage report - PHP syntax validator - PHP quality validator and inspector (using phpcs, phploc and phpcpd) - Source code documention generator (using Doxygen) - Locale manager (update, deploy, merge using gettext) - Log manager (clean, archive, rotate) - Config manager (deploy, distribute, versioning) * Orm (DbItem + DbCollection) - Zend_Cache support - Zend_Db support - Zend_Db_Select support - Data Mass Extractor/Extractor - Simple Extend for DbItem and DBCollection - Simple CacheKeys and Expire Duration management for many patern with no complex flushing - Paginator Flushing on DbCollection - Template parsor Adapter with simple scripting support - Debugger and log * Orm (not merged but in sandbox) - Sphinx adapter - StCollection And StItem - Full relationel mapping one to one and one to many (extendable) * Others - Controller plugin to enable full native cache browser - Zend_Application_BootStrap extended class - Simple and usefull Abstract Controllers - UWA Abstract Controllers (widget for os, phones and web services) - New Form Elements and Decorators and Helpers include BaseZF helper JS plugins (based on mootools) - Debugger and Loger for Firefox (use ZF now) - Local environment for developer - Debugging tools frontends: Apc, XDebug, MemCached, phpUnit, ... - Use Apache AutoPrepend for perfomance issue (instead of .htaccess) - Distributed Config on repository * Others (not merged but in sandbox) - Locale parser for StCollection and StItem - Simple Gettext Release Process And many more not yet listed... "Software is like sex: it's better when it's free" STRUCTURE ======================================================================= <myproject_path>/ | |-> app/ - This directory contains your application. It will house the | | MVC system, as well as configurations, services used, and your | | bootstrap file. | | | |-> Bootstrap.php - This file is the entry point for your application. The purpose | | for this file is to bootstrap the application and make | | components available to the application by initializing them. | | This file should not call dispatch() on the front controller. | |-> controllers/ | |-> views/ | |-> filters/ | |-> helpers/ - These directories will contain view helpers. View helpers will | | be namespaced either as "App_View_Helper_<HelperName>" on | | <HelperName>.php file | | | |-> layouts/ - This layout directory is for MCV-based layouts. | |-> scripts/ | |-> bin/ |-> data/ - This directory provides a place to store application data that | is volatile and possibly temporary. The disturbance of data in | this directory might cause the application to fail. Also, the | information in this directory may or may not be committed to a | subversion repository. Examples of things in this directory | are session files, cache files, sqlite databases, logs and | indexes. | |-> doc/ - This directory contains documentation, either generated or | directly authored. | |-> etc/ - The application-wide configuration directory |-> includes/ |-> lib/ - This directory houses of PHP libraries folder which contains | BaseZF and MyProject. Developers should also place their | application's library code under this directory in a separate | namespace- ie, a namespace that does not begin with 'Zend'. |-> locale/ |-> public/ - This directory contains all public files for your application. | index.php sets up the PHP environment, include the | Bootstrap.php file from your app/ directory and finally | dispatch() the front controller. The web root of your web | server would typically be set to this directory. |-> sql/ |-> tests/ - This directory contains application tests. These could be hand written, phpunit , tests selenium based tests or based on some other testing framework. By default, library code can be tested by mimicing the directory structure of your library/ directory. Additionally, functional tests for your application could be written mimicing the app/ directory and subdirectory structure. REQUESTS ======================================================================= If you have any feature requests, feel free to send them to: Harold Thetiot <hthetiot@gmail.com> I may or may not honor them. :) LICENSE ======================================================================= Please see COPYING =======
About
A Zend Framework Implentation
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published