Heim  >  Artikel  >  Backend-Entwicklung  >  ThinkPHP访问控制器和事件控制器的区别

ThinkPHP访问控制器和事件控制器的区别

WBOY
WBOYOriginal
2016-06-06 20:27:481096Durchsuche

对于这两个控制器的用法不是很清楚?能举个简单的示例说明嘛。

回复内容:

对于这两个控制器的用法不是很清楚?能举个简单的示例说明嘛。

框架开发者也没给出什么好的解释和说明,基本就是靠开发者自己理解,不需要限定在框架的范围内。

3.2.x开始启用了更加细致的分层,Controller, Event, Model, Service, Logic ... 针对题主问题,其实来说,TP建议是Controller作为「与外部交互」(个人理解比如显示视图,接受表单提交等等);Event只是作为「内部事件」的响应,通常只能通过A()来调用(个人理解比如某控制器需要提供给其他控制器接口方法,就最好用Event)。 说起来有点儿绕。

我现在用Event是因为前后端分离,所有请求都是通过ajax,然而对权限判断就不太好搞(比如商品列表不能公开,但可以在表单中选择商品),所以就扩展了两个HTTP请求方法「EVENT」「EVENT_GET」,对应controller中的read和list方法。 扩展的方法通过路由至SomeEvent来实现。

所以说这个东西吧,其实就呢么回事儿,看个人理解,不要在意这些细节。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn