# start_php_framework **Repository Path**: JiDiYanHuo/start_php_framework ## Basic Information - **Project Name**: start_php_framework - **Description**: 尝试从0开始,构建PHP的框架,虽然是重复造轮子,但是造轮子的过程中会有许多收获! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-10-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # start_php_framework #### 介绍 其实当下已经有许许多多优秀的`PHP`框架,在真实编写业务代码的项目中并不需要我们自己动手去从零编写一套框架,有那么多优秀的框架:`Yii`、`Laravel`、`ThinkPHP`等等开箱即用即可。然而,诸多的`PHP`开发者止步于业务的增删改查,对数据库和缓存浅尝辄止,没有更多的思考,没有更深的学习。而当回过神来想要学习,想要进步的时候却发现有那么多的可选项,于是去逐一尝试。然教程虽多,却少有能够由浅入深,引人入胜的作品。开发者们接触一段时间后似乎没什么感觉,也就不了了之。长此以往,于`PHP`的生态或开发者本身都不利。若是以业务的增删改查为水平线,往上,开发者们不了解`设计模式`,不了解`控制反转`,不了解`AOP`,不了解`自己的代码是如何一步步运行起来的`。。往下,开发者们不了解`算法`,不了解`内存`,不了解`数组链表树`等结构的优缺,不了解`进程线程协程`,不了解`PHP编译运行`的过程。。这也是如今`PHP`大为诟病的原因之一。为了**改善哪怕一点点**的这种现状,开始着手准备从零开始编写一套框架。编写框架是所属上述的往上的范畴,他不涉及过多底层的知识,但是可以启迪大家开始进行算法和数据结构相关的思考。总之,哪怕是改变一丢丢的现状,那么,这个项目也就达到预期的效果了。。 #### 源码结构(更新中) ``` start_php_framework [框架根目录] ├─ application [应用运行主目录] │ └─ home [默认模块] │ └─ controller [home模块的控制器文件夹] ├─ config [配置文件目录] │ ├─ config.php [主配置文件] │ ├─ db.php [数据库配置文件] │ └─ router.php [路由配置文件] ├─ core [框架核心源码目录] │ ├─ db [各类数据库驱动文件存储目录] │ │ └─ Mysql.php [MySQL连接驱动] │ ├─ App.php [应用启动文件] │ ├─ Config.php [读取配置文件] │ ├─ Db.php [数据库操作文件] │ └─ Router.php [获取路由表的文件] ├─ runtime [未来存放路由表、运行日志等文件] │ └─ router [存放路由表的文件夹] │ └─ router.json [json格式的路由表] ├─ vendor [composer自有文件夹,将来存储第三方扩展] │ ├─ composer [composer自有文件夹] │ └─ autoload.php [自动加载关键文件,一定要在入口文件引用,且在App.php之前] ├─ web [框架入口] │ ├─ .htaccess [Apache重定向描述文件] │ ├─ index.php [框架入口文件] │ └─ script_update_router.php [更新路由表的脚本] └─ composer.json [composer描述文件] ```