schubu / laravel-widgets
使用小部件装饰您的blade视图文件,以保持控制器类干净
1.0.0
2019-10-20 15:04 UTC
Requires
- php: ^7.2
Requires (Dev)
- orchestra/testbench: 3.8.*
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-21 03:01:51 UTC
README
基于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生成的。