CakePHP のプロジェクトを Eclipse に関連付ける
[CakePHP] 1.3.8
[Eclipse] Pleiades All in One 3.6.2 PHP
左図は、CakePHP 1.3.8.zip を DL してきて展開し
フォルダ名を「CakePHP」とリネームした状態を
エクスプローラで見ている。
- cake フォルダは、CakePHP の根幹ファイル群で
基本的に我々が触ることはない - app(webroot を除く) フォルダは、これから作成するアプリ格納場所で
基本的にここにファイルを作成していく - webroot フォルダは、公開用ディレクトリ
用途別に大きく分けると3つのディレクトリが存在する。
セキュリティ面を考慮し、後々は webroot のみ公開エリアに配置し
残りは非公開エリアに配置するので
Eclipse プロジェクトも3つ用意すると便利。
というわけで
新規 PHP プロジェクト&ファイル および 既存 PHP サイトの読み込み
のようにして
- cake – 必ず cake という名称にすること
- myapp_app – 名称任意
- myapp_webroot – 名称任意
という3つのプロジェクトを作成する。
新規 PHP プロジェクト&ファイル および 既存 PHP サイトの読み込み の
既存 PHP サイトの読み込み のようにして
CakePHP を展開したディレクトリから cake フォルダを読み込む。
cake プロジェクトと同様であるが、今回は読み込み指定先が
app フォルダ。
そして、app フォルダ1階層下の webroot フォルダを除外する。
先ほど除外した webroot フォルダを指定。
にて、ディレクトリ構成を再定義する。
- if (!defined('ROOT')) {
- //define('ROOT', dirname(dirname(dirname(__FILE__))));
- define('ROOT', 'J:' . DS . 'Eclipse_PDT' . DS . 'cakeprojects' . DS . 'myapp');
- }
39行目をコメントアウトし、上記環境に合うように再定義。
- if (!defined('APP_DIR')) {
- //define('APP_DIR', basename(dirname(dirname(__FILE__))));
- define('APP_DIR', 'benricho_app');
- }
(前の操作により、行番号はデフォルトからずれている)
46行目をコメントアウトし、アプリディレクトリを定義するのだが
先ほど CakePHP プロジェクトルートディレクトリを定義しているので
そこからの相対パスで書くことも可。
- if (!defined('CAKE_CORE_INCLUDE_PATH')) {
- define('CAKE_CORE_INCLUDE_PATH', ROOT);
- }
(前の操作により、行番号はデフォルトからずれている)
ここの設定は、cake ディレクトリの親ディレクトリを指定するので
私の環境では、変更なし、となる。
- if (!defined('WEBROOT_DIR')) {
- define('WEBROOT_DIR', basename(dirname(__FILE__)));
- }
(前の操作により、行番号はデフォルトからずれている)
- basename(dirname(__FILE__));
この命令は、index.php ファイル自体からディレクトリ名を取得しているので
変更の必要はない。
インストール
で、実践したように、VirtualHost の設定については
Eclipse と関連付ける前は
に設定すればよかったが、Eclipse 関連付け後は
こちらに設定しないといけないみたい。
よって
- # Be sure to only have this line once in your configuration
- NameVirtualHost 127.0.0.1:8080
- # This is the configuration for your project
- Listen 127.0.0.1:8080
- <VirtualHost 127.0.0.1:8080>
- DocumentRoot "J:\Eclipse_PDT\cakeprojects\myapp\myapp_webroot"
- DirectoryIndex index.php
- <Directory "J:\Eclipse_PDT\cakeprojects\myapp\myapp_webroot">
- AllowOverride All
- Deny from All
- Allow from 127.0.0.1
- </Directory>
- </VirtualHost>
とすることで、以下のようにうまく表示できた。
CakePHP プロジェクトルートの index.php
と
webroot の index.php
との違いが分かり次第、記事を修正。
http://localhost:8080/ にアクセス。
いぇーい!
無事に表示できた♪
参考元サイト:Awaresoft CakePHP + eclipse開発環境のセットアップ