schubu/laravel-widgets

使用小部件装饰您的blade视图文件,以保持控制器类干净

1.0.0 2019-10-20 15:04 UTC

This package is auto-updated.

Last update: 2024-09-21 03:01:51 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

基于laracasts剧集的laravel小部件包。它帮助您保持控制器干净和DRY。

安装

您可以通过composer安装此包

composer require schubu/laravel-widgets

用法

Artisan命令

您可以通过运行此Artisan命令创建小部件

php artisan make:widget ExampleWidget

它将创建两个文件夹

  • app/Http目录中创建一个Widget文件夹
  • resource/views目录中创建一个widget文件夹

此任务还会放置一个类文件和一个blade文件以开始。

  • app/Http/ExampleWidget.php
  • resource/views/example-widget.blade.php

Blade @widget指令

您可以通过使用此blade指令轻松包含您的部件

@widget('ExampleWidget')

向您的部件传递数据

您可以通过两种方式传递数据

  • 定义一个公共属性
  • 定义一个公共方法

公共方法和属性将被作为变量传递到您的blade视图中!

示例

您的类

namespace App\Http\Widgets;

use SchuBu\LaravelWidgets\LaravelWidgets;

class ExampleWidget extends LaravelWidgets
{
    public $exampleData = "Welcome to your widget!";

    public function exampleMethod()
    {
        return [
            "My first data",
            "My second data",
            "My third data"
        ];
    }
}

在您的blade中,您可以通过这种方式访问您的数据

This is {{ $exampleData }} awesome!
@foreach($exampleMethod as $content)
    {{ $content }} <br>
@endforeach

指定blade文件名

您可以通过向Artisan命令添加一个额外的参数来自定义blade文件名

php artisan make:widget ExampleWidget MyExampleWidget

这将在my-example-widget.blade.php文件中创建一个blade文件。现在生成的类包含一个额外的受保护属性$viewPath

namespace App\Http\Widgets;

use SchuBu\LaravelWidgets\LaravelWidgets;

class ExampleWidget extends LaravelWidgets
{
  protected $viewPath = 'widgets.my-example-widget';
  ...
}

测试

因为我刚开始接触测试,所以没有进行任何测试 :-(.

变更日志

请参阅CHANGELOG以获取更多信息。

贡献

这是我发布的第一个包。所以我希望您能贡献并帮助改进它。请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件peter@schu-bu.de联系,而不是使用问题跟踪器。

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。

Laravel Package Boilerplate

此包是使用Laravel Package Boilerplate生成的。