PHP

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 »

緯度経度を日本測地系から世界測地系に変換するには?

①緯度経度 を 日本測地系 から 世界測地系 に変換します。 ②緯度経度 を 世界測地系 から 日本測地系 に変換します。 ③緯度経度の文字列を数値に変換します。 ④緯度経度の数値を文字列に変換します。 ⑤PostgreSQL で 測地系 を geography型 に変換します。 ⑥PostgreSQL で geography型 から 測地系 に変換します。

緯度経度を日本測地系から世界測地系に変換するには? Read More »

ユーザーエージェントの仕様がいつの間にか変わっていた。

注目は「sec-ch-uaなんとか」と「sec-fetchなんとか」こちらを調査しました。 sec-ch-ua は ブラウザーのブランドとバージョンです。 sec-ch-ua-mobile は モバイルなら ?1 。PCなら ?0 を指定します。 sec-ch-ua-platform は OS を指定します。 sec-fetchなんとか は フェッチメタデータリクエストヘッダーというもので、サーバーにリクエストがどこから来たという情報を提供し、CSRF等の悪意のあるリクエストを防ぐことができるようにするもの。 こちらは今までのユーザーエージェントです。 PHP で リクエストヘッダーを付けてアクセスする例。 久しぶりにクローラーを作ろうしたところ、グーグルクロームのリクエストヘッダーに見慣れないヘッダーがあった。

ユーザーエージェントの仕様がいつの間にか変わっていた。 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 »

Laravel DBから全件取得する方法

① PEAR::DB で全件取得する方法 → PEAR::DB は昔の話なので、今は無いけど・・・ ② PDO の queryメソッドで全件取得する方法 → ③ の prepareメソッドと比べて queryメソッドではプレースホルダが使えません。 ③ PDO の prepareメソッドで全件取得する方法 → prepare の処理分少し長いかな。 ④ Laravel の select で全件取得する方法 →学習コストは少ない。プレースホルダも使えます。 ⑤ Laravel の getで全件取得する方法 →クエリビルダーを使う。 ⑥ Laravel の all で全件取得する方法 → Eloquent(ORM)を使う。

Laravel DBから全件取得する方法 Read More »

Laravel ルートパラメーターを取得するには?

①ルートパラメーターを取得します。 ②ルートパラメーターを全て取得します。 通常は以下のように、クロージャにパラメーターを定義してルートパラメーターを取得します。※ルートパラメーターの名前とクロージャのパラメーターの名前は異なっいても大丈夫です。 しかし、クロージャのパラメーターが決まっている場合にはルートパラメーターを受け取れないので、parameterメソッドで受け取るようにします。 「パラメーター?」で定義されていれば 、デフォルト値を設定して呼び出すようにします。 ユーティリティクラス等で以下のようなメソッドを用意してもいいかもしれません。

Laravel ルートパラメーターを取得するには? Read More »

Laravel コントローラークラスをインスタンス化するには?

①app関数でインスタンス化します。 ②makeメソッドでインスタンス化します。 ③resolve関数でインスタンス化します。 resolve関数は vendor/laravel/framework/src/Illuminate/Foundation/helpers.php に↓このように定義されており、app関数呼び出しているだけですね。

Laravel コントローラークラスをインスタンス化するには? Read More »

Scroll to Top