一个轻量级的PHP开发框架:LitPHP

jopen 9年前

LitPHP简介

LitPHP是一款轻量级PHP开发框架,基于MVC架构,采用PHP+Apache+smarty组合搭建。其特点是尽可能多地封装常用功能,同时又尽可能地避免增加冗杂的类与方法,让所有phper都能尽快上手。


环境要求

使用本版本LitPHP时注意开发环境,应采用PHP5及以上版本,Apache24及以上版本。


部署框架

  • 把框架部署在web根目录下,
  • 开启apacherewrite_module modules/mod_rewrite.so模块,
  • 访问http://localhost/litphp'
  • 页面出现 '欢迎使用LitPHP框架! :)'即是部署成功。

目录结构

web根目录

index.php (应用入口文件)

.htaccess (Apache分布式配置文件)

public (公共目录)

app (应用文件目录)

conf (应用配置文件目录)

controller (应用控制器目录)

model (应用模型目录)

view (应用视图目录)

LitPHP (系统文件目录)

smarty (smarty模版引擎目录)

verify (验证码目录 存放验证码字体及背景图片)

config.php (系统默认配置文件)

LitPHP.class.php (系统初始化类)

Route.class.php (路由解析类)

Smarty.class.php (重写smarty模版类)

Controller.class.php (基础控制器类)

Model.class.php (基础模型类)

Verify.class.php (验证码类)

Page.class.php (分页类)

Image.class.php (图片处理类)

Redis.class.php (redis缓存类)

</blockquote>
  • 如要阻止目录浏览,只需把.htaccess文件里的#Options All -Indexes注释掉,即删除'#'号即可。
  • 如要关闭PHP所有错误报告,只需将配置文件中的DEBUG常量设置为'off'即可。

Litphp框架基本运行流程

应用入口文件=====>系统初始化类(路由解析类)=====>应用控制器类


关于路由

  • LitPHP路由解析类采用重写方法解析路由
  • LitPHP通过 $_SERVER['PHP_INFO']获得参数 并按路由重写规则对参数进行解析。
  • 路由重写规则为:入口文件/控制器/方法/参数一/参数二/, 如: index.php/index/index/id/123/user/xxx 。
  • 当入口文件为index.php时候,地址栏中可省略该入口文件。
  • 当用路由重写规则解析路由时,若带参数,则应保证地址栏中的控制器、方法同时存在,否则解析会出错。

新建应用

  • 新建入口文件 (如:index.php),若入口文件在应用目录下则应将web根目录下的.htaccess文件复制一份粘贴到该应用目录下。
  • 更新入口文件中的应用路径。
  • 更新入口文件中LitPHP文件引入路径
  • 新建应用目录(注意:应用目录名称应与应用名称相同)。
  • 在浏览器里访问入口文件,系统会在应用目录下生成一些基础目录及默认控制器类。

关于前端文件的放置

  • 前端的html模版及js、css文件应放置在web目录下的public文件中 这样可以减少网站目录结构的泄漏。
  • 应用目录下的view文件夹中默认放置了模版编译目录、模版缓存目录,也可将前端文件放置在此目录下,但注意修改配置文件中的相关路径。

关于命名空间

  • LitPHP 采用自动加载类的模式引入类文件 所以应注意命名空间的定义。
  • LitPHP系统类的命名空间均为 'LitPHP' ,引用系统类时应注意引入系统类的命名空间 如 'use LitPHP\classname;' 其中classname为要引用的系统类名称。
  • 应用控制器类及模型类其命名空间应为 应用名称\控制器层名称或模型层名称; 如: 'namespace app\controller;' 或 'namespace app\model;' 。

项目主页:http://www.open-open.com/lib/view/home/1444490114885