我试图通过Laravel的迁移文件生成我的数据库,但是当我尝试这样做时,我收到以下错误:
PHP Parse error: syntax error, unexpected '[', expecting ')' in D:\wamp24\www\laravel\app\controllers\SomeController.php
这让我发疯,我可以在我的控制器中注释掉代码时运行迁移文件,但我无法继续这样做。
我也不想重写我的所有代码,因为我几乎每次声明一个数组时都使用方括号(使用方括号比输入'数组(〜)&#快得多39; ...)
我在wampserver(2.4)上使用 PHP 5.3.13 ,在Win 8.1上使用apache 2.2.22。
Laravel Framework版本4.0.10。
给出错误的代码如下:
class SomeController extends BaseController {
public function someFunc() {
$var= Model::create([
'title' => Input::get('title'),
'description' => Input::get('description'),
]);
}
}
知道此错误解决方案的任何人?
答案 0 :(得分:5)
这是因为您的PHP
版本不支持[]
数组语法,请尝试:
$var = Model::create(array(
'title' => Input::get('title'),
'description' => Input::get('description')
));
PHP < 5.4
不支持。升级PHP
版本或使用array()
代替[]
。
答案 1 :(得分:0)
我认为这与格式化有关。
尝试:
class SomeController extends BaseController {
public function someFunc() {
$var= Model::create(array(
'title' => Input::get('title'),
'description' => Input::get('description'),
));
}
}
这应该有效。
答案 2 :(得分:0)
php 5.3.x不支持短数组,试着像这样改变它
Model::create(array(
'title' => Input::get('title'),
'description' => Input::get('description')
));