利用 Composer 组建一个 PHP 框架

前言

Laravel框架虽然号称优雅,但层层的继承和trait,函数跳转使得难以窥全一个完整的子类,源代码可读性极差;长时间书写业务代码,技术上到达了一个瓶颈期,很难再提升,遂产生了自造一个PHP框架的想法,希望通过开发框架的整个流程技术能有所进步。暂时先实现MVC等基本功能,有时间慢慢写,典型的自娱自乐项目,Github欢迎star。

思路

index.php解析url,实例化对应的控制器,调用对应的方法处理请求;模板引擎使用blade

安装

git clone git@github.com:lxzan/Caster.git
composer install
sudo chmod -R 777 runtime
配置数据库用户名及密码,配置文件位于/config/db.json

路由

路由由controller/method的结构构成,默认路由为BaseController,默认方法为index

模板引擎

模板引擎使用的是Blade, 点击超链接查看文档。

数据库

使用Composerslim/pdo包来管理MySQL,使用方法参考Github

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 10

能否配置是否需要数据库?

我启动后提示我pdo连接错误。

7年前 评论

找到办法了,去掉index的pdo那一行就可以了。

7年前 评论

@chenge 你没装PDO拓展吗?

7年前 评论

@李曦赞 是没有mysql。

感觉你的代码很小巧,打算完整学习下,很不错。

7年前 评论

代码很少,很容易看懂。谢谢分享。

大概几年前,我也有类似的想法,就是把url对应到类和方法,那个时候没有composer,所以后来就没有做出来。

我觉得这个框架有推广价值,可以搞个blog的demo。

7年前 评论

@chenge 能功能较完整了可以考虑下哈,目前只实现了MVC以及自动加载,中间件、表单校验、分页、安全等方面还没开始写

7年前 评论

@李曦赞 等你写完了中间件、表单校验、分页、安全等 发现。咦,怎么比 Laravel 写的可读性还差。?

7年前 评论

@Will 说的好有道理

7年前 评论

为什么要组件框架 现在的框架够多了

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!