刀片不工作(Laravel),为什么没有显示?

时间:2015-11-29 15:23:53

标签: php laravel laravel-5 blade

刀片不工作(Laravel),为什么没有显示?

1.show.blade.php

iperf.exe

2.book/show.blade.php

@extends('book.show')
@section('comment')
    Yuup!
@endsection

2 个答案:

答案 0 :(得分:1)

显示的代码没有错。问题出在你的路线上。以下是您路线的摘录:

Route::get('book/{book}', function () {
    $comment = 'Hello';
    return view('comment.show', ['comment' => $comment]);
});

Route::resource('book', 'BookController');

Route::resource('book')创建与'book/{book}'完全相同的URI,因此它会覆盖第一个URI。换句话说,永远不会触发你的闭包。你有几个选择。

  1. 请勿使用Route::resource。我喜欢明确我的路线。
  2. Route::get('book/{book}放在Route::resource之后。这也可以。
  3. 移除Route::get('book/{book}'),只需在BookControllershow方法中添加您的代码。
  4. 这3个选项中的任何一个都可以使用。如果您喜欢使用Route::resource,我建议选项#3。否则,我会使用选项#1。在我看来,选项#2和覆盖其他路线并不是一种非常好的方式。

答案 1 :(得分:0)

根据你在pastebin中的代码。

public interface myInterface{ public int sumTo(n); } public class myClass implements myInterface{ public int sumTo(int n){ int sum=0; for(int i=0; i<=n; i++){ sum+=i; } return sum; } } 更改为return view('comment.show', ['comment' => $comment]);

修改

另一个问题是你用return view('book.show', ['comment' => $comment]);结束你的部分。它将是@endsection

您的代码应如下所示:

@stop