<?php
 
// Setup Autoloader (1)
Doctrine\ORM\Tools\Setup::registerAutoloadPEAR();
 
// Define application environment
define('APPLICATION_ENV', "development");
 
/*
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
*/
 
 $classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__);
 $classLoader->register();
 $classLoader = new \Doctrine\Common\ClassLoader('Proxies', __DIR__);
 $classLoader->register();
 
// configuration (2)
 $config = new \Doctrine\ORM\Configuration();
 
// Proxies (3)
 $config->setProxyDir(__DIR__ . '/Proxies');
 $config->setProxyNamespace('Proxies');
 
 $config->setAutoGenerateProxyClasses((APPLICATION_ENV == "development"));
 
// Driver (4)
 $driverImpl = $config->newDefaultAnnotationDriver(array(__DIR__."/Entities"));
 $config->setMetadataDriverImpl($driverImpl);
 
// Caching Configuration (5)
 if (APPLICATION_ENV == "development") {
 
     $cache = new \Doctrine\Common\Cache\ArrayCache();
 
 } else {
 
     $cache = new \Doctrine\Common\Cache\ApcCache();
 }
 
 $config->setMetadataCacheImpl($cache);
 $config->setQueryCacheImpl($cache);
 
 $connectionOptions = array(
    'driver' => 'pdo_mysql',
    'dbname' => 'blog_development',
    'user' => 'root',
    'password' => '',
    'host' => 'localhost');
 
 $em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
 
 $helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
     'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
     'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
 ));
 ?>
 
<<目的>>
・NetBeans IDE 7.3でDoctrine2 フレームワーク アプリケーションを開発する。

<<ソフトおよびバージョン>>
・NetBeans IDE 7.3
・Doctrine2 ORM 2.3.3
・PHP 5.4.7 (xampp 1.8.1)

<<やりかた>>
・プラグインの追加(NetBeans IDE)
  ・NetBeans IDEを起動する。
 ・メニューから「ツール」→「プラグイン」を選択。
 ・「使用可能なプラグイン」から
    PHP Doctrine2 フレームワーク
  を選択して「インストール」
 ※すでにインストールしてある場合は「インストール済み」のタブに表示されるので、何もしなくて良い。

・Doctrine2 フレームワークのインストール
 ・http://www.doctrine-project.org/projects/orm.htmlから
   2.3.3 Download Archive
  をクリック。
 ・ダウンロード後、任意のディレクトリに解凍。
  ※pearでインストールすることも可能ではあるが、肝心のdoctrine.batが存在しないので
  必ずダウンロードでインストールすること。
  
・Doctrine2 スクリプトの指定(NetBeans IDE)
 ・NetBeans IDEに戻り、メニューから「ツール」「オプション」を選択。
 ・「PHP」「Doctrine2」を選択。
 ・「Doctrine2スクリプト」の欄にdoctrine.batへのパスを指定。
   (インストールディレクトリのbinディレクトリにあるはずです)

・doctrine.batおよびdoctrineの修正
 ・doctrine.batをテキストエディタで開き、以下を修正する。
   @php_bin@ -> php.exeへのフルパスを指定
   @bin_dir@ -> doctrine2のbinディレクトリをフルパスで指定
 ・doctrineをテキストエディタで開き、以下を修正する。
   doctrine.php -> doctrine-pear.phpに修正

・グローバル・インクルード・パスの追加(NetBeans IDE)
  ・メニューから「ツール」「オプション」を選択。
  ・「PHP」「一般」を選択。
  ・グローバル・インクルード・パスにDoctrine2 フレームワークのインストールディレクトリを追加。

・インクルード・パスの追加(PHP)
 ・apacheで使用しているPHPのphp.iniをメモ帳などで開く。
 ・include_pathに、Doctrine2 フレームワークのインストールディレクトリを追加。
   例)
     include_path = ".;C:\usr\local\xampp\php\PEAR;C:\usr\local\DoctrineORM-2.3.3"

・アプリケーションの作成
 ・メニューから「ファイル」「新規プロジェクト」を選択。
 ・「PHP」「PHPアプリケーション」を選択して「次へ」
 ・プロジェクト名を適当に入力して「次へ」
  ※将来的にapacheで動作させるためには、ソース・フォルダはapacheから見える場所
   (普通はhtdocs内)にしておく必要があります。 
 ・実行方法およびプロジェクトURLを入力して「次へ」
 ・「Doctrine2 フレームワーク」を選択して「終了」

・cli-config.phpの作成
 ・ソースフォルダを右クリックし、「新規」「PHPファイル」を選択。
 ・名前を「cli-config.php」として「終了」。
 ・以下のような内容で作成する。

 cli-config.phpの例(今回はローカルのmysqlへ接続する設定になっています)
 
・Doctrine2コマンドの実行
 ・アプリケーションを右クリックし、Doctrine2 -> コマンドの実行を選択。
 ・パラメータを指定し、一致するタスクから必要なコマンドを実行する。
 ※ここでコマンドが何も表示されないときは、設定に誤りがありますので見直すこと。

<<目的>>
・NetBeans IDE 7.3で開発したSymfony2 フレームワーク アプリケーションをapache 2上で動作させる。

<<ソフトおよびバージョン>>
・NetBeans IDE 7.3
・Symfony2 Framework 2.2.0
・PHP 5.4.7 (xampp 1.8.1)
・apache 2.4.3 (xampp 1.8.1)


<<やりかた>>
・プラグインの追加(NetBeans IDE)
・NetBeans IDEを起動する。
 ・メニューから「ツール」→「プラグイン」を選択。
 ・「使用可能なプラグイン」から
    PHP Symfony2 フレームワーク
  を選択して「インストール」
 ※すでにインストールしてある場合は「インストール済み」のタブに表示されるので、何もしなくて良い。


・Symfony2 フレームワークのインストール
 ・http://symfony.com/download から
      Symfony Standard Edition 2.2.0 (.zip)
をダウンロード。ダウンロード後、適当なディレクトリに配置。
 ※解凍ではなくzipをそのまま配置しておけばよい。


・Symfony スクリプトの指定(NetBeans IDE)
 ・NetBeans IDEに戻り、メニューから「ツール」「オプション」を選択。
 ・「PHP」「Symfony2」を選択。
 ・「Symfonyスクリプト」の欄にダウンロードしたzipファイルへのパスを指定。


・アプリケーションの作成
 ・メニューから「ファイル」「新規プロジェクト」を選択。
 ・「PHP」「PHPアプリケーション」を選択して「次へ」
 ・プロジェクト名を適当に入力して「次へ」
  ※正しく動作させるためには、ソース・フォルダはapacheから見える場所
   (普通はhtdocs内)にしておく必要があります。 
 ・実行方法およびプロジェクトURLを入力して「次へ」
 ・「Symfony2 フレームワーク」を選択して「終了」


・apacheを起動(すでに起動している場合はなにもしなくてよい)。


・動作確認
 ・アプリケーションのURL(/web/app_dev.php)にブラウザでアクセスして、正しく表示されればOK。