タグ

ブックマーク / qiita.com/o0h (3)

  • [CakePHP3]現場で使えるCollectionクラスの15選 - Qiita

    CakePHP Advent Calendar 2017、第4日目です! 私は最近だとCake3を利用しているのですが、触っていた期間でいうとまだまだCake2の方が長い〜と思います。 なので、昨日のカスタムファインダーのエントリはとても興味深かったです・・・数えるほどしか使ってない(書いていない)機能だったので、改めて理解した上で機会があれば活用してみたいと思いました。 Collection の話をします! さて、今回はCakePHP3の話になります。 もともとCake2からHashクラスは大好きなのですが、Collectionは同じく「集合をよしなに扱う便利クラス」になります。 ORM層に見られるように「プリミティブな連想配列を脱却した良さを分かち合おう」というCake3時代の思想を、色濃く感じることができる場面です。 ドキュメントはこちら: https://book.cakephp.

    [CakePHP3]現場で使えるCollectionクラスの15選 - Qiita
  • 【CakePHP3】バリデーション・アプリケーションルールについて - Qiita

    社内用にまとめた内容の転載。 ココらへんの話をします CakePHP3の値チェックは2段階! ValidationとValidation Provider Application Rules Entityに渡す値のチェック(検証)は2段階で行われる CakePHP3では、従来とは大幅に「バリデーション」の機構が変更されました。 これまでModel::save()やModel::delete()時に暗示的に、もしくは明示的にModel::validate()をした際に走っていたデータの検証が、次のような2ステップに分けて扱われます。 Entity作成・更新時に行われる「validation」 Databaseに作用する(insert, update, delete)際に行われる「(application | domain) Rule」 この変化はパッと見とっつきにくいし、 なんぞ…という感じ

    【CakePHP3】バリデーション・アプリケーションルールについて - Qiita
  • PHPUnitで「例外が投げられないことを期待する」というテストケースをどのように書くか - Qiita

    こんな「困った」時の話 「異常時に例外を投げる、正常に完了したらvoidとなる」というようなメソッドがあるとします。 こんな時に、PHPUnitでどのように単体テストを書けばいいでしょうか? PHPUnitでは、1つもassertionがないテストを「Risky」としてマークします。これは賢いのですが、しかし「返り値をとれないメソッド」=assertionを置けないテストケースについてRiskyになってしまうのが困る・・・と悩んでいました。 結論: @doesNotPerformAssertions を使えそう テストケースのアノテーションに @doesNotPerformAssertions を入れると、「これはリスキーじゃないぞ」という事を示すことができそうです。 以下、「こうやって対処してきた」「これからは@doesNotPerformAssertionsを使いたいかも」という話をし

    PHPUnitで「例外が投げられないことを期待する」というテストケースをどのように書くか - Qiita
  • 1