Laravel - 用于查看文件的DocBlock

时间:2014-04-02 02:13:41

标签: laravel laravel-4

我刚刚开始了我的第一个更大的多开发人员项目之一,并希望确保我正确评论所有内容。

是否有评论Laravel观点的标准方法?或者它是如此自我解释,它不需要评论?

2 个答案:

答案 0 :(得分:2)

我说后者。请注意,典型视图应包含尽可能少的逻辑 - 因此,如果没有注释的情况下看起来相当糟糕,那么实际上这个块被移动到辅助函数中的原因非常强烈(并且应该是docblocked)。

至于布局细节,评论它通常是多余的 - 只有当你不得不对它进行一些修改时才会使事情变得复杂。

此外,使用DocBlock的另一个主要原因 - 易于生成API文档 - 并不适用于视图:没有'接口'提供。

答案 1 :(得分:2)

如果您想在Laravel的Blade视图中使用评论,那么您可以使用以下语法:

{{-- This comment won't be in the rendered HTML --}}

但是,docblock基本上是一种特殊类型的评论系统,可以提供有关代码中元素的详细信息,例如(可能是方法或函数)

/**
 * Create a new driver instance.
 *
 * @param  string  $driver
 * @return mixed
 */

它可能还包含一个注释块,但在这种情况下,view根本不应包含这种复杂的代码。虽然您可以使用这样的简单提示:

<!-- Main loop starts -->
@foreach($items as $item)
    {{ ... }}
@endforeach
<!-- Main loop ends -->

或者您也可以使用这样的块:

{{--
    Some text goes here
    Some text goes here
--}}

但是,最好使用{{-- comments --}},因为它在呈现的HTML中不可用。如果您有任何应该在视图中的复杂代码,那么您可以考虑将其保存在帮助文件中(raina77ow已经提到过)并从view, for example, this is a helper function I used inside my视图中调用该函数,但存储在单独的帮助文件:

/**
 * Recursively loop the comments and return to view
 *
 * @param  Eloquent Collection  $comments
 * @param  string $view
 * @return string (HTML)
 */
function dumpComments($comments, $view = 'comment.comment_partial.comment')
{
    $commentList = '';
    foreach ($comments as $comment) {
        $commentList .= View::make($view)->with('comment', $comment);
    }
    return $commentList;
}

这是我在view中使用它的方式:

@if($post->comments->count())
{{-- Begin comment List --}}
    <ul class="media-list"> {{ dumpComments($post->nestedComments) }} </ul>
{{-- End comment List --}}
@endif