linking / flashr
此软件包最新版本(v1.0.1)没有提供许可证信息。
一个用于以方便方式显示闪存消息的 Laravel 软件包
v1.0.1
2017-04-21 13:12 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- mockery/mockery: dev-master
This package is auto-updated.
Last update: 2024-09-07 11:53:25 UTC
README
Flashr
一个让打印闪存消息变得简单的 Laravel 软件包!
介绍
这是我发布的第一个软件包。我想学习如何为 Laravel 制作一个简单的软件包。我阅读了大量的关于 IoC 容器、Laravel 如何进行依赖注入等内容。这个软件包受到了伟大的 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, ];
你还应该在 app.php 文件中添加 Facade,在 'aliases' 键下添加
'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 Bootstrap 标记。如果你想替换这种行为,请阅读以下内容
如果你想自定义视图,只需这样做
php artisan vendor:publish --tag=flashr
然后,前往你的 views 目录。你应该找到一个供应商目录。在这个目录中,有一个 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: 10px; right: 10px; font-size: 24px; line-height: 10px; cursor: pointer">×</span> </div> @endif
如你所见,插件在会话中添加了两个键: _flashr.type
和 _flashr.message