sunday-labの日本語訳版です。英語版のXOOPS Cube関連記事を翻訳作業中...

2007年2月9日金曜日

Type Safety

ご存知のとおり、PHPには、型安全性のない動的な型の変数があります。 私はPHPのようなこの手のプログラミング言語のセンスを持っていません。そのため、私はXCubeで型安全性の概念を使っています。

HTMLは単にテキストです。 したがって、PHPに文字列型が備わっていることはたいへんパワフルなことです。しかし、あなたは整数型を想定した変数が文字列を取ることができることをどう思いますか? 他の言語には、エクセレントなキャスト機構があります。恐らく、それは十分な仕様です。PHPはその手のキャスティングを必要としませんが、(初心者にとって)それは便利というより、むしろ危険です。

XCubeには、プリミティブな型のためのいくつかのプロパティクラスがそなわっています。あなたはXCube_ActionFormでこれらのクラスを使用することができます。 そして、これらのクラスは、XCube_ServiceがWSDLをうまく扱えるように、XCube_Objectで使用されることになるでしょう。

以下のような構造体があるとします;

struct student {
  string first_name;
  string last_name;
  int hight;
  int weight;
}

あなたはそれを以下のように書くことができます。

class student {
  var $first_name =& new XCube_StringProperty("first_name");
  var $last_name =& new XCube_StringProperty("last_name");
  var $hight =& new XCube_IntProperty("hight");
  var $weight =& new XCube_IntProperty("weight");
}

それはユーザアクセスとXMLウェブサービスからの要求を抽出することに向いています。 特に、XMLウェブサービスでは、WSDLが、XCubeのプリミティブクラスとマッチさせることが可能な構造情報を提供してくれます。

私は自分の仕事からXCubeに戻ったとき、私はいつも動的型の変数に苦しめられます。もちろん、いくつかにおいては、PHPは他の言語より優れているのですが…

0 件のコメント: