[PHP-users 1858] XP, UML など
TAKAHASHI Masayoshi
php-users@php.gr.jp
Thu, 06 Sep 2001 13:04:55 +0900
高橋征義です。
Morikawa Encore-Ann <i@encore-ann.com> wrote:
> 最近PHPUNITなるものを知って結構はまっているのですが、
> PHPのオブジェクト指向絡みな話題って結構少ないような
> 気がします。#XPがオブジェクト指向絡みであるとして。
私も使ってみていますが、「TestCaseのサブクラスにTest〜という
クラスを作ると、テスト用メソッドと混乱するんでダメ」みたいな
ことが書かれたコメントがあったので、下のようなパッチをあてて、
テスト用メソッドの方を「test_〜」という名前になるようにして
使っています。
# ついでに、assertEqualsメソッドで、型での比較も行っています。
# 暗黙の型変換のためにテストが通ってしまってびっくりしたので(^^;
--- phpunit.php Thu Nov 30 05:30:03 2000
+++ phpunit.php.new Fri Aug 31 19:30:30 2001
@@ -63,7 +63,8 @@
}
function assertEquals($expected, $actual, $message=0) {
- if ($expected != $actual) {
+ if (($expected != $actual) ||
+ (gettype($expected) != gettype($actual))) {
$this->failNotEquals($expected, $actual, "expected", $message);
}
}
@@ -196,7 +197,7 @@
// PHP4 introspection, submitted by Dylan Kuhn
$names = get_class_methods($classname);
while (list($key, $method) = each($names)) {
- if (preg_match('/^test/', $method) && $method != "testcase") {
+ if (preg_match('/^test_/', $method)) {
$this->addTest(new $classname($method));
}
}
> やはりPerlと同じようにオブジェクト指向をとことん目指すには
> 難しい(もしくはメリットない)っちゅうことでしょうか。
Perl5に比べれば、クラスやメソッドの定義などはだいぶすっきりして
いるとは思います(というか、Perl5がいろんな意味ですごすぎる)が、
「PHPマニュアル」の膨大な(非OOの)関数リファレンスを見ると、
文化が違うのかなあと感じました。
# PHP日本語マニュアルはたいへん重宝しています。ありがとう
# ございます>PHP日本語マニュアル翻訳プロジェクトの方々
あと、オブジェクト指向の部分で疑問に思ったのは2点あります。
・メソッドの可視性の指定(publicとかprivateとか)はできないんでしょうか?
・メソッドチェーン($obj->foo()->bar() みたいな呼び出し方)はできない
んでしょうか?
では。
高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp