HTML 宏放在 laravel 5 的什么地方?

Where to put HTML macros in laravel 5?

在 laravel 4 中,我曾经有 HTML 在多个视图中使用的宏,例如:

HTML::macro('minipics', function($pic)
{
    //
}

为此,我在 /app 文件夹中有一个 macros.php 文件。我找不到在 laravel 5 中放置宏的位置。我应该为此使用 'macroable' 功能吗?

编辑:

我最终使用了 @include(),为其提供了所需的值。

@include('shared.minipics', $mpics = $ppics)
@include('shared.minipics', $mpics = $randpics)

您可以按照 Laravel 4 中的方法进行操作。

将您的 macros.php 文件放在 /app 文件夹中。

然后在你的composer.json中你这样做

"autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\": "app/"
        },
        "files": [
            "app/macros.php"  <-- Put this here
        ]
    },

我已将我的宏移动到 "resources/macros/..." 目录中,因为我认为它们属于所有其他与视图相关的代码。为了加载它们,我使用了一个看起来像这样的服务提供商:

<?php namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class MacroServiceProvider extends ServiceProvider {

    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        require base_path() . '/resources/macros/macro1.php';
        require base_path() . '/resources/macros/macro2.php';
        // etc...
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

}