Breeze

Laravel Breezeのパスワードリセットで、ユーザーのメールアドレス登録有無を隠す&レートリミットを設定

Laravel Breeze、便利ですよね。私のような零細フリーランスが関わる比較的小さなWebアプリケーションであれば、大抵はこれで必要充分。しかもコストを抑えられるのでお客さんにも喜ばれます。そんなBreezeで開発中、ちょっとした問題...
Laravel

Laravelで同一ページ複数フォームに対応する。FormRequest×名前付きエラーバッグ使用

同一ページに、複数のフォームを存在させることがあります。そんな時、エラーは名前付きエラーバッグに入れれば良いのでは……と頭に浮かぶ方は多いかもしれません。例えばLaravelの公式マニュアルには、以下の様にあります。$validatedDa...
Laravel

拡張子.html等、バニラPHPで作られたサイトのURLを維持してLaravelでリニューアルする

別の記事でも書きましたが、現在、バニラPHPで作られたサイトをリニューアルする案件を進めています。そこで悩んだのがURL構成です。以下の様なURLが大量にあります。/company//company/sub//company/history...
Laravel

バニラPHPで作られたビューをLaravelのBlade用に正規表現で置き換え(VSCode使用)

大昔のウェブシステムでは、(たまにSmartyとかもありますが)バニラPHPで書かれたものが基本です。バニラPHP=素のPHPです。蛇足ですがミルクアイスの方が素に感じるので、ミルクPHP、ミルクJSなんて流行らせたい……。今回、とあるウェ...
Breeze

Laravel11×Breezeでマルチ認証。ユーザーと管理者で分ける例

Webアプリケーションでは、ユーザー用の管理画面(いわゆるマイページ)と、管理者用の管理画面が別々に存在することも多いです。その場合、ログイン画面やDBテーブルも別になることが一般的でしょうか。このように、1つのアプリケーションで個別の認証...
Flutter

フリーランスWeb系エンジニア(主にPHP)がFlutter/Dartを学ぶ意味を考えてみた

PHPなどWeb系フリーランス歴20年を超える私ですが、これまで以下の様なことが何度かありました。Webシステムと併せてスマホアプリも作りたいんだけれどエンジニアだからスマホアプリも作れるんでしょ!?あっ作れないの!?そこは外注?ふーんもち...
仕事道具

Google Pixel 8Proから9Pro(XL)へ変えるべきかキャンペーンのお得度を論理的に考えた

本日、Google Pixel 9シリーズが発表されました。私も5a(5g), 7pro, 8proとPixelシリーズを仕事道具として使ってきましたので、買い換えるか迷います。毎年恒例ですが、今回も最大で50,100円のストアクレジットが...
フリーランスエンジニア道

仕事中に宅配便のチャイムを鳴らしてほしくないので対策した。ヤマト→○、佐川→×、ゆうパック→○

リモート会議中に「ピンポーン」と鳴って焦ったことはありませんか?私はあります。一瞬、会議を優先するか、チャイムを優先するか焦りつつ判断した上で「ちょっとお待ちください」……なんて具合になります。もちろん相手にもチャイムは聞こえてしまうでしょ...
PHP

PHP8移行時にsprintfでエラー→Fatal error: Uncaught ValueError: Unknown format specifier “&” in 【path】

10年以上前に自分で書いたコードをPHP7.4からPHP8.2へ変更中に、遭遇したエラーです。そのままは載せられないので、ちょっと形を変えて載せます。こんな感じ。<?phpecho sprintf('パスワードは半角英数字および !#$%&...
Laravel

マイグレーションファイルで外部キーにnullable()指定してるのに効かない→場所が悪いです

マイグレーションファイルで、nullable()指定してるのに「初期値が無いよ!」と怒られてしまいました。つまりnullを入れようとしたら例外が発生しています。こんな指定です。$table->foreignId('hoge_id')->co...