我有这样的东西
class Unilevel {
public $contador = 2;
public static function listarLevels($user_id){
if($contador <= 5){
echo '<h1>Nivel '.$contador.'</h1>';
$user = DB::table('matrices')->where('id_user', $user_id)->first();
$actual_user = DB::table('users')->where('id', $user->id_user)->first();
echo $actual_user->username.'<br>';
}
$contador++;
}
}函数不工作,但是如果我将变量$contador放入listarLevels works中,会出现什么问题呢?谢谢
发布于 2014-09-05 22:08:20
这就是PHP中类的工作方式。
要在将函数声明为类属性时在函数中调用$contador,可以使用$this->contador
在深入研究Laravel之前,阅读PHP中的面向对象编程手册以更好地了解它可能会有所帮助。http://php.net/manual/en/language.oop5.php
发布于 2014-09-05 23:15:16
你不能在静态方法中访问你的类的非静态属性。
尝尝这个。
class Unilevel {
public static $contador = 2;
public static function listarLevels($user_id){
//self::$contador = 4;
}
}如果你的方法是静态的,你需要让你的属性也是静态的。它们也很少有其他方法,比如实例化类的对象。阅读有关PHP中static的更多信息。
https://stackoverflow.com/questions/25687772
复制相似问题