Protoss/控制器/动作
来自Blueidea
<?php class defaultController extends controller_abstract { public function __constract() { parent::__constract(); } // 这个是 可以 被浏览器访问的动作 public function indexAction() { echo 'Hello world!'; } // 这个是 不能 被浏览器访问 的过程方法 public function index() { } private function privatemethod() { } protect function protectmethod() { } }
从上面的这段代码我们可以看到,可以提供前台访问的动作,方法名为“动作名Action”的形式。
例如www.example.com/?c=default&a=index,访问的即是default这个控制器中的index动作。index的动作写作indexAction。
然而,没有带后缀Action的方法,是浏览器所无法访问到的方法,这些方法可以为其他方法或动作提供一些公共的逻辑操作。
我们再来看下面这段代码,这个代码片段演示的是index和hello这两个动作如何利用hello这个方法来进行输出的。是不是有点绕?我们这里说的“hello这个动作”与“hello这个方法是有区别”,“hello这个动作”写作“function helloAction”,“hello这个方法”写作“function hello”。好了,来看代码:
上面这段代码中:
- indexAction和helloAction是可以通过在URI中指定"a=index"和"a=hello"来访问得到的
- hello是无法通过浏览器访问的,但是却可以在当前控制器中被其他方法所调用