巷ではすっかりフレームワークという言葉や構築方法も浸透してきているようですね。
PHPの世界でもここ数年でいろんなフレームワークが登場してきました。
最近日本で有名なフレームワークとしてはMaple,Ethnaのようですね。 しかし、私は2年前からMojaviを使ってWebシステムを構築してきた経験上Symfonyがすごく気になっています。
PHP5も浸透してきたことですし、そろそろPHP5のフレームワークに乗り換えてみることにしました。

Symfonyのインストール

symfonyはPEARライブラリとして提供されていますので、pearコマンドが使える環境であれば簡単にインストールできるようです。 そこで、まずはPEAR環境を最新に更新します。

#pear upgrade-all

symfonyでは phingというライブラリを利用するので前もってインストールします。

#pear install --alldeps http://phing.info/pear/phing-current.tgz

続いてsymfonyのインストールです。PEARのchannelにpear.symfony-project.comを追加します。

#pear channel-discover pear.symfony-project.com

最後にsymfonyをインストールします。

#pear install symfony/symfony

今回はpearのインストール先を/usr/local/php5/lib/php/としていましたので、このフォルダ以下に各種ファイルが作成されました。

アプリケーションのインストール

symfonyではsymfonyコマンドを使って、アプリケーションのプロジェクト作成や初期化を行うことができます。
サンプルとしてtestアプリケーションを作ってみましょう。
(私の環境では/usr/local/php5/bin/symfonyにインストールされました。)

プロジェクトの作成

symfonyではプロジェクトという単位でWEBアプリケーションを作成します。
プロジェクトを作成する場所は自由に選択することができます。今回は/home/testに作成することにします。

#cd /home/test
#/usr/local/php5/bin/symfony init-project test

プロジェクトを作成すると、フォルダにはドキュメントルートを含めた様々なファイルが生成されます。

#tree /home/test
|-- SYMFONY
|-- apps
|-- batch
|-- cache
|-- config
|   |-- apache.conf
|   |-- config.php
|   |-- databases.yml
|   |-- propel.ini
|   |-- properties.ini
|   |-- rsync_exclude.txt
|   `-- schema.yml
|-- data
|   |-- model
|   |-- plugins
|   `-- sql
|-- doc
|-- lib
|   |-- model
|   `-- plugins
|-- log
|-- plugins
|-- test
|   `-- bootstrap
|       |-- functional.php
|       `-- unit.php
`-- web
    |-- css
    |   `-- main.css
    |-- error.php
    |-- error500.html
    |-- images
    |-- js
    |-- robots.txt
    |-- unavailable.html
    `-- uploads
       `-- assets

/home/test/webフォルダがドキュメントルートになります。
configs/apache.confを参考にWEBサーバにバーチャルドメインを設定しました。

<VirtualHost *:80>
  ServerName www.test.net
  DocumentRoot "/home/test/web"
  Alias /sf "/usr/local/php5/lib/php/data/symfony/web/sf"
  <Directory "/home/test/web">
    AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/test-error_log
  CustomLog /var/log/log/test-access_log common
</VirtualHost>

続いて、アプリケーションのインストールを行います。frontendという名称でアプリケーションを作成することにします。 Symfonyではアプリケーションを一般向け画面や管理者向け画面というように作成するようです。

#/usr/local/php5/bin/symfony init-app frontend

  プロジェクトフォルダ以下にさらに下記のファイルが作成されます。

|-- apps
|   `-- frontend
|       |-- config
|       |   |-- app.yml
|       |   |-- cache.yml
|       |   |-- config.php
|       |   |-- factories.yml
|       |   |-- filters.yml
|       |   |-- i18n.yml
|       |   |-- logging.yml
|       |   |-- routing.yml
|       |   |-- security.yml
|       |   |-- settings.yml
|       |   `-- view.yml
|       |-- i18n
|       |-- lib
|       |   `-- myUser.class.php
|       |-- modules
|       `-- templates
|           `-- layout.php
|-- test
|   `-- functional
|       `-- frontend
`-- web
    |-- frontend_dev.php

http://www.test.net/にアクセスすると下記のような画面が表示されます。これでインストールは完了です。

WS000005.JPG

Symfonyのプロジェクトフォルダに作成された各種フォルダやファイルの説明は下記のSPARK2さんのホームページで紹介されています。 http://blog.spark-lab.com/2006/03/symfony_2.html


添付ファイル: fileWS000005.JPG 47件 [詳細]

Last-modified: 2006-10-24 (火) 20:30:57 (1415d)