0

我正在尝试在新的 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。

谢谢。

4

1 回答 1

4
HTML::macro('nav_link' function($route, $text) {

应该

HTML::macro('nav_link', function($route, $text) {
                      ^ // You miss this comma
于 2013-02-28T06:51:20.590 回答