介绍
介绍
福哥今天要带着大家完成控制器模块TFController对象的设计,控制器模块是web框架的核心模块之一,它负责管理控制网站数据,需要高度的兼容性和高度的灵活性,便于开发者进行高效地开发工作。
设计控制器模块比路由模块要复杂许多,因为控制器模块有很多能力需要我们一个一个实现,今天我们就先把这些能力一个一个地列出来,逐一的设计它们的实现方案。
网页模板
web框架可以制作功能程序接口(诸如:API接口、RESTFul接口、SOAP接口等等),而大多数情况下web框架是用来制作普通网页的。
网页包括各种各样的风格、各种各样的布局以及各种各样的元素,而通过php语言来输出这些复杂的html代码会比较复杂,且不容易管理,这就需要借助一个工具叫做——网页模板。
Smarty
在php语言里比较流行的网页模板是Smarty,这个曾经被收录于php.net的网页模板项目,是一个非常强大、非常成熟的网页模板框架。而我们就要将Smarty框架引入进来作为我们TFPHP的网页模板的解决方案,这样就省去了我们自己实现网页模板功能的工作。
控制器
前面我们已经完成了路由模块的设计和实现。但是这里面少了一个环节,就是我们只是通过请求资源路径找到了对应的处理程序的文件路径,却没有真正的通过处理程序将网页内容反馈给用户。
这里面我们设计两个控制器对象。一个控制器对象用来实现普通网页的处理,一个控制器对象用来实现接口的处理。
网页控制器
网页控制器保存到Controller\Page\TFController,程序文件名称为TFController.inc.php。在这个程序文件里面我们实现用于制作普通网页的控制器对象,它需要Smarty支持。
接口控制器
接口控制器保存到Controller\API\TFController,程序文件名称为TFController.inc.php。在这个程序文件里面我们实现用于制作程序接口的控制器对象。
总结
今天福哥带着大家将控制器对象TFController的功能详细地设计了一番,控制器对象包括网页控制器和接口控制器,其中网页控制器还需要第三方的Smarty扩展的支持。
下一课,福哥就开始带着童鞋们进行网页控制器对象TFController的逻辑实现了,大家跟上哦~~
P.S.
微信公众号的文章发出去之后是不能编辑的,但是福哥偶尔会修复一些描述不到位、示例不正确、结构不清晰等等的文章错误,这些只能在网站上才能看到最新版本内容,望大家知晓~~