类名问题:
第一个类里面的方法: public function action_accountAdd(){
$post = Controller_checkpost::check($post,"Model_user");
}第二个类:class Controller_Checkpost
{
public static function check($posts,$m)
{
$rules =$m::$rules; //这种写法是错误的
}
}
第三个类: class Model_user
{
public static $rules = "aaa";
} 请问我在第二类里面的check方法里怎么取出第三个类里面的$rules变量?
第一个类里面的方法: public function action_accountAdd(){
$post = Controller_checkpost::check($post,"Model_user");
}第二个类:class Controller_Checkpost
{
public static function check($posts,$m)
{
$rules =$m::$rules; //这种写法是错误的
}
}
第三个类: class Model_user
{
public static $rules = "aaa";
} 请问我在第二类里面的check方法里怎么取出第三个类里面的$rules变量?
解决方案 »
- 文件上传问题
- 请问在Windows下怎么配置Apache2.2+php5.3.5+Oracle 10g?
- 不是session,也不是cookie,这是什么?
- ZDE再次打开项目 一些文件没有包括进去 怎末解决?
- 高手帮助:vista下php无法支持postgres吗?
- parse error, unexpected T_ELSE 请教达人,怎么解决
- 散分,请达人解释一下这个函数
- 发现个好的地方免费php空间,快去!
- 微信获取地理位置
- 请教高手这个正则表达式什么意思? preg_replace('/[:\/.\\\\]/', '_', $this->tpl_file);
- explain具体看哪个参数,怎么修改优化?困扰我很久的问题!
- 马上散分,关于内容中过滤数字并替换星号
{
public static function check($posts,$m)
{
return $rules = Model_user::$rules; //这种写法是错误的
}
}
class Model_user
{
public static $rules = "aaa";
}
echo Controller_Checkpost::check('', '');
public function action_accountAdd(){
echo $post = Controller_checkpost::check($post,"Model_user");
}
}class Controller_Checkpost
{
public static function check($posts,$m)
{
return $rules = $m::$rules;
}
}
class Model_user
{
public static $rules = "aaa";
} $p = new T;
$p->action_accountAdd();//输出 aaa
传过去是字符串了。
class test {
public function action_accountAdd(){
$post = Controller_checkpost::check($post,Model_user);
}
}class Controller_Checkpost
{
public static function check($posts,$m)
{
var_dump($m);
$o = new $m;
// eval(' $rules = ' . $m . '::$rules;');
echo $o -> rules; }
}class Model_user
{
public $rules = "aaa";
// public static $rules = "aaa";
} $t = new test();
$t -> action_accountAdd();暂时只想到有eval。但不安全。
或不用static。
{
public static $rules = "aaa";
} static function getRules()
{
return self::$rules;
}
};
//然后在第二个类中调用
//第二个类:
class Controller_Checkpost
{
public static function check($posts,$m)
{
$rules =Model_user::getRules();
}
}
function getRule($class){return $class::$rules;}
echo getRule("a");//aaa
可能5.3支持。
{
public function action_accountAdd(){
$post = null;
$post = Controller_checkpost::check($post,"Model_user");
return $post;
}
}class Controller_Checkpost
{
public static function check($posts,$m)
{
$rules = $m::$rules;
return $rules;
}
}class Model_user
{
public static $rules = "aaa";
} $cls = new cls;
$post = $cls->action_accountAdd();
echo $post;// 输出: aaa
恩,应该是版本的问题;
我现在的解决方法是:用了get_class_vars("Model_user")这个方法提取出Model_user类的所有属性;
之前的版本可以这样
<?php
class cls
{
public function action_accountAdd(){
$post = null;
$post = Controller_checkpost::check($post,"Model_user");
return $post;
}
}class Controller_Checkpost
{
public static function check($posts,$m)
{ //$rules = $m::$rules;
$rules = self::getClassVar($m);
return $rules['rules'];
} public static function getClassVar($class)
{
return get_class_vars($class);
}
}class Model_user
{
public static $rules = "aaa";
}$cls = new cls;
$post = $cls->action_accountAdd();
echo $post;// 输出: aaa
?>
get_class_varsget_defined_vars
get_defined_functions都忘记了用这些函数了。。不知道还有没有类似这样的方法。