FreedomPanda / simple

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

simple

Simple PHP
	简单、干净的php框架

author		gavinczhang
email		gavin6487@gmail.com
version		0.3
changed		2016年5月15日 01:33:46
Explanation
		* 允许自定义Route
		* 修改Route的挂载方式
		* 增加config文件route.php	
		* 修改站点的入口为Route::init
		* 暂不支持正则route规则
		* 增加日志操作
		* 增加redis封装

##目录结构

controller	控制器目录
	welcome.php	默认controller
view		视图目录
model		模型目录

class		核心类库目录
	core.php	核心类
	arr.php		数组操作类
	config.php	config文件读取类
	db.php		mysql操作类
	redisdb.php	redis封装
	orm.php		ORM封装
	cookie.php	cookie操作封装
	session.php	session操作封装(*需要ORM、cookie支持)
	controller.php	Controller类
	view.php	视图类
	route.php	路由类
	valid.php	验证参数是否有效
config		配置文件目录
	database.php	数据库配置
	cookie.php	cookie配置
	session.php	session配置
logs		日志
index.php	入口文件

##常用操作

[写日志]
	//日志文件在logs下,按日期存放
	Core::log($title, $subtitle, $content);

[数组操作]
	$row = Arr::get($array, 'test', false);   =>   $row = isset($array['test']) ? $array['test'] : false;

[COOKIE操作]
	增/改	Cookie::set('abc', 'hahaha');
	查	$a = Cookie::get('abc');
	删	Cookie::delete('abc');
	清空	Cookie::clear();

[SESSION操作]
	Session::instance()->get('abc');
	Session::instance()->set('abc', 'edf');
	Session::instance()->delete('abc');
	Session::instance()->clear();

[DB操作]
	$query = DB::instance()->query($sql);
	$row = DB::instance()->fetch($query);
	$value = DB::instance()->check($value);	过滤函数

[ORM操作]
	ORM::factory('cloud.depts')->where(array('rtx' => array('LIKE', '%gavin%')))->find_all();
	ORM::factory('depts')->add(array('rtx' => 'gavinczhang', 'name' => '张超'));
	ORM::factory('depts')->where(array('rtx' => 'gavinczhang', 'name' => '张超'))->delete();
	ORM::factory('depts')->where(array('rtx' => 'gavinczhang', 'name' => '张超'))->save(array('rtx' => 'gavin', 'name' => '张超'));

[VIEW操作]
	View::bind('test', $abc);
	View::bind(array('test' => $abc, 'a' => $b));
	View::display('index');

[Route操作]
	Route::set('list/hello', array('controller' => 'temp', 'action' => 'list'));	表示***.***.***/list/hello的网址,由Controller_Temp类下的action_list方法执行
	Route::set('404', array('controller' => 'error', 'action' => '404'));	表示定义404页面
	//TODO 未来将支持正则表达式
	Route::set('list/<controller>/<action>', array('controller' => 'temp', 'action' => 'list'));	表示所有/list/controller_name/action_name下的网址,均由对应的controller和action执行

##相关错误信息

[Wrong Type 1] 文件(model/class/view/config)不存在
[Wrong Type 2] 初始化参数(cookie)无定义
[Wrong Type 3] URL非法

[Mysql Error] mysql错误号及错误信息
SQL: 错误语句

[HTTP Error 404] controller或action不存在

##其他说明

代码中以 //* 开始的注释字样,表示等待实现功能。
需要尽快实现错误机制

##更新记录

2014年5月11日
· 实现最基础的框架结构规划
· 实现自动挂载
· 实现config文件读取
· 实现cookie操作封装

2014年5月12日
· 实现DB操作封装
· 实现简单的ORM封装

2014年5月13日
· 实现基于数据库的session操作
· 修改del相关函数的调用方式为delete

2014年5月15日
· 实现基础的MVC功能
· 实现默认路由
· 还原为统一入口
· 修改自动加载机制,用以自动挂载model

2014年5月16日
· 修改自动挂载实现方式
· 修复session、orm等语法bug
· DB类增加过滤函数,ORM中过滤函数改为调用DB的过滤函数实现

2014年5月18日
· 删除action必带参数$param
· Controller增加$this->_post与$this->_get方法,过滤get和post参数
* 考虑增加参数自动过滤,每个表单一个固定的md5 key,填写好每个参数的验证方式,在Controller入口处进行统一过滤及返还错误信息

2014年5月19日
· 增加Valid类,判断参数有效

2014年5月21日
· 修复输出错误的bug

2014年5月23日
· 允许自定义Route
· 修改Route的挂载方式
· 增加config文件route.php,用以自定义route规则
· 修改站点的入口Route::run为Route::init 执行Route初始化读入
* 暂不支持复杂的正则格式route规则

2016年5月15日
· Bug fixed

About


Languages

Language:PHP 100.0%