symfony1.2.9のインストール [propel-schema-reverse]there was an error building XML from metadata:could not find driver
11月 28

このエントリをはてなブックマークに登録 このエントリをBuzzurlにブックマーク Yahoo!ブックマークに登録 このエントリをlivedoorクリップに登録 Deliciousにブックマーク このエントリをnewsing it!へ追加

symfonyのインストールが完了したので、
symfonyをつかってHello! World!を出力するまで行う。
symfonyのインストールはコチラを参照。

また、apacheのmod_rewriteというモジュールが必要です。
無い人はインストールしておきましょう。

今回はhelloというプロジェクトを開発し、Hello! World!を出力するアプリケーションを作成します。

まずは、プロジェクトを作ります。
どこでもよいので、プロジェクト用のディレクトリを作成。移動。
ここでは/project/helloがsymfonyコマンドを打つ基本のディレクトリになります。

mkdir /project/hello
cd /project/hello

次に、symfonyのプロジェクトを初期化する。
*symfonyコマンドが打てないならsymfonyにパスを通しておいてください。

symfony init-project hello

次に、アプリケーションを作成する。
今回はhello! world!というプログラムを公開するアプリケーションなので「front」というアプリケーションを作ります。
もし、このプロジェクトを管理する管理画面等を作る場合は、「back」といったアプリケーションを作ります。

 symfony init-app front

さて、ここまできたら/project/hello/web配下にindex.phpというコントローラーが配置されます。
実際にwebでアクセスした際に起動する実行ファイルはこのindex.phpになります。
なので、ここを実行するようにapacheの設定を行います。
例えば、hello.morinoyume.comというドメインなら以下のようになります。
(*hello.morinoyume.comはありませんよ)
ドキュメントルート、DirectlyIndex、Alias /sf…がミソです。
Alias /sfは自分がsymfonyをインストールしたディレクトリのsfを指定してあげましょう!

<VirtualHost *>
    ServerName hello.morinoyume.com
    DocumentRoot /project/hello/web
    ErrorLog logs/hello_error_log
    CustomLog logs/hello_access_log combined

    #php
    AddType application/x-httpd-php .php .phtml
    AddType application/x-httpd-php-source .phps

    #directry index
    DirectoryIndex index.php

    Alias /sf /usr/local/php/PEAR/data/symfony/web/sf

    <Directory />
      Order Deny,Allow
      Deny from all
      Allow from all
    </Directory>

   <Directory />
     Options All
     AllowOverride All
   </Directory>

</VirtualHost>

この時点で、http://hello.morinoyume.com/にアクセスして、

symfony

「Symfony Project Created」という画面になれば、symfonyのセッティング完了です。
index.phpにアクセスできたにも関わらず、上記のような綺麗な画面にならなければ、「/sf」のAliasの設定が間違っています。
もし、index.phpにアクセスできないようなら、apacheの設定ミスです。

さて、プロジェクトができたら、いよいよモジュールを開発しましょう。
今回はfrontアプリケーションにindexというモジュールを作成して、hello!worldを出力するモジュールを作ります。
もし、Hello!Worldアプリケーションのアカウント登録のインターフェイスを作るなら「account」モジュールなどモジュールを分けてあげましょう。

symfony init-module front index

これで、indexモジュールができました。
/project/hello/apps/front/modules/ 配下にindexモジュールができていることがわかると思います。
次はテンプレートにHello! World!を書きましょう。

vi /project/hello/apps/front/modules/index/templates/indexSuccess.php

に「Hello!World!」と書いてください。

次は、アクション(プログラム)にこのテンプレートを出力するように

  public function executeIndex(sfWebRequest $request)
  {
    return sfView::SUCCESS;
  }

と書きましょう。
これで、完了です。
http://hello.morinoyume.com/index
にアクセスしてみてください。
「Hello!World!」という文字が表示されたら成功です!

だらだらと長くなってしまった・・・
わかりにくい投稿になってしまいましたね・・・。

関連の記事

written by YSU \\ tags: ,

このエントリをはてなブックマークに登録   ブログランキング・にほんブログ村へ人気ブログランキングへ←ポチッ

Trackback URL



Leave a Reply

Comments links could be nofollow free.