Scribble at 2023-02-23 19:03:52 Last modified: 2023-02-23 23:49:23

添付画像

is_email()

Hacker News で実質的に吊し上げられていた PHP のライブラリだ。そして、往々にして PHP という言語だとか、PHP でプログラミングしている人々の「低レベルさ」を嘲笑うための燃料として、こういうライブラリが紹介されたりする。もちろん、PHP が普及してきた経緯から言って、その利用者の9割くらいはデザイナーやコーダであろうから、コンピュータ・サイエンスの学位をもってるどころか基本的なアルゴリズムや開発手法やデザイン・パターンの知識すらないであろう。でも、同じことは大半の Python でコピペみたいなコードを書いてるサルどもや、実は大半が日曜ユーザであった Perl の「CGI」書きどもにだって言える。もちろんだが、C や Java や Ruby あるいは Rust や Haskell のユーザにしても、その多くは実務で全く使い物にならないていどにしか素養がない連中だろう。結局、こういうネタを語る人々の大半が、別に Linux カーネルのメンテナーでもなければ Oracle のコア・コードを担当しているアーキテクトでもなんでもない、ちょっとハックができるていどのゴロツキだったりするのも、これまた実態というものだ。なんなら、その PHP を使って大企業の勘定系のアプリケーションを設計してみなと言いたいね。現実には、そういう連中の 99% は、そういうアプリケーションで利用するインフラのデプロイメント・デザインやキャパシティ・プランニングすらできないというのが実態なんだよ。でも、馬鹿にしてる PHP だって、チューリング完全かどうかは知らないが大企業の勘定系ソフトくらい実装できる言語だ。不足があって、Rust ならこれができる、Java ならこれがあったというなら、それを PHP のライブラリなりモジュールとして開発すればいい。でも、「PHPwwww」とか書いてる連中の 99.99% には、そんなことできない。

とは言うものの、上記のライブラリは手直ししない限りは使えないと思う。

まず、メール・アドレスに関する判定が非常に難しいのは事実であろう。あの「フクロウ本」を一読した方であれば印象深く記憶していると思うが、色々な条件を考慮してメール・アドレスと判定できる条件を正規表現で書くと、いかに複雑なものとなることか。それに、Hacker News のコメントでも指摘されているように、is_email() という関数名は WordPress など CMS やら独自のアプリケーションで既に定義されているようなユーザ関数名であろうから、最低でも名前空間で分離する必要がある。

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

冒頭に戻る


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

Twitter Facebook