サンプル・プログラムの実行例
サンプル・プログラム
| toSnakeCase.php | サンプル・プログラム本体。 |
| バージョン | 更新日 | 内容 |
|---|---|---|
| 1.0.0 | 2025/10/09 | 初版 |
解説:文字ユーティリティ・クラス
toSnakeCase.php
138: // pahooStringUtil クラス ====================================================
139: class pahooStringUtil {
140: /**
141: * キャメルケースをスネークケースに変換する
142: * @param string $str 文字列
143: * @return string スネーク・ケース
144: */
145: static function toSnakeCase($text) {
146: // CamelCase → snake_case に変換
147: $snake = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $text));
148: return $snake;
149: }
150:
151: // End of Class ===========================================================
152: }
153:
154: // サブルーチン ==============================================================
このクラスに所属するメソッド toSnakeCase に staticキーワード が付いていることに留意されたい。
staticキーワードを使って定義されたメソッドは、インスタンスを生成せずにコールすることができる。
toSnakeCaseメソッドは、固有のプロパティを保持するような状態の変化がないので、インスタンス化してオブジェクトを生成する必然性はない。そこで、staticキーワードを使って定義した。
解説:インスタンス化せずにメソッドを呼ぶ
toSnakeCase.php
212: // メイン・プログラム ========================================================
213:
214: // パラメータ取得
215: $sour = getParam('sour', TRUE, DEF_SOUR);
216:
217: // リセット
218: if (isButton('reset')) {
219: $sour = $dest = '';
220: }
221:
222: // 変換実行
223: if ($sour !== '') {
224: $dest = pahooStringUtil::toSnakeCase($sour);
225: }
226:
227: // 表示用HTMLを作成する.
228: $HtmlBody = makeCommonBody($sour, $dest);
229:
230: // 画面に表示する.
231: echo $HtmlHeader;
232: echo $HtmlBody;
233: echo $HtmlFooter;
参考サイト
- staticキーワード:PHP公式
- PHPでクラスを使ってテキストの読みやすさを調べる:ぱふぅ家のホームページ

一方で、プロパティが変化しない場合は、強いてインスタンス化する必要はない。
そこで今回は、入力した英語の名前をスネークケース(単語間の区切りをスペースの代わりにアンダースコア _ を使って、全て小文字で記述すること)に変換する処理をインスタンス化せずに呼び出すクラスを作ってみることにする。