“Protoss/控制器/动作”的版本间的差异

来自Blueidea
跳转至: 导航搜索
第34行: 第34行:
  
 
然而,没有带后缀Action的方法,是浏览器所无法访问到的方法,这些方法可以为其他方法或动作提供一些公共的逻辑操作。
 
然而,没有带后缀Action的方法,是浏览器所无法访问到的方法,这些方法可以为其他方法或动作提供一些公共的逻辑操作。
 +
 +
我们再来看下面这段代码,这个代码片段演示的是index和'''hello'''这两个'''动作'''如何利用'''hello这个方法'''来进行输出的。是不是有点绕?我们这里说的“hello这个'''动作'''”与“hello这个'''方法'''是有区别”,“hello这个动作”写作“function helloAction”,“hello这个方法”写作“function hello”。好了,来看代码:
 +
[[文件:snakezero_protosshelloworld.png]]
 +
上面这段代码中:
 +
*indexAction和helloAction是可以通过在URI中指定"a=index"和"a=hello"来访问得到的
 +
*hello是无法通过浏览器访问的,但是却可以在当前控制器中被其他方法所调用

2010-07-17T16:25:11的版本

<?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”。好了,来看代码: snakezero protosshelloworld.png 上面这段代码中:

  • indexAction和helloAction是可以通过在URI中指定"a=index"和"a=hello"来访问得到的
  • hello是无法通过浏览器访问的,但是却可以在当前控制器中被其他方法所调用