フリーランスエンジニア道

【2025年版】フリーランスWebエンジニア・制作者の私の抱負(プライベート大いに含む)

明けましておめでとうございます。2025年が始まりました。過去の人生設計ではFIREしていたはずですが、まだまだフリーランスWebエンジニアとして生きていかねばなりません。ということで、理想の人生に近づけるため、2025年の抱負を元旦(アッ...
Laravel

PHPで指定の期間だけ表示を分岐させる【バニラPHP版, Laravel+Carbon版】

ある一定の期間中だけ、何かを表示させたいということは、よくあります。例えば……キャンペーンを表示したいお知らせを表示したいバナーを表示したい緊急の案内を表示したいタイムセールを表示したい特に今の時期だと、年末年始の休業表示を一定期間中だけ自...
PHP

Windows11×Apache×PHP8.2環境を、PHP8.3にアップデートする

「最新のPHP8.3はまだ顧客のレンタルサーバーに対応していないことがある」、という理由で、これまでPHP8.2をベースに開発していました。しかし、そろそろどこもPHP8.3が対応してきました。PHP8.4も近日リリースもするころですし、当...
Laravel

【Laravel】複数のビューで共通して使うデータをViewComposerで管理する

Webサイトでは、複数のページ(ビュー)にて、同じデータを必要とすることが非常によくあります。取得方法は、設定値を読み出したり、DBから取得したりなど様々でしょう。しかしながら、それらを都度コントローラーにて同じ取得コードを書くのは効率的で...
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システムと併せてスマホアプリも作りたいんだけれどエンジニアだからスマホアプリも作れるんでしょ!?あっ作れないの!?そこは外注?ふーんもち...