- 1 Introduction
- 2 Installation
- 3 Quick Start
- 3.1 Echo Hello World!
- 3.2 Use MVC to echo Hello World!
- 3.3 Example: Deploy the blog built in zentaoPHP
- 4 Basics
- 5 Advanced
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
No "zentao' in naming when implementing the framework, all is neutral named, such as router, control, model, config, and lang.
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.