こんにちは、底辺プログラマの高橋です。
今回は「コンポーネント」と「Symfony2 Standard Edition」について簡単に触れます。
Symfony Component
Symfony2の各機能は Symfony Componentという単体でも利用可能なライブラリ群で構成されてます。
Symfony Component一覧 http://symfony.com/components
「Symfony2のススメ1」で簡単な認証機能の実装例を示しましたが、
認証機能はSecurityコンポーネントというライブラリを利用することで実装しています。
この認証機能はSymfony2だけに限らず単独の認証機能のライブラリとしても利用可能です。
(単独での利用は勉強不足で試せてないですが)
pearからのインストールも可能です。
$ sudo pear channel-discover pear.symfony.com $ sudo pear remote-list -c symfony2 Channel symfony2 Available packages: ==================================== Package Version BrowserKit 2.0.0 ClassLoader 2.0.0 Config 2.0.0 Console 2.0.0 CssSelector 2.0.0 ~略~Symfony2 PEAR Channel http://symfony.com/blog/symfony2-pear-channel
Symfony2 Standard Editionについて
Symfony公式よりtarballをダウンロードすると「Symfony2 Standard Edition」を利用する事になります。
tarballの「Symfony2 Standard Edition」はコア機能+Doctione2等の外部ライブラリを纏めたファイルとなります。
しかし、gitレポジトリでは起動用ファイル/デモ機能/アプリケーションの殻の構成となっており、
gitからインストールしようとすると他レポジトリのインストール操作が必要になります。
$ git clone http://github.com/symfony/symfony-standard.git $ cd symfony-standard $ rm -rf .git $ php bin/vendors installSymfony2 Download:http://symfony.com/download
Symfony2 Standard Edition git レポジトリ:http://github.com/symfony/symfony-standard
「php bin/vendors install」では「deps」ファイルに記載されている各gitレポジトリを
「vender/」ディレクトリ下に展開しています。
ログ出力のようなコアに近い機能も「monolog」として独立したライブラリを利用してたりします。
depsファイルの中身
[symfony] git=http://github.com/symfony/symfony.git version=v2.0.0 [twig] git=http://github.com/fabpot/Twig.git version=v1.1.1 [monolog] git=http://github.com/Seldaek/monolog.git version=1.0.0 ~略~
ちなみに「Symfony Component」はhttps://github.com/symfony/symfony/tree/master/src/Symfony/Componentに存在してます。
以上、今回は機能の独立性が高い構造となってますね! という話でした。