symfony2.1インストールメモ
symfony2.0からの変更点
1、バージョン(サードパーティ製プラグイン)管理に、symfony2.0がdepsを使ってましたが、composerが標準になっているので、symfony2.1がそれを使っています。
packagist.orgから、symfonyのプラグインを含み、composerでインストールできるいろなPHPのパッケージを見つかることができます。
2、symfony2.0がphp-xmlを必要なかったですが、symfony2.1からは必要になっています。
composerのインストール
下記コマンドを打ったら完了です。
1 | curl -s https://getcomposer.org/installer | php |
php-xmlのインストール
これも1コマンドです。
1 | yum --enablerepo=remi -y install php-xml |
ついてにsymfony2が勧めているライブラリもインストール
1 | yum --enablerepo=remi -y install php-posix php-intl |
symfony2.1本体をインストール
簡単な1コマンドで、symfonyの標準バージョンがインストールされます。
1 | php composer.phar create-project symfony/framework-standard-edition /path_to_install |
php.iniで、timezoneとinternal_encoding(必須ではない)を直します。
1 2 | date.timezone = Asia/Tokyo mbstring.internal_encoding = UTF-8 |
開発者に便利なコマンド
1、まずバンドルを作成します。namespaceは任意の値に指定します。
1 | php app/console generate:bundle --namespace=Jeff/BackendBundle --dir=src |
2、バンドルで使うエンティティを定義します。Userというエンティティを作ります。
1 | php app/console doctrine:generate:entity --entity=JeffBackendBundle:User --format=annotation --fields="username:string(256) password:string(32) salt:string(255) is_active:boolean code:string(64) company:string(128) mail:string(256)" --with-repository --no-interaction |
3、ついてにUserを作成、読取る、更新、削除(crud)の機能を一気に作ります。
1 | php app/console doctrine:generate:crud --entity=JeffBackendBundle:User --route-prefix=auth --with-write |
4、最後に作ったエンティティに対応するDB側のテーブルを作ります。
1 | php app/console doctrine:schema:create |
これで開発が出来上がり
はずありません!!
これから仕様書通りに機能を作り込まなければならないし、
途中で何かのエラーが出るかもしらないで、それを解決する必要です。
おまけ ーー composerを使ってサードパーティ製プラグインをインストールするには
例えば、ページャーのプラグインをインストールしたい場合は、
packagist.orgに、キーワード「pager」で検索してみます。
いろいろなパッケージが出てきますが、とりあえず一番目の「makerlabs/pager-bundle」をクリック見てみます。
最新バージョン(ここはdev-master)の下に書いたある「”makerlabs/pager-bundle”: “dev-master”」をsymfonyのcomposer.jsonの「”require”」項目に追加して、
1 | php composer.phar update |
をかけて、ライブラリ全体のアップデータ(新規インストール含み)が行って、「makerlabs/pager-bundle」を自動にインストールしてくれます。
おまけその2 ーー composer.json
composer.jsonの内容が分からないって?
ここに貼ります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | { "name": "symfony/framework-standard-edition", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.1.*", "doctrine/orm": ">=2.2.3,<2.4-dev", "doctrine/doctrine-bundle": "1.0.*", "twig/extensions": "1.0.*@dev", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "kriswallsmith/assetic": "1.1.*@dev", "makerlabs/pager-bundle": "dev-master" }, "scripts": { "post-install-cmd": [ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" ], "post-update-cmd": [ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" ] }, "extra": { "symfony-app-dir": "app", "symfony-web-dir": "web" } } |
Author Profile
スターフィールド編集部
SHARE