2021年04月27日に初出の投稿

Last modified: 2021-04-27

そろそろ実務で使っているライブラリを更新したり、コーディングの規約に近いものも整備していこうと思っている。その一環として、PHP 8.x に準拠したライブラリの組み方を取り入れようと思う。

第一に、これまでは殆ど使っていなかった名前空間を導入しておく。もちろん、実績から見ても大規模な開発に自社のライブラリを組み込むような事例はなく、わざわざ名前空間を宣言しなくてはいけない事情があるというわけでもないし、それどころかライブラリで定義したクラスを他の用途でオーバーロードしたことすらないのだから、さほどこういう体裁に拘る必要もない。しかし、そういう事情とは別に、僕が書いたライブラリを少しでも PHP が書ける他の人が、僕の関わっていない案件で使っている事例があった。いや、それどころか勝手に他社のプログラマが使っていたことすらあるので、著作権という観点から保護するというよりも、寧ろ使うなら安全に使えるように名前空間で保護しておこうというわけである(もちろん、そもそも名前空間を知らないというレベルの人には使ってもらいたくないという意図もあるのだが)。

第二に、そろそろデータベースへの抽象レイヤーを使ったアクセスについて、少し厳格な扱いをしておきたい。もちろん、セキュリティの観点からプレースホルダを使ったクエリを定義してアクセスするという、いまでは当たり前の手続きはそのままである。しかし、これまではトランザクションを利用してこなかったし、try and catch も厳格には採用していなかったので、更に安定した扱いができるようにしたい。

そして第三に、PHP 8 となって微妙に解釈が変更されて厳格になった ternary operator の扱いを改善して、もっと正確に記述しようと思っている。もちろん、これまでにも括弧を使わなかったせいでエラーが起きていたので(すぐに修正してきたが)、これはやるべくしてやる改善だ。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook