やっぱり僕は…

今日はEXT JS4 の画面がとりあえず完成したから、
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限定になると思います。

コメント

このブログの人気の投稿

ヨドバシカメラの店舗購入履歴を見るには…

C# の WPF の DataGrid で 行を交互に背景色を変える+選択色を変える+カラムが無い所も変える…

Visual Studio の ホットリロードが動かない場合に確認するところ