$this->spArgs()

#1 cooc123

http://www.speedphp.com/api-spargs.html

在实际应用中,spArgs类的get函数通常被$this->spArgs()代替。请参考相关教程。


刚学PHP 对$this->spArgs() 没看懂


为什么没用到 get方法呢

2011-10-14 16:35:29

#2 jake

再看手册http://www.speedphp.com/spargs-post-get.html

刚学PHP,要养成看手册的习惯,SP的手册,还有PHP手册。

2011-10-14 17:24:16

#3 cooc123

再看手册

刚学PHP,要养成看手册的习惯,SP的手册,还有PHP手册。
jake 发表于 2011-10-14 17:24
$this->spArgs("name", "jake");

这是什么写法,get方法呢

2011-10-14 17:41:42

#4 cooc123

$this->spArgs("name", "jake");

我想说的 是 怎样执行的get方法

2011-10-14 18:02:04

#5 jake

看源码

2011-10-14 19:17:05

#6 cooc123

看源码
jake 发表于 2011-10-14 19:17
就是没看明白,才上来问的啊

2011-10-17 10:02:14

#7 jake

看spController.php文件第204行,使用的是PHP自带的$_GET/$_POST/$_REQUEST等方法。

2011-10-17 10:23:05

#8 cooc123

看spController.php文件第204行,使用的是PHP自带的$_GET/$_POST/$_REQUEST等方法。
jake 发表于 2011-10-17 10:23
get 方法看的明白,
$this->spArgs("name", "jake");


关键是怎样执行的get的方法


spArgs("name", "jake"); 这个就相当于执行 get方法?

2011-10-17 14:33:54

#9 jake

$this->spArgs("name", "jake"); 和 $_GET['name'] 差不多。

参考手册:http://www.speedphp.com/spargs-post-get.html

建议理清楚自己想问的问题再提问。

2011-10-17 15:18:20

#10 ltotal

当你执行$this->spArgs("name", "jake");时,由于spArgs这个方法是不存在于spController类里面的,这时,类里的__call($name, $args)这个魔术方法会被自动调用,$name参数是要调用的原本不存在的方法名(这里是'spArgs'),$args则是要传递给方法的参数(这里是array('name','jake'))。先看spController里的__call()函数:
        public function __call($name, $args)
        {
                if(in_array($name, $GLOBALS['G_SP']["auto_load_controller"])){
                        return spClass($name)->__input($args);
                }elseif(!method_exists( $this, $name )){
                        spError("方法 {$name}未定义!
请检查是否控制器类(".get_class($this).")与数据模型类重名?");
                }
        }
在SP的核心配置文件spConfig.php里‘auto_load_controller’默认配置好了一个‘spArgs’作为控制器自动加载的扩展类名,所以__call()执行的结果是 return spClass('spArgs')->__input(array('name','jake'));
接着执行到spArgs类的__input方法,将$args数组打散成各参数($name, $default,$method),然后就执行到get方法了,$this->get($name, $default, $method); 最后返回执行结果。。。

2011-10-17 15:37:23

#11 cooc123

JAKE 不知道是我问的不清楚,还是你没看懂,

对于 ltotal 回答的正是我要问的,非常感谢。

2011-10-18 09:34:02

#12 cooc123

回复 10 ltotal


   JAKE 不知道是我问的不清楚,还是你没看懂,

对于 ltotal 回答的正是我要问的,非常感谢。

2011-10-18 09:34:18

#13 cooc123

怎么一下回复了2次。。。

2011-10-18 09:34:39

#14 jake

回复  ltotal


   JAKE 不知道是我问的不清楚,还是你没看懂,

对于 ltotal 回答的正是我要问的,非常感 ...
cooc123 发表于 2011-10-18 09:34
我看不懂。

2011-10-18 10:24:48

#15 phpha

回复 12 cooc123


    呵呵,还是建议你先去熟悉一下PHP的基本知识。虽然SP框架简单,但还是要以PHP为基础的。。。

2011-10-18 11:12:37