【发布时间】:2016-01-21 18:32:05
【问题描述】:
我在使用 Laravel 5.1 版本时遇到了问题。我已经用 PHP 5.5.9 在 Ubuntu 平台上构建了它。然后我得到以下错误:
PHP Parse error: syntax error, unexpected 'class' (T_CLASS), expecting ')'
这些是返回错误的代码:
<?php
interface foo {
}
class class_with_method_that_declares_anonymous_class
{
public function method()
{
$o = new class { public function foo() {} };
$o = new class{public function foo(){}};
$o = new class extends stdClass {};
$o = new class extends stdClass {};
$o = new class implements foo {};
}
}
另一个:
<?php
class Test {
public function methodOne() {
$foo = new class {
public function method_in_anonymous_class() {
return true;
}
};
return $foo->method_in_anonymous_class();
}
public function methodTwo() {
return false;
}
}
我搜索了解决方案,然后我被告知了 Ubuntu 的 PHP 版本。之后,我将 PHP 版本从 5.5.9 更新到 5.6.17。但我仍然遇到同样的错误。这里有什么问题?
【问题讨论】:
-
它可以是任意数量的东西,特别是因为它太大了。查看错误的其余部分(通常列出文件、行号)以查看它被调用的位置。或者你可以在 laravel 主目录的命令行上试试这个:
find . -name \*.php -exec php -l "{}" \; | egrep -v 'No syntax' -
提供错误指定的代码可以帮助你,错误很模糊。
-
好的,我添加了上面的代码。
-
@OnurGöker 你在使用匿名类吗?如果是,那么您需要将您的 PHP 版本升级到 PHP 7 。之后就可以使用上面的代码了..
标签: php class laravel laravel-5.1