Skip to content

hihus/newpi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 

Repository files navigation

###introduce: php framework PI (目前本项目未经作者允许不能应用于其他项目,也不能基于本框架二次开发)

###depends: php >= 5.2.0 webserver open path_info

###features:
1 轻量+插件化:核心功能支持核心业务逻辑,不同插件支持不同项目逻辑(如app.php支持com模块,web.php+路由插件支持web-mvc项目) 2 强调代码管理:追求严格的代码格式控制 3 支持远程调用:每个接口的方法都可以配置是否远程调用,服务器和客户端无需做任何调整

###usage: 思想: 1 本框架是为php基本应用场景开发,比如最常见的四种依赖php语言的场景: web环境,task后台脚本环境,api移动端环境,其他项目直接嵌入框架代码的环境(暂时叫com环境) 2 在一个中大型的又依赖php语言的项目来说,上面的4种场景基本都有。 3 PI框架的最小核心围绕 类库加载+操作数据的核心(暂时称com模块,区别上面的com环境),并提供接口的rpc调用功能 4 在最小核心基础上加载不同的管道(插件),实现不同的场景。不同的场景可以共享com模块的逻辑 5 框架会不断加强开发规范,因为比较认同好代码都靠代码管理写出来的

pi目录(框架核心代码):
	-- App.php : 这个核心初始化了环境和核心库,比如db,cache,log,php运行环境,基本错误处理,自动加载方法(core/loader.php)
	-- Pi.php  : 提供了核心配置加载Pi::get,和不同场景的配置加载Conf::get,com模块用pi的加载配置,插件场景用conf加载配置。
				 还有include文件的公共方法Pi::inc,反射调用类方法的pi_method_call
	-- Task.php: 提供了脚本场景的基本初始化,是个示例。基本功能都有,可以直接用,也可以参考重构
	--  Com.php: 提供了嵌入场景的基本初始化,是个示例。基本功能都有,可以直接用,也可以参考重构 (比如用ci框架需要嵌入pi)
	--  Web.php: 提供了web场景的基本初始化,是个示例。基本功能都有,可以直接用,也可以参考重构  (就是最常见的web-mvc)
	--  Api.php: 提供了api场景的基本初始化,是个示例。基本功能都有,可以直接用,也可以参考重构  (可以为内网接口或者移动开发用)
	--config.inc.php: 框架的配置文件,最核心的配置
pi/core目录:
	-- 各种核心类库 db,cache,log,view(暂时用的smarty),一些接口类,虚基类
	   以及自己实现的一些插件路由(可以自己开发重构,改配置加载哪个都行)
pipe目录:
	-- 各种插件,app.php的run方法会运行整个流程,他会根据配置加载插件(可调顺序),输出最后结果
		这里面的插件是基本插件,可以自己实现,比如,web-mvc的全部运行过程都是用插件实现的,其他场景也是
util目录:
	-- 类库,跟业务无关的通用类库
misc目录:
	-- 帮助文档,工具目录,比如build.sh会帮助生成一个项目目录结构,check_code_std检查所有项目代码,看有没有不按规则开发:
		比如出现其他域名,出现_GET,直接使用了include之类的,不断完善中...

项目目录:
	参考proj目录。给出了4中场景的实例,可以跟着代码跑个全流程

###todo list: 1 (ok) 梳理核心代码所有异常和错误梳理 - 该返回的返回,该报错的报错 2 (ok) 梳理输入输出缓存模型 3 (ok) 优化代码 4 (no) 队列库:添加mongodb队列引擎 5 (continue) 整理框架工具 + 文档 6 (continue) 添加好的类库

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages