【发布时间】:2012-05-22 12:49:27
【问题描述】:
我正在处理activecollab自定义模块的权限,当尝试调用静态方法的函数时收到此错误消息不知道为什么;请做帮助将是真正appericiatable ..
Parse error: parse error, expecting `T_PAAMAYIM_NEKUDOTAYIM' in D:\wamp\www\activecollab\public\activecollab\3.0.9\modules\projectcomrequest\models\Projectcomrequests.class.php on line 130
我在模型文件中做的代码是:
class Projectrequests extends DataManager {
...
....
function getPermissionValue($name){
$roles = Roles::find();
foreach($roles as $role) {
if($role->getPermissionValue($name))
return true;
else
return false;
}
static function canAccess() {
if(self::getPermissionValue('can_use_project_request')) return true;
return false;
} // canAccess
...
..
}
通过这个调用控制器:
echo Projectrequests::canAccess();
【问题讨论】:
-
我看到您在静态函数
canAccess()中使用了$this,这是不允许的,但不应导致该特定错误 -
完美的例子说明为什么不应该为控制结构省略花括号。把它们排除在外,你既不聪明也不整洁。 Voted to close。 Or maybe a dupe?
-
我不同意,这是一个更好的例子,说明为什么你应该在下一行而不是在行尾使用花括号。
-
@SLC 在他的代码中哪里可以看到结尾的大括号?他所有的
}都在他们自己的路线上或默默暗示(这是我的重点) -
@Mike 如果你看到他的
foreach(...) {在同一行有{。如果他把它放到换行符上,就会更明显的是缺少},因为它们不会垂直排列。
标签: php permissions module controller activecollab