マニュアルはしっかり目を通しましょう
そうです。今日は自戒の意味を込めまして…。
最近夢中になって取り組んでいる趣味サイトの構築、段々とそれらしい形になってきまして(管理画面のみ)、コードを眺めていますと先日書いたようにちょこちょこと手を入れたい箇所が出てきたワケであります。
ここはああして、これをこうしてなどと考えていたのですが、そもそもソースの可読性というやつがかなり悪くなってきているような気がするので、それも何とかしたいな~と思っていました。
典型的なのがDB操作の部分で、1つのメソッドで「登録・更新・削除」とフラグによって処理を分岐させているのですが、ここを
if(フラグが登録)
{
あれやこれや処理
}
elseif(フラグが更新)
{
何やかんや処理
}
elseif(フラグが削除)
{
あ~だこ~だ処理
}
としているのがどうにも見にくい(・ε・)ムー。ブロック内でもif文とかが出てくると、それと相まって何だかとってもゴチャゴチャ感。ここでハタと閃きました。
switch文に変えちゃえ!!(゚◇゚)
確かVBAで言うところのselect case~と同じだったよね?と早速調べてみたのですが、ここで大失敗。インターネットで検索してヒットしたページを斜め読みしてしまい、たまたま目に入った文章「switch文は整数型の値しか判断基準とできない」という記述を早合点。
何だ、phpってswitch文の判定は数値型しか扱えないのか(*´ο`*)=3と解釈してしまい、完全におかしな方向に理解が進んでしまいました。しかしながら、一晩明けて考えるとそんな不便なこた~ないだろ!と思い、今一度今度はphpマニュアルに目を通してみると、しっかりくっきりはっきり書いていてくれましたね~。
switch構造では文字列を使用できる
って(/ω\) ハジカシー
相変わらず思いこみ暴走型の性格は改善されていないようでありまして、一体何を読んでいたんだか、と再度その記述を見かけたページを探したところ、ありました!!
Javaの解説サイトに…∑(_□_;)ii
しかも、その文章の前後をちゃんと読んだら「byte、short、char、int型の値」とも書いてありました。えぇえぇ、皆様どうぞ反面教師にしてください。いくらインターネットが便利だからといって、使う人間が迂闊だったら意味無いですよ~という典型的な例でありました。(ノ△・。)
気を取り直して、switch文で文字列も判定に使える事が分かったので、今作成中のコンテンツが仕上がったら一度整理してみようと思います。取りあえず今思いつくのは、
- ログインパスワード暗号化(現状まさかの平文)
- 一元化出来そうな処理を関数化
- ベタ書きのSQLにもちょっと汎用性を持たせる
- ビューファイルの文章統一
- セッションを有効利用(もう少しデータを持たせても良いかと)
結構ありますね。1日に取りかかれる時間が限られているので、ちょこっとずつやっていきます。(昨夜は撃沈・爆睡)
