PHP 空の文字列を explode した時の挙動
答え ということで、foreach に explode の結果を与えると、予期せぬ「空のループ」が回ってしまう可能性があります。 空のループを回さない方法は、explode の前に空文字かのチェックを入れます。
PHP 空の文字列を explode した時の挙動 Read More »
答え ということで、foreach に explode の結果を与えると、予期せぬ「空のループ」が回ってしまう可能性があります。 空のループを回さない方法は、explode の前に空文字かのチェックを入れます。
PHP 空の文字列を explode した時の挙動 Read More »
Laravel と Livewire をインストールして、Fomantic-UI のダイアログ(Modal)を使う手順。 プロジェクト名(modal)を決めて以下のコマンドを実行します。 インストール時にプロジェクト名のディレクトリが作成されます。 インストールの最後に sudo でパスワードの入力を求められます。 ↓下のメッセージが表示されてインストールは終わります。 sail のエイリアスを定義します。 Laravel のインストールはここまで。 「sail up」でコンテナを起動します。 ララベルのトップディレクトリで、Livewireパッケージ をインストールします。 次のコマンドを実行して、modalコンポーネント を生成します。 次の 2つ のファイルが生成されます。 ※因みに、renderメソッド を定義しなくても livewire.modal は呼び出されます。 生成された Modalコンポーネント のクラスとビューを次のように置き換えます。 app/Http/Livewire/Modal.php ↑ダイアログクラスには 表示状態(visible)と 承認ハンドラ(onApprove)のプロパティを持たせます。 resources/views/livewire/modal.blade.php ↑表示状態(visible)が false なら表示しません。approveボタン が押された場合、承認ハンドラ(onApprove)を実行します。ダイアログが非表示になるタイミングで、エレメントを削除して、表示状態(visible)を false に設定しています。 formsコンポーネント のクラスとビューを作成します。 app/Http/Livewire/Forms.php resources/views/livewire/forms.blade.php LiveRelationトレイト を作成します。 public/liveext.js を作成します。 resources/views/index.blade.php ファイル を作成します。 routes/web.php にルートを追加します。
Livewire で Fomantic-UI のダイアログ(Modal)を使うには? Read More »
↑気を付けておくところは「document.」を付けることです。無いとエラーになります。 querySelector はエレメントを1つ返します。 querySelectorAll は複数のエレメントを配列で返します。 querySelector と querySelectorAll のサンプルプログラムです。
JavaScript の querySelector について Read More »
@parent ディレクティブ は app/Providers/AppServiceProvider.php に定義します。 親コンポーネントだけにイベントを送るには @parent.emitSelf を使います。@parent.emit だと全体にイベントが送られてしまいます。 ↑これは。。。ようするに emitUp ↓です(爆)。親だけに送るから少し違いますね。 or
Livewire @parentディレクティブ Read More »
There is no excerpt because this is a protected post.
Protected: Livewire 追加リファレンス Read More »
以下のソースは、ボタンを押すと、photo_pathプロパティ をコンソールログに出力するというものです。 ボタンを押すと、コンソールログには null が出力されます。 scriptタグ は wire:ignore 的な扱いになっているので(私的に)、photo_pathプロパティ を更新しても、初期状態の null が出力されます。そうすると、scriptタグ内の @jsディレクティブ は初期状態の値しか取得できないのかな?と思いました。 scriptタグ に id属性 を与えると反応するようになりますが、これも少し違う気がします。。。 ↑addEventListener なので、2行出力されます。 以下のように、onClickハンドラ に書けば最新の情報を出力することはできました。 scriptタグ内 で 最新の @js を扱うにはどうすればいいのか?ここは今後調査していこうと思います。
Livewire @js ディレクティブ とは? Read More »
wire:click で自身のアクションメソッドを実行できます。 ↑上は↓下のように @this.debug と書くことができます。 JavaScript で自身へイベントを送るには「@this.emitSelf」と書きます。 JavaScript で親へイベントを送るには「@this.emitUp」と書きます。
Livewire JavaScript で emitSelf、emitUp のやり方 Read More »
@thisディレクティブの定義は↓こちら。vendor/livewire/livewire/src/LivewireBladeDirectives.php 今まで自身のアクションメソッドを呼び出すときは、↓下のように、findを使って呼び出していましたが @this だけでいけちゃいます↓↓↓ P.S.「$this->id」を「$_instance->id」に置き換えることができることを確認しました。
Livewire @thisディレクティブ Read More »
可変変数に配列のキーも含めようとすると、「Undefined variable」になります。 extract でもダメですね。登録された変数の数には0が返ってきます。 可変変数に配列のキーも含めるには、eval関数を使います。
PHPで配列の可変変数を作成するには? Read More »