-
Notifications
You must be signed in to change notification settings - Fork 3
Home
hthetiot edited this page Sep 13, 2010
·
17 revisions
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:
1. Run the “make config” commande and answer questions:
cd make config2. Init your environment
cp /includes/auto_prepend_local.php-dist /includes/auto_prepend_local.php set ZF_PATH value on /includes/auto_prepend_local.php to Zend Framework path (without library/)2. Add Apache config generated by “make config”:
ln -s /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 php5 php-pear php5-mysqli php5-pgsql php5-curl php5-xmlrpc php5-json PHP_CodeSniffer phpunit/PHPUnit phpunit/phpcpd phpunit/phploc apc memcache xdebug Expire Rewrite Deflate gettext imagemagick memcached pwgen java-1.6 csstidy doxygen graphvizDocumentations files are available on following paths:
/doc/pdf/doc/html
/doc/latex
To Generate source code documentation, run the “make doc” command:
cd
make doc
h2. FEATURES
@todo list basic features
h3. Frameworks:
- Zend Framework 1.9.2
- Motools 1.2.3
- BluePrint 0.9
h3. Features:
h4. 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)
h4. 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
h4. Orm (not merged but in sandbox)
- Sphinx adapter
- StCollection And StItem
- Full relationel mapping one to one and one to many (extendable)
h4. 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
h4. 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”
h2. STRUCTURE
/
|
|→ 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.
h2. 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. :)
h2. LICENSE
Please see COPYING