WHAT'S NEW?
Loading...

Yii 1.1 | CamelCaseとsnake_case

キャメルケース(CamelCase)というのはラクダのこぶのように、アルファベットの単語の1文字目を大文字にすることだ。

例えばカナダを代表するアーティスト、アヴリル・ラヴィーンをキャメルケースで表すと、彼女の名前はアヴリル・ラモーナ・ラヴィーンなので、Avril Ramona Lavigneとなる。これのスペースを省略し、一つの文字列にしたものがCamelCaseだ。

つまり、AvrilRamonaLavigneとなる。

昔はギタリストのウィヴリーと結婚していたのでアヴリル・ラモーナ・ラヴィーン・ウィブリーが本名だったけど、今はウィブリーではない。その分文字数が少なくなった。

さて、1文字目を大文字にしないで小文字のままにしておく場合もある。実を言うとこっちがキャメルケースだったりする。


1文字目が大文字のキャメルケースは、厳密にはパスカルケースというんだけど、まぁ似てるわけだし、どっちもラクダのコブみたいに大文字が飛び出てるから、細かいことはいいんだよ、という解釈で問題無いと思う。

1文字目が小文字で始まる方をロウアーキャメルケース、1文字目が大文字で始まる方をアッパーキャメルケースという場合もある。まぁ大体どっちなのかはコード書いてればすぐにわかると思う。

人間は蜘蛛嫌いか蛇嫌いかにわかれるらしい

俺はどっちも大丈夫なんで、ヘビの写真でもアップしようと思ったんだけど、蛇がダメな人がいたら困るので、セクシーねーちゃんの画像をアップしておく。


というわけで、今度は蛇だ。蛇といっても別にくねくねしてるわけではなく、よくわからないんだけど、とにかくスネークケース(snake_case)と呼ばれている。どう見ても蛇には見えないんだけど。

すべて小文字で単語をアンダースコアでつなぐ形式だ。これがなんでスネークケースという名称なのかはよくわからん。

アヴリルで表記してみるとこうなる。

avril_ramona_lavigne

たまにだけど、このスネークケースに大文字を入れてる物があったりする。

Avril_Ramona_Lavigne

こういった複合的なことをすると、極端に神経質なプログラマが発狂してしまったりするので困ることになる。できれば統一しておいたほうが彼らの精神衛生のためにも良いと思う。

俺はどっちでもいい。

別にAvRIl_RaMONaLavigneでもいい。ダブルクリックで全体を選択できれば何でもいい。

とは言え、別に無理してまで場を荒らすこともないと思うし、ここは素直に従がうのが良いと思われる。


ちなみにphpcsでYiiのフォーマットをテストしてみても、キャメルケースとスネークケースの判別は特にしてないみたいだった。

というのも、yii-debug-toolbarに表示させてる環境変数が

environment_for

なんだよね。この状態でmain.phpをチェックしてみても、特に怒られない。

とは言え、Yiiのソースコードを見てると、どうもキャメルケースが使われているらしい。なのでこれからはキャメルケースを使っていこうと思う。

さっそくenvironment_forをキャメルケースに修正しておこう。

environmentForだ。


適当に拾ってきた画像だけどよく見たら素敵度高いのでもう一度表示してみた。(・∀・)イイネ!!
ずーっと見てると、もしかしてこの女も俺の事気に入ってるんじゃないか?って思えてくるから平和な感じしますよね。

camelCaseで統一しよう

そう、Yiiでは変数はロウアーキャメルケースだ。早速main.phpを修正しようじゃないか。
 'params'=>array(
  // environment name
  'environmentFor' => basename(__FILE__, '.php'),
  // this is used in contact page
  'adminEmail'=>'webmaster@example.com',
 ),

/protected/config内には独自に作成した設定ファイルがあるはず。

  • main.php
  • local.php
  • product.php

だ。

local.phpとproduct.phpはmain.phpからコピーしたもの。
つまり修正箇所もmain.phpを含めると3箇所ということになる。

3箇所とも同じ内容なんだからわざわざファイルわけなくてもいいんじゃないの?っていう人がいるかもしれない。俺もそう思うよ。

だけど、分けないでいる必要もないんじゃないの?って思う。別にそんな個人の好みはどうでもいい。プログラムを動かしたいだけだ。だから、

俺はどっちでもいい。

さて、これで早速yii-debug-toolbarを見てみよう。

さて、これで修正が終わった。



今回はこれまで。

次はテストをやってみたいと思う。