ちょりっす。ベル子です。
今回はベル子のどじっ子ぶりがマジぱないです。
「こいつ、ぷぷぅっw」っと思いながら読んでくれると嬉しいです。
私ってほら、失敗して覚えていくタイプなんで!!
私ってほら、失敗して覚えていくタイプなんで!!
私ってほら、失敗して覚えていくタイプなんで!!
ふぅ。
突然ですが皆さん、environment は何と読むか分かりますか。
「簡単や!エンビロンメントやろ!!」と思った、そこのあなた、
ブブーーーーーーーーー
マイナス500点です!
正解は「インヴァイラメン」です。
発音記号はこちら↓
ɪnvάɪ(ə)rə(n)mənt(米国英語), envάɪ(ə)rə(n)mənt(英国英語)/
だいたいeで始まる英単語は日本語の「エ」ではなく「イ」と発音するので注意です。
イギリスでは「エ」なんですね。発音記号を調べてみて、はじめて知りました。
でもeconomyは、どちらも「イ」のようです。
ɪkάnəmi(米国英語), ɪkˈɔnəmi(英国英語)
カタカナにするなら「イカナミー」でしょうか。
どうですか。私って博識でしょ?(ドヤ顔)
そんな博識なベル子に、「laravelのマイグレーションを使ってDBテーブル作っておくれ」という指令がボスから出されました。
いくら新人プログラマとはいえ博識なベル子ですから、マイグレーションについてはドキュメントを読破済みです!ゆえにDBテーブルは、なんとか一人で作ることができました(はぁはぁ)。
( その後、indexの付け方が間違っていてマスターPG(匠)の方に怒られたことは、ここだけの秘密です(///ω///) )
たぶんテーブルは作れたと思うので、確認したいのが乙女心です。
DBの設定ファイルはapp/config/database.phpに書いてあるということは、すでに頭に入っている私ですから、mysqlのデータベース名、ユーザ名、パスワードをチェックし、コマンドーんをしてみたわけです。
「あれ? データベースがない」
自分が間違っていたのかなと思いデータベース名を確認して接続ということを5回ほど繰り返してみました。
なんということでしょう。あるはずのデータベースが見当たらないではありませんか!
困ったときは匠に聞いてみるしかありません。
べ「あの....データベースが表示できなくて.....」
匠「なんのデータベース?」
べ「forgeってデータベースなんですけど.....」
匠「え?もう1回言って」
べ「ふぉーじ?(まさかフォルゲ?)」
匠「え?(何いってんだコイツ)」
べ「え?(自分で設定したんですよね?)」
匠「.......ここに書いてある◯◯ってやつだから」
DBの設定は本番環境とテスト環境などで違うものですよね。
Laravelには、こういった複数の環境設定を切り替えるシステムがあるのです。
超便利ですね。さすがフレームワーク。
ベル子はそのことを、そのときまで全く知らなかったんです。
きゃーやめてぇ!そんな顔で見ないでぇ!
よく考えたらforgeではないことくらい気づけるはずです。
デフォで書いてあるやつだからです。
なんという勘の鈍さ!!
「もしかして....フォルゲ?」とか言わなくてよかったです。
匠が教えてくれたファイルを確認して無事にDBにアクセスできたベル子ですが、なんのことやら分かっていないので、おうちでこっそり調べてみました。
星は何でも知っている。google先生も何でも知っている!
イブンバトゥータスカラベルージュ!
Ah-ha!!
にゃるほど。
ルートディレクトリで
$ php artisan env
とコマンドーんすると、今、適用されている環境名が表示されるんですね!
そして、環境の設定はbootstrap/start.phpにマシンのホスト名を設定すればよいようです。
さっそく私もマイlaravelに設定してみます。
php artisan env
すると、なぜか Current application environment: production
と出てきます。
デフォで設定されている
$env = $app->detectEnvironment(array(
'local' => array('homestead'),
));
というのはhomestead環境の人のホスト名のようですね。
現在の私のホスト名を調べてみましょう。
$ hostname
そのままなコマンドをどーんです。
localhost.localdomain
へえ〜。ホスト名、なんかウケる。
こちらの動画を確認したところ
何の環境にも当たっていない場合、Laravelでは、デフォルトでproduction環境となるそうです。
$env = $app->detectEnvironment(array(
'local' => array('homestead'),
'development' => array('localhost.localdomain'),
));
このように追記して、php artisan envしてみると、
Current application environment: development
と表示されました!やったー♪
ちなみに
App::environment();
とすると環境名の取得ができるので、viewで確認することもできます。
あとは、app/config/localフォルダをコピーしてdevelopmentフォルダを作ります。
その中のdatabase.phpファイルを編集して自分の環境と合わせてください。
これで私も匠と同じことができました。(ドヤ顔)
さらに、よく意味が分かってなかったことも全くバレずに済みました。
Laravelって本当に便利ですね!
▼参考にしたサイト
Laravel 4 環境ごとの設定
Laravel4で実行環境の設定を変更する
では皆さん、こんな私ですがこれからも応援よろしくお願いします!