TiP is a general purpose framework for quickly build a working web site in a typical PHP/MySQL environment. It is targeted at developers, experienced Web administrators and anyone unafraid of hacking and using a text editor.
I've tried some open source CMS but I've found them really bad developed or too bloat for my requirements, so I started to write my own one. Soon I found some limitation due to the CMS idea itself: shaking together PHP and HTML (as done by a lot of CMS) gives a site structure too rigid and a bad programming style.
So I choosed to develop a preprocessor (as PHP itself): TiP is a sort of additional abstraction layer built on top of PHP.
Product's homepage
Here are some key features of "TiP":
Logic and style completely separated:
· Although not easily to do in PHP, in TiP seems to work well. Under the style directory you will never meet a PHP command and under the logic directory you will never meet any HTML tag.
High flexibility:
· As a direct consequence of the logic/style separation, the user interface can be whatever you want. To be more specific, TiP is a preprocessor, not a CMS: this means the stuff you found in the style/ directory is a sample implementation of TiP, not TiP itself.
Modular structure:
· The need to easily add or remove features is one of the target of this project. The TIP_Module is the brick over which the extension mechanism is built.
Quick responsiveness:
· TiP is quick, at least with the default TIP_RcbtNG engine. Furthermore, the template compilation and the static cache can make the difference.
· Whenever in doubt between different ways I ever selected the fastest (against simplicity).
Template and data engine abstraction:
· The TIP_Template_Engine and TIP_Data_Engine abstract classes bring a common methods to access the underlying engines. This helps extending TiP beyond its natural limits, adding support for PostgreSql for instance or using another template engine instead of RcbtNG.
Requirements:
· PHP
· MySQL
What's New in This Release: [ read full changelog ]
· The TIP_Class module interaction has been improved by allowing explicit field values and freezing the form elements when expected.
· TIP_Data now allows joins between tables other than "LEFT JOIN".
· TIP_Data_Engine exposes query() to be able to perform custom queries.
· The new actionSearch() method has been implemented in TIP_Content: this allows to quickly configure search actions on generic content.
· The TIP_Form has been improved in many ways, and now implements a basic framework for AHAH interaction.
· This can be used for client-side validation or form interaction improvements.