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:
LazyPHP
│ index.php
//Project entry file
│ README.md
//LazyPHP description file, Markdown format
│
05
├─config
│ app.config.php
//Project configuration file
07
│ db.config.php
09
├─ controller
//The folder where the project logic control is located
10
│ app.
class
.php
default.
.php
12
│ 13
//Project Default controller
├─lib
14
│ app.
function
.php
//Function library
15
│
16
├─local zh_cn.lang.php
//Chinese
18
│
19
├─model 0
│ README
//Description, empty file
21
│
22
/ /Project page display template (detailed file list omitted)
23
24
├─
static
├─test
//JSUnit and PHPUnit test framework files (detailed file list omitted)
27
29
│ lp.init.php st.init.php
├─core
//Framework core
33
│ ├─config
34
│ │ Core.config.php
// Framework Configuration File
35
│ │ ├─controller
37
│ │ Core.aclass
.php
// Framework logic control class
│ │ │ ├─lib
│ │ 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
45
│ README
│ └─view
//Framework default template (detailed file list omitted)
48
49
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):
└─simpletest
//Framework test file (detailed file list omitted)
The main code of index.php is as follows :
1
/**** load lp framework ***/
2
define(
'DS'
, DIRECTORY_SEPARATOR );
//DIRECTORY_SEPARATOR is a built-in command in PHP, used to solve the problem of path distinction between Win and Linux
3
define(
' 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
4
5
//ini_set('include_path', dirname( __FILE__ ) . DS .'_lp' ); //
6
include_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:
01
if
( !defined(
'AROOT'
) )
die
(
'NO AROOT!'
);
02
if
( !defined(
'DS'
) ) define(
'DS'
, DIRECTORY_SEPARATOR );
03