编写自己的php框架

想给自己写个博客系统,本来想用个轻量级的php框架,百度到biny……

结果路由都走不通……相信我调了好几个小时……

它没有.htaccess,像thinkphp那样加index.php报错index类找不到,不加直接报找不到url,不是系统报错找不到路径那种……简直了……于是打算自己写个php框架。

理论上就是入口初始化容器类,再调用配置文件加载、数据库、路由、页面引擎。

设计模式:工厂模式、容器模式。

我的理解是,工厂模式请求后内部处理,容器模式自己拿出来自己用,反正都是不同类处理不同东西。

但是工程类里面都是相同的业务,比如连接mysql或者sql;容器类里面是数据库连接、路由、页面引擎之类不同的业务。最后返回处理结果。

类自动加载可以有两种法,第一种设置include路径,再引入时include是写文件名就好;第二种使用加载方法,sql_autoload_register方法,参数为方法名,该方法里也是调用include。但是感觉文件都include效率大概不高……

记得做.htaccess、.gitignore文件,可以从其他框架复制过来。

composer加载自己的类和一些依赖,相当好使~

由于是使用composer管理依赖包,在自己的框架里设置一些依赖包的实体类,使容器可以调用,需要注意显示报错的位置,可以用于报错信息美化。

基本思路(在所需类已自动加载的基础上):

1、index: 设置全局常量

3、为各个依赖包创建服务类,构造参数为容器类,便于相互使用。

2、app类:用服务类创建实例

3、index: 实例化app类(自创容器类)、用实例化的容器类创建路径类实例

index中 路径类调用控制器类,控制类里面都可以调用。

目前还差db类,预计再写个插件类。还想写redis、swool、socket ……需要学的东西还挺多……

建议除了基本功能外其余用插件实现,比如larave体积太大客户登录之类的东西倒是都挺全但是并没有自己实现来的方便。

相比较来说symfony感觉挺好,yaf框架php的c语言框架window也可以安装。

--

适合自己的才是最好的,尤其不是公司开发用不同太计较。

加油争取能做完 o(╥﹏╥)o,等写完了换个表情……

参考:

thinkphp类自动加载:https://www.cnblogs.com/drunkhero/p/autoload_design.html

 

你可能感兴趣的:(php)