[Eloquent] datetimeのメソッドチェーンの落とし穴

Eloquentで日付型のカラムを日付型にキャストするようにしました。
キャストしたカラムに対して、メソッドチェーンで日付の加減算の操作を行ったのですが、値が変更されませんでした。
対策としてはいったん変数で受けて、日付の加減算を行った後にモデルに戻すことになります。

結論は出たのですが、なぜそのようになるのかを追ってみました。

続きを読む

[PHP] 使えるようになった機能

PHPのバージョンが進むにつれて機能も増えていきました。
どのバージョンにどんな機能が追加されたのか、わからなくなってしまうので、個人的に気になった機能が利用できるようになったバージョンをまとめました。

続きを読む

Laravel バリデーションについてまとめていくよ3(数値)

Laravel バリデーションについてまとめていくよ2(文字種編)に続いてlaravelのバリデーションをまとめていきます。
今回は、数値についてのバリデーションを確認します。

確認するルールはintegerdigitsdigits-betweenmax_digitsmin_digitsnumericdecimalmultiple_ofです。

続きを読む

Laravelのディレクトリ構造を変更する

publicのディレクトリをドキュメントルートとした場合、ドキュメントルートよりも上のディレクトリにapp, bootstrap, configといったディレクトリが展開されることとなります。
ドキュメントルートの上のディレクトリにはアクセスログなどのディレクトリがあり、それらのディレクトリと混ざってしまうことがあるかと思います。
Laravelのファイルはディレクトリを追加して、そこに格納するようにしたいと思います。

続きを読む

Laravelのpublicフォルダを変更する

Laravelではドキュメントルートがpublicとして用意されています。
サーバーによってはドキュメントルートがpublicではないこともあるため、publicフォルダを変更する方法です。

続きを読む

Laravel バリデーションについてまとめていくよ1

laravelのバリデーションをまとめていきます。
基本的な使い方はドキュメントを参照してもらうとして、もう少し細かい部分まで確認してみたいと思います。
今回は、必須などのデータの有無についてのバリデーションを確認します。

laravel/frameworkのバージョンはv9.45.1です。
参考までに、バリデーションの実装部分のソースのリンクもつけておきます。
実装部分の前に行われる処理もありますので、注意してください。

続きを読む

Docker で Apache + PHP + MySQL 環境構築

はじめに

Docker for Windows のインストール」でDocker環境を準備しました。
続いてWordpressを動作させるために、Apache + PHP + MySQLの環境を構築した試行錯誤の結果を備忘録として残します。
node.jsにしない理由はこのサーバーがApacheだからとかそんな理由です。

ゴール

最終的には下記の3つのコンテナの環境を構築します。
1つのLinuxコンテナにApache, PHP, MySQLすべてを乗せることもできるのですが、あまりイケてない方法らしいので、1コンテナは1つの役割を持つようにします。
基本的にDockerはデータの永続化(保存)はできないため、ホストのディレクトリをマウントすることで永続化を実現します。

続きを読む

Docker for Windows のインストール

はじめに

永らく放置をしていたこのブログですが、久しぶりに更新をします。
これまではXAMPPを使ってローカルに環境を構築してカスタマイズなどをしていたのですが、Dockerの環境を整えることにしました。

コンテナってなんだ?と思いながら試行錯誤で構築した備忘録になります。

仮想化の有効化

Hyper-Vを利用するには仮想化が有効である必要があります。
タスクマネージャーを起動し、パフォーマンスタブから仮想化の状態が「有効」になっていることを確認します。

続きを読む