Original text: http://blog.csdn.net/dongnanyanhai/article/details/7561567
I recently wanted to build a website, and I tried many CMS, including dedeCMS and PHPCMS, etc., but the functions are too powerful, although they have great functions. You can freely do secondary development, but the cost of learning secondary development of these CMSs is greater than developing one that just meets your needs! After hesitating for a long time, I finally decided to give up on practical CMS last night!
I don’t have to work at work today, so I had no choice but to spend an afternoon looking at the code of LazyPHP3!
A project led by , can be used on general PHP hosts, and also supports Sina cloud computing platform. LP only contains one FrontController+Layout The system + 20 commonly used functions are very easy to master. Of course, for beginners, the most frustrating thing about this framework is probably the lack of examples.
For a detailed introduction to LazyPHP3, please view: http://ftqq.com/lazyphp/
The download address of LazyPHP3 is on GitHub: https://github.com/easychen/LazyPHP After opening, click Downloads directly to download the entire project.
The project files and functions are as follows:
02│
index.php //Project entry file
03│
README.md//LazyPHP description file, Markdown format
04│
05├─config │
app.config.php
//Project configuration file
09├─ controller//The folder where the project logic control is located
10│
app.class.php default.
class
.php
//Project Default controller
12│ 13
├─lib
14│
app.function.php //Function library
16 ├─local
zh_cn.lang.php //Chinese
18│
19├─model 0│
README
//Description, empty file
/ /Project page display template (detailed file list omitted)
├─test //JSUnit and PHPUnit test framework files (detailed file list omitted)
27
│ //LazyPHP3 framework
29│
lp.init.php
st.init.php
32 ├─core //Framework core
34 │
│ Core.config.php // Framework Configuration File
37│
│ Core.aclass.php // Framework logic control class
40 │
│ core.function.php //Core function library
41│
│ db.function.php //Database operation function
42 │
│ db.sae.function.php //sae database operation function
43 │
│
44│
├─model//Module
46
│
└─view//Framework default template (detailed file list omitted)
└─simpletest //Framework test file (detailed file list omitted) I want to emphasize here that the files we downloaded from the GitHub website are actually a website written based on the LazyPHP3 framework. You can put these files into the PHP server and run them directly. , and the core files of the LP3 framework are in the "_lp" folder of this project! Starting from the entrance (index.php in the root directory):
The main code of index.php is as follows :
1
/****
load lp framework ***/
2define('DS' ,
DIRECTORY_SEPARATOR ); //DIRECTORY_SEPARATOR is a built-in command in PHP, used to solve the problem of path distinction between Win and Linux
3define( ' AROOT',
dirname(__FILE__)
. DS );//The AROOT defined here is the root directory where the website is located, not the root directory where the LP framework is located
5//ini_set('include_path',
dirname( __FILE__ ) . DS .'_lp' ); //
6include_once('_lp'.DS
.'lp.init.php');//Load the lp.init.php file in the _lp folder of the LP framework
7 /****
lp framework init finished ***/
After defining the website root directory address to the constant AROOT, load the LazyPHP3 framework initialization file lp.init.php. Let’s take a look: The lp.init.php file mainly does 4 things:
1. Definition: Define the framework root directory, framework core directory, and set the PHP error level:
01if (
!defined('AROOT')
)die('NO
AROOT!');
02if(
!defined('DS')
) define( 'DS' ,
DIRECTORY_SEPARATOR );