php入口文件类,PHP框架DIY[主入口文件及MVC的实现]

最近正在开发一个PHP的开发框架(ibframework),所以把开发过程中的一些技术细节做一下分享,让你可以轻松编写自己的专属框架(很久没写文章了,为了大V,无奈啊)。

目前框架还正在开发中,参考原型是(YII/CI/Brophp等开源框架),代码我都会及时同步到github,代码还有很多的不足之处,希望能跟各位PHP爱好者多多交流。托管地址:https://github.com/xstudio/ibframework

今天主要简单阐述一个Framework的主入口文件(index.php)和MVC模式的实现。

一般一个框架的主入口文件是网站根目录的index.php,用户每次都要访问的。这样在index.php中就可以根据用户请求参数实例化不同的控制器类。例如一个简单的网站目录结构。

包含一个主入口文件index.php,基本的MVC结构(models/controllers/views)。

主入口文件中,我们只需要处理一下用户提交的参数,假如用c代表应该实例化的控制器类,a代表应该执行控制器中的action。

这样我们就可以在models目录下编写一个TestModel.php的模型文件,打印一个helloworld,一会会在控制器中实例化这个model类。

接着在views目录下编写一个test.php的视图文件,用于显示一会控制器要分配过来的变量$str

最后在controllers目录下编写一个控制器类TestController.php,实例化model类,并且分配views。

b1157da3fbac975d0e1a3b5f8daaa91d.png

注:本文旨在简单阐述mvc的实现原理,所以一切都是基于简单。例如一个完整的框架中会有一个Controller的父类,这样子类集成后就可以调用父类的render方法分配视图了。还有models中的类文件一般会预先加载好或者写到__autoload中,不用再在控制器中包含;为防止不同控制器的视图文件重名,一般会在views目录建一个跟控制器重名的文件夹作区分;框架会有一个单独的文件夹,包含系统的核心类等等。这里都不再赘述,有兴趣的朋友可以学习一下一些开源的框架用法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值