やっぱり僕は…
今日はEXT JS4 の画面がとりあえず完成したから、
PHPで実際に処理を書いた……結果…PHPがやっぱり嫌いだという事が判った…
Ver:PHP5.3.8
嫌いだと思ったのは、2点あります。
その1!!
includeしたファイルにある変数は、メソッド内でしか使えない。
当たり前ジャン。という人も要るだろうが、DB接続クラスなどは
本来1クラスで全体を制御すると思います。
その際、DB接続用のユーザーID/パスワード/ホスト名(SID)などは、外だししたいのが普通でしょ?
それを、DB接続クラスに読み込ませるのがめんどくさい…
こんな感じです。
*************************************************************************
*************************************************************************
include メソッドは、1メソッド内でしか参照できません。
そのため、コンストラクタ内で読み込み、クラスフィールドに保持します。
その後は、クラスフィールドで保持した値を使用します。($this-> 参照で…)
確かにカプセルかとか考えるとこの方が良いのかもしれないが、
「include は、フィールドに書かせてくれ。
そしてフィールド変数として自動的に宣言してくれ」
または
「include に名前がつけれて、そいつを通してアクセスできるようにしてくれ」
(例:include('XXX.php','hoge'); $hoge->hoge2 みたいな~)
と思った…
ま、どっちも適当に思いついただけだから、突っ込みどころ満載だろうな…(笑
Javaに戻りたい…
その2!!
フィールドにstatic フィールドを作成すると、アクセス方法が難しい。
*************************************************************************
*************************************************************************
こんな感じで、「self::$INSERT_SQL」としなきゃいけない。
$this と self って何が違うねんっ!!!
なぜに直接呼び出しと間接呼び出し?を分ける必要あるんだっ!
てな感じですね。
参照方法を統一させて欲しいと思う。今日この頃です。
ま、PHPやってる人からしたら当たり前なんだろうけどね…
僕は嫌いです。
はぁ…
Javaに戻りたい…
あ、そういえば、Ext Js4.0.7 の「Ext.selection.CheckboxModel」(GridPanelに使うやつね)を
カスタマイズしたんだけど、需要あるのかな?
変更点1:ヘッダに文字列を指定出来るように修正
変更点2:ヘッダに文字列を指定した場合は、チェックボックスが出ないように修正
変更点3:チェックボックスが、横幅の中央に来るように修正
変更点4:「ext-all-access.css」などを指定した場合、背景色が継承されて無い問題を修正
欲しい人が要ればあげます。
Ver4.0.7限定になると思います。
PHPで実際に処理を書いた……結果…PHPがやっぱり嫌いだという事が判った…
Ver:PHP5.3.8
嫌いだと思ったのは、2点あります。
その1!!
includeしたファイルにある変数は、メソッド内でしか使えない。
当たり前ジャン。という人も要るだろうが、DB接続クラスなどは
本来1クラスで全体を制御すると思います。
その際、DB接続用のユーザーID/パスワード/ホスト名(SID)などは、外だししたいのが普通でしょ?
それを、DB接続クラスに読み込ませるのがめんどくさい…
こんな感じです。
*************************************************************************
class Hoge {
/** DB接続用コネクション */
/** DB接続用ユーザーID*/
private $userId;
/** DB接続用パスワード*/
private $password;
/** DB接続用SID*/
private $sid;
public function __construct($connection = null){
include('.const.php');
$this->con = $connection;
$this->userId = $ORA_UID;
$this->password = $ORA_PWD;
$this->sid = $ORA_CONSTR;
}
}
*************************************************************************
include メソッドは、1メソッド内でしか参照できません。
そのため、コンストラクタ内で読み込み、クラスフィールドに保持します。
その後は、クラスフィールドで保持した値を使用します。($this-> 参照で…)
確かにカプセルかとか考えるとこの方が良いのかもしれないが、
「include は、フィールドに書かせてくれ。
そしてフィールド変数として自動的に宣言してくれ」
または
「include に名前がつけれて、そいつを通してアクセスできるようにしてくれ」
(例:include('XXX.php','hoge'); $hoge->hoge2 みたいな~)
と思った…
ま、どっちも適当に思いついただけだから、突っ込みどころ満載だろうな…(笑
Javaに戻りたい…
その2!!
フィールドにstatic フィールドを作成すると、アクセス方法が難しい。
*************************************************************************
class InsertLog {
// メッセージ取得するSQL文を作成する。
private static $INSERT_SQL = "INSERT INTO hoge \n ("Level", "Message")\n VALUES (%d, '%s')";
public function insert($level, $message){
// SQLを完成させる
$sql = sprintf(self::$INSERT_SQL, $level, $message);
}
}
*************************************************************************
こんな感じで、「self::$INSERT_SQL」としなきゃいけない。
$this と self って何が違うねんっ!!!
なぜに直接呼び出しと間接呼び出し?を分ける必要あるんだっ!
てな感じですね。
参照方法を統一させて欲しいと思う。今日この頃です。
ま、PHPやってる人からしたら当たり前なんだろうけどね…
僕は嫌いです。
はぁ…
Javaに戻りたい…
あ、そういえば、Ext Js4.0.7 の「Ext.selection.CheckboxModel」(GridPanelに使うやつね)を
カスタマイズしたんだけど、需要あるのかな?
変更点1:ヘッダに文字列を指定出来るように修正
変更点2:ヘッダに文字列を指定した場合は、チェックボックスが出ないように修正
変更点3:チェックボックスが、横幅の中央に来るように修正
変更点4:「ext-all-access.css」などを指定した場合、背景色が継承されて無い問題を修正
欲しい人が要ればあげます。
Ver4.0.7限定になると思います。
コメント
コメントを投稿