1

我的应用程序中有以下代码。问题是@(符号)。当它在那里时,我会得到语法突出显示和错误,就好像字符串没有结束一样。删除它时,页面工作正常(减去不存在的操作)。我试过转义@,但这不起作用。我也尝试过双引号,但这也不起作用。我怎样才能逃脱@?

我可以使用 route 函数并完全避免使用 @ 但我觉得 action 函数在它的作用方面要清楚得多,所以我宁愿不使用 route。

@extends('layouts.default') <?php
$url = URL::action('UsersController@index'); ?>

@section('header')
    @include('partials.components.searchHeader', array('title' => "Users", 'results' => $users->getTotal(), 'total' => $total, 'url' => URL::route( 'users.index' ), 'type' => 'user'))
@stop

<?php
if(Auth::user()->isAdmin()) $publishedFellows = Fellow::published()->get();
if(!Auth::user()->isFellow()) $publishedOpportunities = Opportunity::select('opportunities.*')->published()->sortedByCompany()->get(); ?>

@section('content')
    @if(Auth::user()->isAdmin())
        @include('partials.components.add-button', array('url' => '/users/create', 'name' => 'Add User'))
    @endif
    <?php $partialsList = [
        'listItems' => $users,
        'search' => $search,
        'url' => URL::route('users.index'),
        'pills' => $pills,
        'indexView' => 'users.single',
        'type' => 'user',
        'total' => $total,
    ]; ?>
    @include('partials.list')
@stop
4

1 回答 1

1

要在刀片中转义@符号 - 您只需使用 double @@

所以这:

@@example

将打印

@example

但是,您的代码非常混乱,这可能会导致您出现问题。最大的问题是您正在使用extend- 但随后您将代码放在各个部分之间,这没有正确调用。此外 - 您在各节之间放置的用于保存变量的代码甚至没有在任何地方被调用!

您应该将您的视图重构为这样的东西来解决问题:

@extends('layouts.default')

@section('header')
    @include('partials.components.searchHeader', ['title' => "Users", 'results' => $users->getTotal(), 'total' => $total, 'url' => URL::route( 'users.index' ), 'type' => 'user'])
@stop


@section('content')
    @if(Auth::user()->isAdmin())
        @include('partials.components.add-button', ['url' => '/users/create', 'name' => 'Add User'])
    @endif
    @include('partials.list', ['listItems' => $users, 'search' => $search, 'url' => URL::route('users.index'), 'pills' => $pills, 'indexView' => 'users.single', 'type' => 'user', 'total' => $total])
@stop
于 2015-04-05T03:59:31.157 回答