5月 27
05.[補足]環境を移す
ちょっと説明が足りないので補足しておきます。
例えば一旦MacOSXで開発を始めて、途中から別の場所でWindowsに移して開発を続けるというような場合にどうするか、という話です。
Windowsの場合はターミナルならぬコマンドプロンプトで操作しなければいけないので、パスを通しておかないとコマンドを打ち込むのが大変に面倒です。
例えばapacheが c:¥Program Files の中に設置されていたりすると果てしなくだるいです。
ということで、整理してみます。
最初に、 C:\cake を作ってその中に解凍してみてはどうでしょうか。
そうすると、cakeコマンドへのパスは
C:\cake\cake\console
となります。
こいつにパスを通しておきます。
「コントロールパネル」から「システムの詳細設定」→「環境変数」→「システム環境変数(S)」と進んで、「Path」を編集します。一番最後に以下を追加。
;C:\cake\cake\console
コマンドプロンプトを立ち上げて、適当な場所で
cake
と打って、起動することを確認しておきます。
で、apacheのドキュメントルート以下に移動します。
cd apache\htdocs cake bake project yott
こう打つと、
こんなメッセージが出て、
Welcome to CakePHP v1.2.3.8166 Console
—————————————————————
App : htdocs
Path: C:/apache/htdocs
—————————————————————
Bake Project
Skel Directory: C:\cake\cake\console\libs\templates\skel
Will be copied to: C:/apache/htdocs/yott
—————————————————————
Look okay? (y/n/q)
[y] >
Do you want verbose output? (y/n)
[n] >
—————————————————————
Created: yott in C:/apache/htdocs/yott
—————————————————————Creating file C:apache/htdocs/yott/views\pages\home.ctp
Wrote C:/apache/htdocs/yott/views\pages\home.ctp
Welcome page created
Random hash key created for ‘Security.salt’
CAKE_CORE_INCLUDE_PATH set to C:\cake in webroot/index.php
CAKE_CORE_INCLUDE_PATH set to C:\cake in webroot/test.php
Remember to check these value after moving to production server
1
新しいprojectとして yott が作られます。htdocs 以下に yott フォルダーが作られて、app フォルダーの中味がコピーされています。
ブラウザから http://localhost/yott/ を開くと
Sweet, “Yott” got Baked by CakePHP!
なんてメッセージが出ています。
Security.salt も自動で生成してくれたようです。
なにやら謎の pages_controller も作られたようです(!?)。
あとは今作られた yott ディレクトリに入って、以下でデータベース設定をやって、
cd yott cake bake
macの環境で書き出した schema.php を /yott/config/sql/schema.php にコピーしてから、以下を実行
cake schema run create
すると、以下のように
Welcome to CakePHP v1.2.3.8166 Console
—————————————————————
App : yott
Path: C:/apache/htdocs/yott
—————————————————————
Cake Schema Shell
—————————————————————
Error: schema.php could not be loaded
エラーになります。
そこで、schema.php の以下の部分を
class AppSchema extends CakeSchema {
var $name = 'App';
Yott に書き換えます。
class YottSchema extends CakeSchema {
var $name = 'Yott';
再度、
cake schema run create
今度はOKです。
Welcome to CakePHP v1.2.3.8166 Console
—————————————————————
App : yott
Path: C:/apache/htdocs/yott
—————————————————————
Cake Schema Shell
—————————————————————The following table(s) will be dropped.
favorites
members
members_favorites
types
usersAre you sure you want to drop the table(s)? (y/n)
[n] >The following table(s) will be created.
favorites
members
members_favorites
types
usersAre you sure you want to create the table(s)? (y/n)
[y] >
Creating table(s).
favorites updated.
members updated.
members_favorites updated.
types updated.
users updated.
End create.
無事テーブルが作られました。
ちなみに、名前を yott ではなく、sample_a とかにしてしまった場合は、上述の schema.php の書き換える部分は
class SampleASchema extends CakeSchema {
var $name = 'SampleA';
になりますのでご注意を。
