PHP関連のことを調べてみた2023年01月11日

PHP関連のことを調べてみた2023年01月11日
目次

Laravel Sanctumを使ってSPA認証を実装する

## Laravel Sanctumとは
Laravel Sanctumは、SPA(シングルページアプリケーション)、モバイルアプリケーション、およびシンプルなトークン・ベースのAPI向けの簡単な認証システムを提供します。

https://laravel.com/docs/9.x/sanctum#introduction

## 設定方法
### インストール
Composerを使ってインストールします。
“`
composer require laravel/sanctum
“`
次に下記コマンドを実行します。これにより、vendor/laravel/sanctum/database/migrationsの中身がdatabase/migrationsにコ、vendor/laravel/sanctum/config/sanctum.phpがconfig/sanctum.phpにコピーされます。
“`
php artisan vendor:publish –provider=”Laravel\Sanctum\SanctumServiceProvider”
“`
今回「dat

元記事を表示

初心者必見!Laravelを使うならCollectionを活用しよう

開発をしているとArray型のデータを扱うことが多くあります。

PHPにはArrayに関する様々な関数が実装されていますが、
イテレートや値の変更という点でコードが読みにくくなりがち
という欠点もあります。

### Arrayは `array_xx()`の引数となることで変化する場合が多い
もし、下のコードでreturn の結果が実装者の予想と異なり原因を調査したいとして

“`php
$numbers = [1, 2];
・ // 間に何十行も処理がはさまっているとする
$numbers = [1, 2, 3];

return $numbers;
“`

↑こうしたケースでは、$numbersがどう変化したかは追いやすいですが、次のようなケースではどうでしょう?

“`php
$numbers = [1, 2];

array_push($numbers, 3);

return $numbers;
“`

↑$numbersの動きが少し分かりにくくなったかと思います

“`php
$numbers = [1, 2];

元記事を表示

PHP 繰り返し処理記述のコツ

はじめに

普段からループ処理を書いていると、途中で何を書いているかわからなくなったり、順番がおかしくなったりすることが多々あったのですが…

良い方法を学んだので書き残しておきます。

繰り返し処理のコツ

1.日本語で本文の処理を書く
2.コードに置き換える
3.ループで囲む
4.変数の初期化等を追記する

以上4つの順番で処理を書いていきます。
感覚としては、ループの内側から外側にむかって順番に書いていく感じです。

スーパーで複数の商品を購入して、その合計金額を算出する繰り返し処理

1.日本語で本文の処理を書く

“`php
//料金を取得する
//料金を合計する
“`

2.コードに置き換える

“`php
//まぁ料金は$price変数にしようかな~
//購入した商品は$itemにして~
//連想配列でpriceっていうキーを持ってて、そこに値を持ってる感じにしよう
$price = $item[‘price’];

//次は料金を合計したいから、$totalに値段を足していけばいいか~

元記事を表示

About Access denied for user ‘root’@’172.20.0.1’ error

自分用メモ
docker + mysql が接続できない状態をこちらの記事で解決できました。

https://qiita.com/fumi_042/items/7d1c14e335ab1c226e0f

元記事を表示

javascript function からphp sessionへデータを渡す?

PHPとJavascvriptの組み合わせによるSESSIONデータの受け渡しを行うサンプルを、AjaxのsendRequestを利用して遷移せずに、PHPプログラムへSESSION関数としてデータを渡す例を記述してみました。
だいぶ以前から使っている、Ajaxライブラリー/ajax/lib/jslb_ajax.jsを使っています。
また、callbackを使えば、遷移せずにデータを取得することも可能です。
dataget.php
“`
“`
上記のようにPOSTデータをSESSIONデータとして受け取るとして、送る側のjavascriptの記述を下記のようにしてみます。
HTML
“`