一个简单的PHP框架的业务流程(下)

作者: ladeng6666 分类: PHP 发布时间: 2017-10-20 17:56 阅读: 1,717

上一篇文章,总结了一个PHP框架的大致流程。

  1. imooc类,作为整个框架的入口类,在index页面中,创建imooc对象,然后调用它的run()函数,开始运行框架。
  2. run()函数中,通过route类对象,解析出对应的控制器$ctrl,以及控制器要执行的方法$action,并执行该方法。
  3. indexCtrl控制器类中,它的$action函数中,实现HTML页面的渲染。

这就是一个简单的PHP框架的大致运行流程。接下来的内容,是在这个基本框架的基础上,不断的进行完善。

1

conf.php

文件地址:core\

目前框架中有些固定的信息,是保存在类文件中的,比如:

  • route.php路由类中,当页面URL没有输入任何的控制器、和action的信息时,自动默认的indexCtrl和index信息。
  • 数据库连接时的用户名、密码、数据库的名称信息

但这些信息需要修改的时候,要修改对应的PHP文件,不是很方便。如果把这些信息,都提取出来,集中在一起,保存到一个叫做conf.php的文件,这样后续修改起来,会更加的轻松。

conf.php的作用是加载一些配置文件,这些配置文件里,只包含了一个简单的数组(配置数据),conf.php加载后,会把这些数组中的数据返回。返回的方法有两种:

  • get(变量名,配置文件名):返回配置文件中,对应名称的变量。
  • all(配置文件名):返回配置文件中,所有的变量。

另外,conf.php中的conf类是一个单利类,get()和all()都是静态方法,可以随时调用。

2

配置文件

文件路径:config\

前面所说的这些配置文件,都保存在config文件夹中,具体包括:route、cache、database、config、system等等。它们的共同特点,就是文件中只包含了一个存储配置信息的数组。例如route.php

然后要始终代码中的变量,通过conf::get(变量名,文件名),就可以轻松获取。

3

view.php

通过配置文件,获取到了控制器的名称(indexCtrl.php),以及控制要执行的action(index),打开文件查看代码可以看到,代码非常的简单。只是调用了一个display()方法。

不过这个display()方法并没有再indexCtrl.php这个文件中声明,还是通过use view,载入了外部trait。

trait的是声明和类相似,不过使用的时候,直接通过use yourTrait,就可以把trait中的代码“copy”过来。所以trait做大的作用,就是实现代码的复用。

 

通过上面的代码可以看到,因为view里包含了一个display()方法,所以indexCtr.php在use了view之后,可以直接使用display()方法。

4

其他工具

课程中在完善这个框架的时候,还使用了其他几个工具类:

  • composer:Composer是PHP中用来管理依赖(dependency)关系的工具,相当于一个包管理器,如npm。
  • medoo:Medoo是一个轻量级的PHP数据库框架。
  • twig:twig是一个PHP模板引擎。模板内的 变量 和 表达式 会在运行的时候被解析替换,标签(tags)会来控制模板的逻辑。

这些暂时不学了,以后用到的时候再学习吧。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注