返し、結果を表示するのも簡単だ。オブジェクトどうしでごく普通に比較することもできる。繰り返し発生するイベントを順に処理するときに使える。イベントの間隔を受け取って、すべてのイベントを返すものだ。クラスのすべてを継承しているので、コードの書き換えを最小限に抑えられる。DateTimeオブジェクトの加減算とフォーマットの方法の追加がある。自分で選んだ日付と時刻をシミュレートする機能もあって、これはコードをテストするときに使える。(日付の書式指定文字列に使えるオプション)デザインパターンアプリケーションをつくるときには、一般的なパターンに従ってコードを書くとよい。プロジェクトの全体構造についても、一般的なパターンに従おう。何がどうなっているのかを他の開発者にもわかってもらいやすくなるからだ。フレームワークを使ってコードを書くと、上位レベルのコードやプロジェクトの構造のほとんどはそのフレームワークの流儀に従うことになる。そこには、いろんなパターンが適用されているだろう。そのフレームワークの上で書く自分のコードの中でどんなパターンを適用するかは、自分次第だ。フレームワークを使わずにコードを書く場合はどうだろう。自分が書こうとしているアプリケーションのタイプや規模に応じて、最適なパターンをみつける必要がある。PHPでのデザインパターンや実装例については、これを見ればいい。Practices向けに書いたものだ。この記事をもとに、UTF-8について説明する。一発で済ませる方法はない。注意して、きちんと一貫性を保つこと。今のところPHPは、低レベルではUnicodeをサポートしていない。PHPでUTF-8文字列をきちんと処理する方法もあるにはあるが、簡単ではない。(つまり、HTMLやSQLからPHPまで)に手を入れる必要がある。ここでは、それらについて、現実的な範囲で手短にまとめた。PHPレベルでのUTF-8文字列の連結や変数への代入などの基本操作については、UTF-8だからといって何か特別なことをする必要はない。)については、そういうわけにはいかない。用意されていることが多い。Unicode文字列を扱えるように設計されている。関数を使う必要がある。使うと、その結果の中に文字化けした半角文字が含まれてしまう可能性がある。関数を使うように覚えておくのが大変なところだ。文字列は壊れてしまう可能性がある。版があるわけではない。関数も使わなければいけない。すべてのスクリプトでエンコーディングを明示しておけば、後で悩まされることもなくなるだろう。文字列を操作する関数の多くには、文字エンコーディングを指定するためのオプション引数が用意されている。文字列を扱うなら常にそう指定しておかないといけない。パッケージを使うことも検討しよう。関数にフォールバックするというものだ。文字列がそれ以外のエンコーディングで格納されてしまう可能性がある。