我正在尝试在控制器中执行以下操作:
public function moveMessagesToArchive( $message_ids = Input::get('message_ids') )
{
$json = json_encode( $message_ids);
echo $json;
}
它不断抛出以下错误:
语法错误,意外的"(",应为")"
在函数签名处。是什么导致了这里的问题?
更新
与此同时,我等待着我写下以下工作的原因:
public function moveMessagesToArchive( $message_ids = array() )
{
$ids = array();
if ( ( count($message_ids) !== 0 ) && is_array($message_ids) ) {
$ids = $message_ids;
} else if ( Input::get('message_ids') ) {
$ids = Input::get('message_ids');
} else {
return false;
}
$json = json_encode( $ids );
echo $json;
}
这在PHP中是不可能的。根据文件
The default value must be a constant expression, not (for example) a variable, a class member or a function call.
参考示例4
php从来没有支持过您尝试做的事情。
与拉拉维尔毫无关系。