Laravel初心者のワイ、VoragerにLaravel Livewireを入れて遊ぶ実験
統合パッケージ的なものを探してVoragerにたどり着いたんですが
さて、VoragerにはLaravel Livewireを入れて遊ぶことができるかのテストです。
やり方とか、ぇ?そのコードいじるのは阿呆のやることってのはありますが、
そこは見地に合わせて読み替えてくださいませ。
Voragerは普通にインストール(説明省略)
■Laravel Livewireを導入
Laravelのプロジェクトで
composer require livewire/livewire
■Laravel Livewireのコード雛形を作る
Laravel livewireのコード雛形として、testlivewireという名前でmake:livewireする
# php artisan make:livewire testlivewire
COMPONENT CREATED 🤙
CLASS: app/Http/Livewire/Ttestlivewire.php
VIEW: resources/views/livewire/testlivewire.blade.php
_._
/ /o\ \ || () () __
|_\ /_| || || \\// /_\ \\ // || |~~ /_\
|`|`| || || \/ \\_ \^/ || || \\_
Congratulations, you've created your first Livewire component! 🎉🎉🎉
Would you like to show some love by starring the repo? (yes/no) [no]:
なにか聞かれるんですが、noのママでいいので「return」を押せばいいです。
2回目以降のmake:livewireでは聞かれないです
■Laravel Livewiteで動的に動くBlade部分の処理を書く
ボタンを押せば+1するというどっかに有ったサンプリです。
Laravel Livewire的にはbladeを丸々サーバサイドでHTMLを生成し直して、HTMLをJSで送って、その部分のHTMLを書き換えるってことをしているようですね。
publicな変数の値はJSで渡され、イベントが発生したら発生したイベントと値をサーバに渡して、渡ってきた値をpublicに当てはめて処理をする・・と。
よく出来た仕組みです。
vi app/Http/Livewire/Testlivewire.php
<?php
namespace App\Http\Livewire;
use Livewire\Component;
class Testlivewire extends Component
{
public $count = 10;
public function inc(){
$this->count++;
}
public function render()
{
return view('livewire.testlivewire');
}
}
vi resources/views/livewire/testlivewire.blade.php
<div>
{{-- Knowing others is intelligence; knowing yourself is true wisdom. --}}
hello livewite<br>
<?php echo date("Y/m/d H:i:s");?>
<h2>{{ $count }}</h2>
<p><button wire:click="inc">+1</button></p>
</div>
■Live wireを動作させるためのスタイルとJSをテンプレbladeに仕込む
vi vendor/tcg/voyager/resources/views/master.blade.php
〜〜〜〜
<title>@yield('page_title', setting('admin.title') . " - " . setting('admin.description'))</title>
@livewireStyles
〜〜〜〜
@livewireScripts
</body>
※vendor/tcg/voyagerをいじるのは頭おかしいのですが、とりあえずwwww
良い子は手元に移動させましょうね
■作ったLivewireパーツをとりあえずDashboardのbladeに埋め込む
vi vendor/tcg/voyager/resources/views/dashboard/navbar.blade.php
<nav class="navbar navbar-default navbar-fixed-top navbar-top">
<hr>
<livewire:testlivewire>
<br>
〜〜〜〜
※またまたvendor/tcg/voyagerをいじるのは頭おかしいのですが、とりあえずwwww
良い子は手元に移動させましょうね
たぶん、Dashboardページを表示すると以下のような感じになってるんじゃないでしょうかね?
+1ボタンを押せば動きます
以上、無事実験成功でした。
Laravel Livewireは調べれば奥深いですし、導入しどころはアイデアが必要かもですが、
Laravel Livewire自体は既存システムにも導入は楽ですし
エンジニア的にはAjaxやらを考えずに作れるのは面白いですね。
Author And Source
この問題について(Laravel初心者のワイ、VoragerにLaravel Livewireを入れて遊ぶ実験), 我々は、より多くの情報をここで見つけました https://qiita.com/imaiworks/items/6296039d68ea6fb3feaa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .