タグ

ブックマーク / brtriver.hatenadiary.org (3)

  • [PHP] Hamcrestを利用した超シンプルdocコメントでのテスト方法 - ぷぎがぽぎ

    PHPでテストを書くというとPHPUnitがデファクトスタンダードで、次がSimpleTestでしょうか。 以前はインストールも大変でしたが、今となってはcomposer使えば楽ですし、実績もあります。 でも、当にこの2択でPHPらしい開発ができていますか? たとえば、テストケースのクラスを用意することが前提になります。 ちょっとPHPのコードを書いてテストしたいときもです。 たとえば、以下のようなロジックを書きたいとします。 <?php $users = [ '太郎' => 'male', '花子' => 'female', '一郎' => 'male', ]; // この$usersから男性('male')のものだけを抽出したい $males = [ '太郎' => 'male', '一郎' => 'male', ]; ?> 普通にPHPUnitでTDDでとなると、それなりに面倒です

  • PHPで簡単に配列の値をエスケープ処理する方法 - ぷぎがぽぎ

    PHPとクロスサイトスクリプティング クロスサイトスクリプティング(XSS)を発生しないようにするには出力時に適切にエスケープ処理させるというのはウェブアプリケーションを開発する人たちにとっては今は常識となっています。 しかし、PHPのように、HTMLに埋め込んで利用できるような言語ではつい「うっかり」エスケープ処理を忘れてしまいXSSが..ということがあります。 CakePHPやsymfonyなどのフレームワークを使っていればフレームワーク側で適切に処理させる事が可能ですが、そういったフレームワークを使っていないときにできるだけ簡単にエスケープ処理する方法の1つを紹介したいと思います。 最終的なサンプル どうやって実現するかは後にして実際のサンプルでどのような動作になるかをみてみましょう。 <?php $str = '<script>alert("test")</script>'; $t

    PHPで簡単に配列の値をエスケープ処理する方法 - ぷぎがぽぎ
    somemo
    somemo 2012/08/26
  • フラットなPHPからSilexへ - ぷぎがぽぎ

    追記 DB接続時にcharset=utf8を指定 bindValueで暗黙の型変換されないように変更 Pimpleをサービスロケータとして使う場合の注意点を追加 テンプレートとしてフラットなPHPからTwigで書いた場合を追加 前提 スクリプト、ファイル、DBの文字コードはすべてUTF-8で統一です。 また、最初に以下のMySQLのテーブルがあることを前提として記事を書いています。 Database: MySQL user: myuser password: mypassword CREATE TABLE `blog_db`.`post` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `body` text NOT NULL, `date` date NOT NULL, PRI

    フラットなPHPからSilexへ - ぷぎがぽぎ
  • 1