ラベル symfony の投稿を表示しています。 すべての投稿を表示
ラベル symfony の投稿を表示しています。 すべての投稿を表示

2013年3月5日火曜日

composerの続編だお。

Symfony2でKnpLabs/KnpOAuthBundleを入れようとしてたんだお。

composer.jsonのrequireに下記のように記述するとできたっぽいよ。
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.5-dev", "doctrine/doctrine-bundle": "1.1.*", "doctrine/data-fixtures": "dev-master", "twig/extensions": "master", "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.*", "sensio/buzz-bundle": "*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "kriswallsmith/assetic": "1.1.*", "kriswallsmith/buzz": "dev-master", "knplabs/knp-oauth-bundle": "dev-master" },


なんて書いたらいいかわからない時はpackagistで調べた方がよさげだね。
ここならバージョンもなんて書いたらいいかわかるね。
でも本当はpackagistってなんなのかまだよくわかってないよ(ぉぃ

参考:Composerの使い方を調べたメモ(1)

2013年3月4日月曜日

Symfony2のcomposerでDoctrineFixturesBundleを入れようとした時に困った件

重要なこと

Symfony2.1からはComposerで外部ライブラリの管理をしているらしい。

参考:PHPの外部ライブラリの管理にComposerを使う

オートロード用のファイルも生成するらしく(まだよくわかってないんですけど)

オートローダー関連のところもドキュメントとずれてるのかなんなのかアレだった。
Composer使えば管理が簡単になって、APCクラスローダーと同等のスピードだとかなんとか言ってるじゃねえかなこれは→Composer vs Symfony 2 autoloader

DoctrineFixturesBundleのインストール

で、本題なんですけど、
本家マニュアル通りだとうまくいかず、"doctrine/doctrine-fixtures-bundle"を"doctrine/data-fixtures"にしたらうまくいった。
まだバンドルを使ってみてないけどvendorには入っている。

要はgitのアドレスに合わせて変更したってことなんです。


"kriswallsmith/assetic": "1.1.*@dev" もエラー吐いてたので、"kriswallsmith/assetic": "1.1.*"に変更したらオッケー風でしたよ。

2012年3月29日木曜日

symfony始めました-schema.ymlの作成

どんなDBを使うかモヤモヤと考える。
じゃあMySQLでテーブルはこんな感じかなっとノートにでも書きながら想像する。(省略可)
shema.ymlを書く。
書き方はこの辺を参考に。
Practical symfony 3日目: データモデル
The symfony and Doctrine book
INTの種類の指定の仕方
下記のようなコマンドを打って、うはーすげーな便利だなーと感動する。
php symfony doctrine:build --model
php symfony doctrine:build --sql
php symfony doctrine:insert-sql


タイムゾーンがどうとかいわれたらphp.iniにタイムゾーン設定してあるか確認する。
(してなかったので設定した date.timezone = Asia/Tokyo)

そして3番目(テーブルを実際に作成するコマンド)でハマる。
Couldn't locate driver named mysql
とか言われる。

こちらで言われている通り、確認してみる。
そういえばこれsymfony導入時にもやったじゃんと思いつつ。
・・・モジュール版(?)とCLI版で結果違う・・・?
下記コマンドでphpinfoが見れますよ。
php -i
/usr/bin/php -i
/usr/local/bin/php -i

結論から言えばCLI版のphp.iniにextension=pdo_mysql.soを書き足せばよかったってっ事。
Scan this dir for additional .ini files = (none)
って感じでCLI版はnoneになっちゃってるのが混乱の元だったんだ。

もともと以前確認した時モジュール版はOKだったはず
今思えばこの時も本当はさほど問題なかったんじゃないかと思う。

pecl install pdo-mysql とかpecl install pdo とかやっちゃったけど
これがまたまずかったらしい。
これのせいでモジュール版のPDOからもmysqlが消える。
今は標準でPHPにバンドルされていて、設定を書き換えれば済むところ、古いもので上書きした感じになったようだ?

色々嵌りに嵌ってぐるぐるぐると回りまわって
最終的にこちらで納得して解決。

2012年1月31日火曜日

symfonyはじめました-symfonyのインストール

Getting Started with symfony
symfonyのインストール


プロジェクト用のディレクトリを作る。 $ mkdir -p /home/sfproject
$ cd /home/sfproject
symfonyのライブラリのファイルをぶっこむディレクトリを作る $ mkdir -p lib/vendor ここからダウンロードしてきて展開する。 $ cd lib/vendor
$ tar zxpf symfony-1.4.16.tgz
$ mv symfony-1.4.16 symfony
$ rm symfony-1.4.16.tgz
symfonyのバージョンを表示するコマンドを使うことでsymfonyが正しくインストールされていることを確認 $ cd ../..
$ php lib/vendor/symfony/data/bin/symfony -V
終わり。簡単ですね。

おまけ $ php lib/vendor/symfony/data/bin/symfony で色々見れる。