About zentaoPHP

2018-07-10 14:37:10
tengfei
7009
Last edited by tengfei on 2020-09-02 16:07:06

1. The Origin of zentaoPHP

In 2009, we started developing ZenTao project management software, and PHP was chosen as the language for we have been always used it. However, it took a little while to choose the right framework. The oop feature of PHP 5.2 series back then was very powerful, and came with a lot of frameworks, such as CakePHP, Symfony, Zend Framework, CodeIgniter, etc. After doing serious research on these frameworks, we found CodeIgniter fit our requirements. It has simple concepts and rich documents. However, it was based on PHP 4 and procedure-oriented, which made unreasonable implementation.


Considering the products and their future, we decided to develop a framework by ourselves. On March 1, 2009, the first version of zentaoPHP was released.


2. Characteristics of zentaoPHP

zentaoPHP is for developing applications which are B/S architecture. It is not a framework that can do anything, but rather a framework that for us to develop our products. Therefore, it has its own characteristics, including


  • Simple Code

zentaoPHP has only four core files, router.class.php, control.class.php, model.class.php, and helper.class.php. It is simple to implement codes. Coders can extend on the framework and add their own features.


  • Excellent Performance

zentaoPHP attaches great importance to both performance and implementation. Under the premise of implementing features, the efficiency of program execution can be improved as much as possible.


  • Clear Structure

Using zentaoPHP to develop application can have a clear and simple structure of the directory and easy to maintain.


  • Developer Friendly

A framework is a frame that keeps you inside, so there are a lot of regulations telling you what to do or what not to do. A great framework should try to take into account the previous development habits of the developer on the premise of implementing features, so the zentaoPHP framework has spent a lot of effort to


  • Neutral naming

No "zentao' in naming when implementing the framework, all is neutral named, such as router, control, model, config, and lang.


  • Configure object-Oriented

Configuration item can be referred by objects. For example, $config->db->user is much simpler than $config['db']['user'].


  • Include Relative Paths

All paths can be included in relative paths, so that the relationship between the directory structure and code can be clearly understood.


Write a Comment
Comment will be posted after it is reviewed.