JavaScript の総復習

Strictモード プログラムの先頭や関数の先頭に記述します。 分割代入 分割代入で変数の値を入れ替えられますが、1行目のセミコロンが無いとエラーになりました…セミコロン必要ですか… プロパティのアクセス プロパティへのアクセスはドットとブラケットの両方とも使えます。 プロトタイプ function版 class版 for of 数値の桁区切りに _ を使うことができる。(Numeric separators) これは PHP7.4以降 と同じですね。 ↓3桁以外の場所にも入れることができます。 バッククォートの中では、変数を展開することができる(→テンプレート文字列)。改行も普通にできる。 タグ付きテンプレート文字列。関数が呼び出せます。 includesで配列の中の値を検索できるようになった。 ようするに $.inArray、indexOf。PHP では in_array。 atメソッドが追加され、配列、文字列の最後にアクセスし易くなった。 アロー関数内の this は、アロー関数が作られた場所の this を指す。 …(スプレッド演算子)でリストの残りの値を変数に代入できる。 ?? PHPにもありますね。 ??= PHPにもありますね。 ||= falsy の場合に代入します。 &&= truthy の場合に代入します。 ?.(オプティカルチェーン) 参照先が null、undefined かを確認しないで、プロパティを取得したりメソッドを実行することができます。 PHP8.0 の「?->」ですね。 Symbol型 プライベートなアクセスに使えるようです。因みに、ES2022 でプライベートが使えるようになりました。 FetchAPI WEB から […]

JavaScript の総復習 Read More »

Node.js httpdサーバーを作ってみるには?

この1行だけで Webサーバー としてひとまず機能します。hello.js として保存します。 require ではなく、import で対応する場合は、package.jsonファイル を用意して↓下のように書きます。 実行は↓下のように nodeコマンド に hello.jpファイル を与えます。 ブラウザで http://localhost にアクセスすると「Hello Answorz!」と表示されます。 Express でhttpサーバーを作ってみる。 ↑hello.js を実行すると、実行後は hello.js を修正しても修正した内容が反映されません。反映する為にはコマンドを止めて、再び nodeコマンド を実行する必要があります(面倒ですよね)。それを自動でやってくれるのが nodemon です。

Node.js httpdサーバーを作ってみるには? Read More »

Livewire コンポーネントの作成について

Livewire v1 のブレードでの書き方。 Livewire v2 のブレードでの書き方。↓ここまでが通常の書き方です。 view を使ってライブワイヤータグから動的に生成する方法。この後、エレメントをDOMに追加して livewire.rescan() を実行する必要があります。 こちらについては、LiveRelation に mountLivewireTagメソッド を追加しました。 ↑上は view を使いコンポーネントを作成しましたが、↓下は mountメソッド で HTML を生成することができました。 こちらについては、LiveRelation に mountComponentメソッド を追加しました。 ↓こちらが最後。LifecyleManager を使ってコンポーネントを作成する方法。これがやりたかったです。 LiveRelation に createComponentメソッド と renderComponentメソッド を追加しました。createComponent を使えば、mount後のインスタンスを取得できるので、コンポーネントのプロパティを設定したり、何かメソッドを呼び出してからレンダリングさせることができます。

Livewire コンポーネントの作成について Read More »

Livewire Tapについて

tap関数の書き方は↓下のようになります。第2パラメータの「クロージャ」のパラメーターに、「クロージャに渡す引数」が渡されます。それで戻り値に「クロージャに渡す引数」が返されます。 もう少し具体的に書くと↓下のようになります。 ソースをみたら↓下のようになっていました。たったこれだけです。 「クロージャに渡す引数」にクラスのインスタンスを渡すと、そのクラスのメソッドを呼びまくることができるというわけです。 次に、LifecycleManager.php の fromInitialRequestメソッド で使われている tap についてみてみます。new static で LifecycleManager 自身のインスタンスを tap の 第1パラメーターに設定して、クロージャを呼び出しています。$this ではないので、きっとコンポーネント毎に LifecyleManager の request、instance、response のプロパティが必要なのかな思いました。 これで LivewireManager のメソッドを呼び出しているんですね。

Livewire Tapについて Read More »

crontab を設定するには?

クロンタブを編集します。 クロンタブには以下の行を並べて書いていきます。 現在、下記のように設定がされている。 今回、8日の午前1時~午前8時までメンテナンスで処理を止めることになりましたので、その設定をします。 今日から7日までは今まで同じように動かす。 8日の午前0時~午前0時50分まではコマンドを動かす。1時前にコマンドを止めておきます。 メンテ終了後に設定を戻しますが、ひとまず8日の午前8時~午後23時までコマンドを動かすようにしておきます。 編集が終わりましたので「:wq」で保存します。

crontab を設定するには? Read More »

PHP 先頭文字の確認方法

少し前に、文字列の先頭が / から始まっているかを確認する処理をなんとなく書きました。 そうえいば、文字列の先頭の文字は[0]で取得できるよなぁと思いました。 大体は動きますけど、これには違いがありました。 ①空文字の場合、[0]のやり方だと警告がでます。str_starts_with では警告はでません。 ②マルチバイトの場合、[0]のやり方だと false になります。str_starts_with だと true になります。 そういうことに気を付けて、プログラムしましょうというお話でした。 きっと、str_starts_with 以前は substr や mb_substr の処理だったのだと思いました。ワーニングはでません。

PHP 先頭文字の確認方法 Read More »

Livewire コンポーネントID を取得するには?

コンポーネントのコントローラー、ビュー(BLADE)でコンポーネントIDを取得する方法 コンポーネントのビュー(BLADE)でコンポーネントIDを取得する方法。 JavaScript で コンポーネントID を取得する方法。 Livewire.all で コンポーネントID を取得する方法。 ↓下の方法で コンポーネントID を取得することはできません。

Livewire コンポーネントID を取得するには? Read More »

Livewire Livewire.rescan について rescan

Laravel と Livewire をインストールして、親と子のコンポーネントで複数のプロパティをバインディングして同期されるかを確認 インストール時にプロジェクト名のディレクトリが作成されます。 ↓下のメッセージが表示されてインストールは終わります。 Laravel のインストールはここまで。 ↑mountLivewireTagメソッド内で、render_blade関数 でライブワイヤーコンポーネントを HTML に変換して、createComponentイベントを送ります。 ① createボタン を押して ParentComponentクラス の createメソッド が呼び出します。② mountLivewireTagメソッド内で、render_blade関数 でライブワイヤーコンポーネントを HTML に変換して、createComponentイベントを送ります。③ JavaScript の createComponentハンドラ でエレメントを作成して、Livewire.rescan で認識させます。

Livewire Livewire.rescan について rescan Read More »

Scroll to Top