我正在尝试在新的 Laravel3 框架安装中包含一个宏,我有 PHP 5.4(phpinfo 证实了这一点)。我最初怀疑这是 5.3.17 不支持闭包的问题,所以我升级到 5.4,但仍然出现此错误。
未处理的异常
信息:
语法错误,意外的“函数”(T_FUNCTION)位置:
C:\wamp\www\script-manager\application\libraries\macros\nav_link.php 在第 3 行
导航链接文件具有以下宏:
<?php
HTML::macro('nav_link' function($route, $text) {
$class = ( URI::is($route) or URI::is($route.'/*') ) ? 'class="active"' : '';
$href = URL::to($route);
$action = Request::route();
$action = $action->action;
if ( isset($action['as']) ) {
$class = ( ($action['as'] == $route) or ($action['as'] == $route.'/*') ) ? 'class="active"' : '';
$href = URL::to_route($route);
}
return '<li ' . $class . '><a href="' . $href . '">' . $text . '</a></li>';
});
?>
并且在 start.php 的底部需要:
require path('app') . 'libraries\macros\nav_link.php';
在我的情况下,我真的找不到其他人遇到这个问题,所以我迷路了。在 Windows 7 上使用 WAMP 5.4。
谢谢。