Laravel

Laravel ライブワイヤーのメモ

①ライブワイヤーコンポーネントでは IDプロパティ は定義できない。 ②ライブワイヤーコンポーネントで renderメソッド を定義しない場合は、以下のファイルが使われる。 ③ライブワイヤーコンポーネントには、ブレードコンポーネントにはあった {{attributes}} が無い。 ④ライブワイヤーのアクションを実行する前に、JavaScript で確認を入れる書き方。 ⑤ライブワイヤーコンポーネントを動的に作成する場合は、wire:key を設定する。 ⑥ライブワイヤーコンポーネントの表示の仕方。 ↓はPHP7 以降の書き方なので、こちらの方が新しい。 ↓は過去の書き方。 ⑦ライブワイヤーコンポーネントのプロパティを設定する。 ⑧JavaScript でライブワイヤーコンポーネントのプロパティを設定する。 ⑨JavaScript でフォームの値を変更した場合にライブワイヤーコンポーネントのプロパティを更新するには、フォームで inputイベント を発生させる。 ⑩ライブワイヤーコンポーネントは formタグ で囲む必要はない。 ⑪JavaScript からはコンポーネントを find することはできるが、Componentクラス からは find することはできない。 ⑫JavaScript からは任意のコンポーネントのメソッドを呼び出すことはできるが、Componentクラス からは find できないので、任意のコンポーネントのメソッドを呼び出すことはできない。全体に向けて、イベントを送ること(emit)はできる。

Laravel ライブワイヤーのメモ Read More »

Laravel ログを出力するには?

ログの基本 Log クラスをインポートする。\Logでもアクセスできます。 Log クラスをインポートしないで、\Logだけでも使えます。 ログに変数の内容を出力するには、第2パラメータに設定する。 ログの出力先は↓こちら。 ログレベルは .env で設定する。例えば info と設定すると、debugレベル のログは出力されなくなる。 ログの種類 debugログ(開発中のログはこれで良いと思う) infoログ noticeログ warningログ errorログ criticalログ alertログ emergencyログ

Laravel ログを出力するには? Read More »

Laravel bladeの使い方を忘れてしまったので思い出すには?

①変数の表示 イメージとしては↓。HTMLエスケープ処理されている。 ②変数の表示2 イメージとしては↓。HTMLエスケープ処理がされていない。 ③PHPスクリプト この間に PHPスクリプト を記述することができる。例えば、ブレード内での変数の定義に使えます。 ④コメント ⑤CSRFフィールド formタグの次に書く。 ⑥@extends、@section、@yield の関係 フレームのテンプレートでは、各画面の @section で定義される title、content を、@yield を使って呼び出します。 各画面のテンプレートでは、@section の title、content に画面毎の内容を記述し、@extends を使ってフレームのテンプレートを呼び出します。 ⑦スタック 各画面のテンプレートで @push でスタックに処理を追加する。 フレームのテンプレートでスタックから処理を取り出します。

Laravel bladeの使い方を忘れてしまったので思い出すには? Read More »

Livewire を使うには?

完成は↓こちらです。 Laravel と Livewire をインストールして、カウンターのサンプルプログラムを作成してみます。 インストール時にプロジェクト名のディレクトリが作成されます。 ↓下のメッセージが表示されてインストールは終わります。 Laravel のインストールはここまで。 次の 2つ のファイルが生成されます。app/Http/Livewire/Counter.php resources/views/livewire/counter.blade.php ※因みに、render メソッド を定義しなくても livewire.counter は呼び出されます。 ※Livewire コンポーネントには単一のルート要素(<div>)が必要です。 ①<livewire:styles />、<livewire:scripts /> を配置します。②コンポーネントは <livewire:some-component /> で配置します。↓のように @livewireStyles と @livewireScripts。コンポーネントを @livewire で配置することもできます。@マークの方が旧の書き方です。 ブラウザで確認してみましょう。 生成された counterコンポーネント のクラスとビューを次のように置き換えます。app/Http/Livewire/Counter.php resources/views/livewire/counter.blade.php ブラウザでページをリロードすると、レンダリングされた counterコンポーネント が表示されます。「+」ボタンをクリックすると、ページをリロードせずにページが自動的に更新されます。JavaScript を1行も書いていません。マジックです!

Livewire を使うには? Read More »

laravel bladeでloopするには

①for文 ②foreach 文 ③forelse 文 配列が空の時に @empty の処理が呼び出される。 ④while 文 ⑤break 文 ⑥continue 文 ⑦$loop変数 $loop変数は、@foreach、@forelseで使えます。@for、@while では使えません。 現在のインデックス(0から) 現在のインデックス(1から) ループの残りの数 ループのカウント数 ループの最初に true を返します。 ループの最後に true を返します。 現在のネストの数 ネストしている場合の親の $loop変数。 ⑧私は AppServiceProvider.php に foreach を拡張した for_extract を宣言します。 foreach ($articles as $article) で $article[”title] と書かなくても OK です。 ローカル変数にプレフィックスを付ける場合は、第2パラメータに設定します。

laravel bladeでloopするには Read More »

Laravel クラスのインスタンス化方法まとめ

①App::makeでインスタンス化する手順 Controllersディレクトリに HelloWorldクラスを作成します。 App::make でインスタンス化して sayメソッドを実行します。 storage/logs/laravel.log を確認するとインスタンスは2つあります。 ②bind を使ってインスタンス化する手順 Controllersディレクトリに HelloWorldクラスを作成します。 サービスコンテナに bind でクラスを登録します。 これで HelloWorld でインスタンス化できるようになります。 App::make でインスタンス化して sayメソッドを実行します。 storage/logs/laravel.log を確認するとインスタンスは2つあります。 ③singleton を使ってインスタンス化する手順 Controllersディレクトリに HelloWorldクラスを作成します。 サービスコンテナに singleton でクラスを登録します。 これで HelloWorld でインスタンス化できるようになります。 App::make でインスタンス化して sayメソッドを実行します。 storage/logs/laravel.log を確認するとインスタンスは1つです。 ④ファサードでインスタンスを取得する手順 Controllersディレクトリに HelloWorldクラスを作成します。 サービスコンテナに bind でクラスを登録します。 ファサードはシングルトンのように使えます。たとえ↑のサービスコンテナに singleton ではなく bind で登録してもです。ここでの singleton、bind は App::make でインスタンス化するときに使う感じですね。 ファサードクラスを作成します。 ↑の「return

Laravel クラスのインスタンス化方法まとめ Read More »

Scroll to Top