morilog / widgetify
一个强大的Laravel小部件包。将UI组件封装为小部件。类似于Yii小部件
v1.0.0
2018-01-22 07:31 UTC
Requires
- php: >=5.5.9
- illuminate/support: >=5.1
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-21 20:28:03 UTC
README
Laravel 5.1及以上版本的Laravel小部件包
安装
composer require morilog/widgetify
在Laravel中注册
-
将
Morilog\Widgetify\WidgetifyServiceProvider
添加到config/app.php
的providers数组中 -
如果你需要渲染小部件的Facade,请在
config/app.php
的aliases数组中添加以下内容
'Widgetify' => Morilog\Widgetify\Facades\Widgetify::class
- 为了发布Widgetify配置文件,运行以下命令
php artisan vendor:publish --provider="Morilog\Widgetify\WidgetifyServiceProvider"
使用
创建新小部件
为了创建新小部件,你必须创建一个继承自Morilog\Widgetify\Widget
并实现handle()
方法的类。
<?php namespace App\MyWidgets; use Morilog\Widgetify\Widget; class SimpleWidget extends Widget { public function handle() { $latestPosts = Post::take(10)->get(); return view('path.to.view.file', compact('latestPosts')); } }
注册小部件
- 将你的小部件添加到
config/widgetify.php
文件中的widgets
数组中
'widgets' => [ 'simple_widget' => App\MyWidgets\SimpleWidget::class ]
渲染小部件
使用blade的@widgetify
指令
// views/sidebar.blade.php <div class="col-sm-3"> @widgetify('simple_widget') </div>
或者使用配置
// views/sidebar.blade.php <div class="col-sm-3"> @widgetify('simple_widget', ['key' => 'value', 'key2' => 'value']) </div>
或者使用Widgetify
Facade
// views/sidebar.blade.php <div class="col-sm-3"> {!! Widgetify::render('simple_widgets') !!} </div>
使用缓存
// views/default.blade.php <div class="col-sm-4"> {!! Widgetify::remember('my_widget', 15, [CONFIGS]); !!} </div> <div class="col-sm-4"> @cached_widgetify('my_widget', 15, [CONFIGS]); </div>