PHP中的函数

PHP中的函数,第1张

ThinkPHP中 C(),D(),S()

1在具体的Action方法里面,可以用C()对某些参数进行动态配置,主要指那些还没有使用的参数。具体用法如下:

C('参数名称'); //获取已经设置的参数值

C('参数名称','新的参数值'); //设置新的值

2D()函数的使用:

先定义好模型类,如UserModel,然后就可以用D()函数对数据进行 *** 作了。例如:

先在"你的项目"\Lib\Model下建立一个名为UserModelclassphp的PHP脚本,内容如下:

class UserModel extends Model{}

然后,无需增加任何属性和方法,就可以进行如下 *** 作:

$User = D("User"); //实例化User对象,User是你在数据库建立的一个名为"前缀_user"的数据表

也可以用$User = new UserModel()代替,进行实例化对象的 *** 作。

实例化之后,就可以对数据进行增删查改等一系列 *** 作了,如:

$User->find(1); //查找主键为1的记录

3S()函数的使用:

ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行 *** 作,所以在使用

不同的缓存方式的时候并不需要关注具体的缓存细节。如:

S('data',$Data); //使用data标识缓存$Data数据

S('data',$Data,3600); //缓存$Data数据3600秒

$Data = S('data'); //获取缓存数据

你这个函数具体做什么用的?按照你字面意思写个方法好像没什么意义啊!

function test($a, $b, $c, $d, $e, $f)

{

return $a + $b + $c + $d + $e + $f;

}

for ($i = 1; $i <= 10; $i++)

{

test(rand(1,100), rand(1,100), rand(1,100), rand(1,100), rand(1,100), rand(1,100));

}

/

  获取一个函数的依赖

  @param  string|callable $func

  @param  array  $param 调用方法时所需参数 形参名就是key值

  @return array  返回方法调用所需依赖

 /

function getFucntionParameter($func,$param=[]) {

    if(!is_array($param)) {

        $param = [$param];

    }

    $ReflectionFunc = new \ReflectionFunction($func);

    $depend = array();

    foreach($ReflectionFunc->getParameters() as $value) {

        if(isset($param[$value->name])) {

            $depend[] = $param[$value->name];

        }elseif($value->isDefaultValueAvailable()){

            $depend[] = $value->getDefaultValue();

        }else{

            $tmp = $value->getClass();

            if(is_null($tmp)) {

                throw new \Exception("Function parameters can not be getClass {$class}");

            }

            $depend[] = $this->get($tmp->getName());

        }

    }

    return $depend;

}

function test($a,$b=20) {

    echo $a,',',$b;

}

$depend = getFucntionParameter('test',['a'=>30,'b'=>40]);

call_user_func_array('test',$depend); // 30,40

上面的函数是我开发的框架的容器的方法。

php提供了很完整的反射机制。不但可以反射函数,还可以反射方法,反射类构造函数。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12188852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存