flashr
v1.0.1
這是我有史以來出版的第一個包裹。我想學習如何為Laravel製作一個簡單的包裹。我一直在閱讀很多有關IOC容器,Laravel的依賴注入等等的信息...此軟件包的靈感來自Great Laracasts/Flash套件!
跑步
$ composer require linking/flashr
安裝軟件包時,如果您正在運行Laravel 5.X,則可以在AppServiceProvider中註冊包裹,
<?php
use Linking Flashr FlashrServiceProvider ;
use Illuminate Support ServiceProvider ;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot ()
{
// ...
$ this -> app -> register (FlashrServiceProvider::class);
}
}如果您正在運行舊版本的Laravel,則可以編輯App.php文件,並將其添加到providers選項中
' providers ' => [
// ...
Linking Flashr FlashrServiceProvider::class,
];您還應該在“ Aliases”密鑰下的File App.php中添加外牆
' aliases ' => [
// ..
' Flashr ' => Linking Flashr Facades Flashr::class,
// ..
];在您的控制器中,您可以做
public function edit ( Post $ post ) {
Flashr:: success ( " The post has been edited " );
return view ( ' post.edit ' , compact ( ' post ' ));
}FlashR暴露了不同的功能,以打印不同類型的閃光燈。這是FlashR函數的列表:
Flashr::success($message)Flashr::info($message)Flashr::warning($message)Flashr::danger($message)然後,在您的觀點中,您可以通過執行來包括供應商的觀點
@include ( ' flashr::flashes ' )注意:默認情況下,它使用Twitter引導符號。如果您想替換此行為,只需閱讀下一步
如果您想自定義視圖,只需做
php artisan vendor:publish --tag=flashr
然後,去看您的視圖目錄。您應該找到一個供應商目錄。在此目錄內, FlashR目錄將在這裡。您可以將此文件編輯為您想要的任何內容。默認情況下,文件看起來像這樣:
@php
$flashr_type = Session :: has ( ' _flashr.type ' ) ? Session :: get ( ' _flashr.type ' ) : null ;
$flashr_message = Session :: has ( ' _flashr.message ' ) ? Session :: get ( ' _flashr.message ' ) : null ;
@endphp
@if ( $flashr_type && $flashr_message )
< div style = " position : relative " class = " alert alert- {{ $flashr_type } } " role = " alert " >
{{ $flashr_message } }
< span id = " close-flash " onclick = " var el = this.parentElement; el.remove() "
style = " position : absolute ; top : 10 px ; right : 10 px ; font-size : 24 px ; line-height : 10 px ; cursor : pointer " > & times ; </ span >
</ div >
@endif如您所見,插件在會話中添加兩個鍵: _flashr.type和_flashr.message