2008年01月06日

フレームワークのMapleでクラス名をPascal形式

フレームワークのMapleでは仕様上、アクションクラスの名前を複数の単語を組み合わせたPascal形式で命名できません。
(例:GetCustomerInfoとしてたくてもGetcustomerinfoとしないと駄目)
※Windowsならファイル名に大文字小文字の区別がないので、"GetCustomerInfo"としても大丈夫ですが。
※ちなみにPHPはクラス名の大文字小文字を区別しません。

これって、ちょっと後で見づらいのですよね。なので、ちょっと改造してみました。

ActionChain::makeNamesの177行目付近以降を以下のように
書き換えます。

if (!@file_exists($filename)) {
$filename = MODULE_DIR . "/${actionPath}/${className}.class.php";
if (!@file_exists($filename)) {
//modify start by 台北猫々
//$className = null;
//$filename = null;
$className = join("_", $pathList);
$actionPath = join("/", $pathList);
$basename = $pathList[count($pathList) - 1];
$filename = MODULE_DIR . "/${actionPath}/${basename}.class.php";

if (!@file_exists($filename)) {
$className = null;
$filename = null;
}
//modify end
}
}
return array($className, $filename);

これにより、
例えば、Taiwan_GetCustomerInfoというアクションクラスならば、以下のようなディレクトリ構成とファイル名でいけるようになります。
$WEBAPP_DIR/$MODULE_DIR/Taiwan/GetCustomerInfo/GetCustomerInfo.class.php

ちなみに元の仕様では、↓のようにします。
$WEBAPP_DIR/$MODULE_DIR/taiwan/getcustomerinfo/Getcustomerinfo.class.php


Pascal形式:
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconcapitalizationstyles.asp

良かったらクリックお願いします→banner_01.gif
posted by 台北猫々 at 09:42| Comment(0) | TrackBack(0) | 技術メモ(PHP)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/9172690

この記事へのトラックバック