2012.03.27 PHP勉強会@東京 #58
躊躇も脈絡も無く、start。 まずはinstall。 gitで引っ張ってこれるので大変においちゃん好み。 適当なディレクトリにおいておきましょう。 clone git://github.com/mlively/Phake.git phake今回は「phake」ってディレクトリにしておいた。素直というよりは単純。 まず「使える」ようにする。 インストールディレクトリん中のsrcにパスが通ってる必要があるっぽいので、最低限が、こんな感じ。 $dir = "./phake/src/"; set_include_path(get_include_path() . ':' . $dir); require_once('Phake.php');面倒だからdirは相対パスだけど、本当は絶対パスのほうがよいと思う。 MagicWeaponだと、configのlib_pathに追加する感じかねぇ。 これで
2. Hello! Mike Lively Lead Developer Selling Source, Inc. PHPUnit Contributor PHPUnit Database Extension A frequent inhabitant of #phpc http://digitalsandwich.com 4. PHPUnit - Advanced Features Mock Objects - A way to further isolate code while testing. Database Extension - A DBUnit port to allow creation of fixtures for database content. Selenium Integration - A gateway to integration testing. PH
src/Acme/DemoBundle/ にデモがたくさんある。ここのソースを読んでみる。 Twig関連の記事。 ・Twig - The flexible, fast, and secure template engine for PHP ・ウノウラボ by Zynga Japan: PHPテンプレートエンジンTwigをいじってみました Symfony2はrequire_onceを書かない。autoload.php に読み込むディレクトリを書く。 ・写真:第4回Symfony2勉強会 Symfony2系のバンドルは、あえてSymfony1系で表現するとアプリケーションだけど、そもそもSymfony1系と比較しない。(別物なのです。) ■ キャシュの削除 現状、1系の symfony cc のようなキャッシュを削除するコマンドはないそうです。 なので、手動で削除するしかないみたいです。rm
Symfonyの機能テストでは最初にWebTestCase::createClient()メソッドでClientオブジェクトを作成し、そのオブジェクトを使ってリクエストを行い、その返り値を確認することによってテストを行います。 テストクラス: <?php ... class ...Test extends WebTestCase { public function test...() { $client = static::createClient(); $client->request('GET', '/path/to/foo'); $this->assertEquals(200, $client->getResponse()->getStatusCode()); $this->assertThat($client->getCrawler()->filter('title')->text
Symfony2勉強会 #6 でLTをしてきました。 まとまりのないLTになってしまい、思い出すのも恥ずかしいのですが、LTの内容を補足します。 目次 LTで話したこと 個人的に長いと思っているテストコード 分割した後のテストコード(動きません) containerから生成したtokenが不正 テスト時のみ、csrfを無効にすると、様々な弊害が CSRF対策が有効かどうかを判定するif文 DIした情報は、画面遷移で初期化されて消える 諸先輩からのアドバイス ふりかえり LTで話したこと Symfony2のコントローラのファンクショナルテストは、複数アクションにまたがるので一つ一つのテストケースが長くなりがち。テストケースが長いとメンテナンスしづらいので、短くしたい。POSTリクエストのアクションをテストしようとして、CSRF対策に苦しんだ。SessionをDIしても、テストケース内で画面遷
要約¶ この章に来るまでに Symfony2 での開発に関するコアのコンセプトの多くの分野を見てきました。さらに機能を追加する前に、ここでテストを説明しておきましょう。ユニットテストで個々の機能をテストする方法、機能テストで複数のコンポーネントの動作が正しいかを確認する方法の両方を見ていきます。 Symfony2 のテストの中心のライブラリである PHP のテストライブラリ PHPUnit を説明します。テストは重要なトピックなので、後の章でも扱う予定です。この章の最後では、ユニットテスト、機能テストの両方による多くのテストを書くことになります。ブラウザをシミュレートしたり、フォームにデータを入力したり、ウェブページが正しく出力されているかレスポンスをチェックしたります。また、アプリケーションのコードベースでテストがどのくらいのカバレッジなのかチェックもします。 Symfony2 における
※めっちゃ間違っていたので訂正してあります(2013/07/11) 最近はSymfony2な日々を送っています。 アクティブレコードから解放された僕はフリーダムです。 で、やっぱりDoctrine2でも論理削除をしたいわけです。 ただ、ちょっと導入がやっかいというかサンプルがなかなか見つからなかったので見聞録としてここに残しておきます。 ※今回使ってるsymfony2は2.2系です。2.1とかだと動くかどうかはわかりません。 まずは論理削除用のDoctrineの拡張を取得する https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/softdeleteable.md composer.jsonのrequireの中に以下のように記載すればcomposer installで入るかと思います。 ちゃんとオートローダーの設定もして
Symfony2で少し複雑なフォームを作る際のメモ書き。 例として1つの商品は複数のカテゴリに属する。 要件としては管理画面の商品の設定画面にて、複数のカテゴリを設定することとする。 更に設定したカテゴリにはついでに何かメモ書きを設定出来ることとする。 各Entityは以下のように実装する。 Product.php (商品) <?php // ... class Product { /** * @var integer $id * * @ORM\Column(name="product_id", type="integer", nullable=false) * @ORM\Id * @ORM\GeneratedValue(strategy="IDENTITY") */ private $id; /** * @var string $productName * * @ORM\Column(n
コンフィギュレーションオプション: app/config/config.yml といったファイルでどのようなコンフィギュレーションオプションが使えるのでしょうか。 ここでは、Symfony2 のコンフィギュレーションで使えるセクションとして定義されているキー(たとえば framework)ごとに、利用可能なすべてのコンフィギュレーションについて解説します。 framework doctrine security assetic swiftmailer twig monolog web_profiler フォームとバリデーション フォームフィールドタイプリファレンス バリデーション制約リファレンス Twig テンプレート関数リファレンス その他 このページの翻訳はまだ行われていません。 Symfony2 の実行に必要な要件 バンドル¶ Symfony Standard Edition にはい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く