A Zend Framework Implentation
OTHER License
This is a demo basezf application, primarily developed to provide a clean implementation of the Zend Framework.
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:
Run the "make config" commande and answer questions:
cd <myproject_path> make config
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/)
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
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
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
@todo list basic features
Frameworks:
Features:
And many more not yet listed...
"Software is like sex: it's better when it's free"
<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_" on | | .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.
If you have any feature requests, feel free to send them to:
Harold Thetiot <[email protected]>
I may or may not honor them. :)