Skip to content

Latest commit

 

History

History
129 lines (102 loc) · 4.6 KB

MotivationsForFlourish.wiki

File metadata and controls

129 lines (102 loc) · 4.6 KB

Table of Contents

Motivations for Flourish

<<toc></toc>>

Before work on Flourish began, a good deal of time was spent trying to find a PHP framework or library that accomplished the following:

- Does not require use of MVC, especially the Front Controller variation - Has good documentation that allows finding what you want with minimal effort - Handles OS/server portability well, requiring a minimum of non-standard PHP extensions - Encourages security best-practices and provides tools and examples to secure applications - Provides an easy to use and consistent API so that end-user code doesn't have to handle as many edge cases - Does not require manual definition of ORM model schemas or relationships - Is not released in long monolithic release cycles - Doesn’t require using the developer’s favorite revision control software (SVN, CVS, GIT, Bazaar, etc) to get the latest code - Allows removing extraneous code or downloading only what you want - Provides a simplified and consistent interface to common PHP usage patterns - Does not simply try to emulate another framework from another language - Is released under a minimally invasive open source license, to allow for inclusion in closed source code

Research Results

Some of the frameworks and libraries that were investigated include:

PEAR

- Homepage: http://pear.php.net - License: various - Overview: A large collection of disjoint classes from many different maintainers, many have poor documentation and a confusing APIs

Propel

- Homepage: http://propel.phpdb.org - License: LGPL - Overview: Apache’s Torque Java ORM ported to PHP, XML schema definition

Doctrine

- Homepage: http://phpdoctrine.org - License: LGPL - Overview: A very large and complicated ORM with its own abstraction of SQL

Code Igniter

- Homepage: http://codeigniter.com - License: BSD-ish - Overview: An MVC framework for PHP4/5

Kohana

- Homepage: http://kohanaphp.com - License: BSD - Overview: Originally a fork of Code Igniter, now rebuilt in PHP5. Still strict MVC, decent documentation.

Seagull

- Homepage: http://seagullproject.org - License: BSD - Overview: A long-lived and somewhat confusing MVC framework with PHP4/5 support

Symfony

- Homepage: http://www.symfony-project.org - License: MIT - Overview: An "Enterprise" PHP5 MVC framework—one of the slowest available

CakePHP

- Homepage: http://cakephp.org - License: MIT - Overview: PHP4/5 MVC framework with lots of community—one of the slowest available

SolarPHP

- Homepage: http://solarphp.com - License: BSD - Overview: A huge library/framework with a long release cycle, still in alpha

Zend Framework

- Homepage: http://framework.zend.com - License: BSD - Overview: The definition of "Enterprise" with over 1500 source files

Other PHP Frameworks/Libraries

The following are some other (mostly smaller) frameworks and libraries that were not fully reviewed.

- http://www.atomikframework.com/ - http://www.yiiframework.com/ - http://www.qadram.com/vcl4php/ - http://adventure-php-framework.org/Page/001-Home - http://phocoa.com/ - http://cognifty.com/ - http://www.qcodo.com/ - http://okapi.liip.ch/ - http://www.akelos.org/ - http://code.google.com/p/phaux/ - http://orchid.phpxperts.net/ - http://www.pradosoft.com/ - http://ez.no/ezcomponents - http://www.fusebox.org/ - http://www.phpontrax.com/ - http://qphp.net/ - http://www.zoopframework.com/ - http://www.stubbles.net/ - http://www.stratosframework.com/