取出类里面的变量问题
时间:2011-11-30
来源:互联网
类名问题:
第一个类里面的方法: 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变量?
作者: dhc_1229 发布时间: 2011-11-30
class Controller_Checkpost
{
public static function check($posts,$m)
{
return $rules = Model_user::$rules; //这种写法是错误的
}
}
class Model_user
{
public static $rules = "aaa";
}
echo Controller_Checkpost::check('', '');
{
public static function check($posts,$m)
{
return $rules = Model_user::$rules; //这种写法是错误的
}
}
class Model_user
{
public static $rules = "aaa";
}
echo Controller_Checkpost::check('', '');
作者: ci1699 发布时间: 2011-11-30
谁说是错误的?
class T {
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 T {
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
作者: xuzuning 发布时间: 2011-11-30
确实是错误的啊。
传过去是字符串了。
PHP code
暂时只想到有eval。但不安全。
或不用static。
传过去是字符串了。
PHP code
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。
作者: ci1699 发布时间: 2011-11-30
你可以在在class Model_user中增加一个静态方法
PHP code
PHP code
class Model_user { public static $rules = "aaa"; } static function getRules() { return self::$rules; } }; //然后在第二个类中调用 //第二个类: class Controller_Checkpost { public static function check($posts,$m) { $rules =Model_user::getRules(); } }
作者: binglingxiaolingling 发布时间: 2011-11-30
php无耻强大的特征之一便是其变态的弱类型+灵活的语法解析,这一看就知道是没问题的。
PHP code
PHP code
class a{public static $rules = "aaa";} function getRule($class){return $class::$rules;} echo getRule("a");//aaa
作者: foolbirdflyfirst 发布时间: 2011-11-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28