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

2014年11月18日火曜日

デザインパターン Observerパターンをやってみた

GoFのデザインパターンの一つ、振る舞いに関するパターンであるObserverパターンをやってみました。
Observerパターンは、オブジェクト指向のポリモフィズムを利用したパターンになります。
実装はPHPです。

2014年11月15日土曜日

デザインパターン バリューオブジェクト(Value Object)パターンを学ぶ

デザインパターンの一つ、バリューオブジェクト(Value Object)パターンについて調べてみました。
バリューオブジェクトパターンを使うことで、一つのオブジェクトを使いまわす事による想定外のバグを防げます。


2014年11月13日木曜日

PHPUnitで例外のテストをする

PHPUnitで例外のテストをします。
PHPUnitのfailを使えば簡単です。最近までこれを知らなかったので、例外のテストをするとき我流にやってました〜
ドキュメントは、ちゃんと読まないといけないですね。


2014年11月9日日曜日

PHPUnit array_mapを使うことで、DBの初期化が短くかける

PHPUnitでDaoのテストを書いたりするときDBの初期化をしたりしてます。
配列にDBに挿入するパラメータを突っ込んでfor分で回して挿入してましたが、どうもごちゃごちゃしてメンテナンスしにくいと思っていたのですが、array_mapを使うことでわかりやすくテストを書くことができました。

2014年9月6日土曜日

TDD ランダム性があるルーレットのテスト

継続的インテグレーションするならテストは必須ですよね。
ただテストしにくい仕様もたまにあります。
ランダム性があるテストは、書きにくいものです。
今回は、ランダム性あるルーレットクラスを作ってランダム性をカバレッジしたテストをPHPで書きます。

2014年9月5日金曜日

メールアドレスをもとにABテストを行う

メールアドレスを使ってABテストを行います。
正しくは、このメールアドレスはAかBか判定するまでやります。

ABテストを行う際に重要なのが、平等(ランダム)性です。
メールアドレスを変数に偏りなく振り分けるクラスを作った。

2014年7月26日土曜日

PHP クラス名を配列にいれてforeachでnewする

PHPで同じinterfaceを持つクラスを配列に入れてforeachで回してnewできないかと思ってやってみたらできたのでメモ。




2014年2月21日金曜日

PHPでPDO接続できなかった時の解決方法

PHPで、PDOを使ってデータベースに接続しようとしたが意外にハマってしまったのでメモ。

PHP5.4をソースからビルドしたのでpdo_mysqlがインストールされてなかったのが原因でした。



2014年2月14日金曜日

OPcacheがどれくらい速くなるのかやってみた

前々からOPcacheの名前をちらほら聞くようになったので導入してみました。
PHP界のトレンドなのでこれからは必須知識となりそうですね。

計測もやってみたのですが、導入は簡単で効果は大きいといったところでしょうか。
それでは、OPcacheやっていきます!!


2014年2月7日金曜日

エルビス演算子ってなんぞや!?

GitHubで、他人のコードを眺めていた所、?:(ハテナコロン)の演算子を見つけた。
パっと見、三項演算子に似ている。 こんなの→ $a ?: $b

エルビス演算子というらしいです。ちょっとやってみたいと思います。
PHPでやりますが、Groovy言語でもサポートされているそうです。

エルビス演算子は、PHP 5.3から対応しています。

2014年1月8日水曜日

PHP 半角と全角を区切り文字にして配列にする

Formから入力された値を半角又は全角で区切って配列にし、その配列をforeachで回してデータベースに検索をかけるというようなありふれたプログラムの配列作成を書きます。

大したことないよく書くアルゴリズムですが、毎回コーディングするたびに調べてしまうので自分のためにメモ。


2013年12月16日月曜日

PHP 正規表現で^と$は使用しないほうがいいらしい

PHPの正規表現で^と$を使用すると意図しない動作をするようです
文字列の末尾にLF(UNIX系OS改行コード)が入るとそれを文字列の末尾と解釈し、マッチしてしまいます。
CR(Mac系OS改行コード)とCR+LF(Windows系OS改行コード)は文字として解釈するためマッチしません。
以下、検証と対策

2013年12月11日水曜日

PHPUnit データプロバイダ使い方まとめ

PHPのテスティングフレームワークPHPUnit データプロバイダを使用したテストの書き方をまとめてみました。

データプロバイダを使うことでテストのリファクタリングがおこなえます




2013年12月3日火曜日

PHP Composerをやってみる

Composer(コンポーザ)は、ライブラリの依存性を管理してくれるものです
Composerは作曲者とか構成者って意味らしいですね
本家サイト:http://getcomposer.org/