2007年3月アーカイブ

アクションやview内でクラス名等を参照したくなった場合実行アクション名:$this->backend->ctl->getCurrentActionName(); 遷移先テンプレート名:$this->forward_path);
PEAR を使ってパッケージのインストールをしようとすると No handlers for package.xml version 2.0と怒られる場合があるこの場合はPEARのバージョンが古い可能性があるで # pear upgrade PEAR とかしたときにまた requires package `PEAR' >= 1.3.3 PEAR: Dependencies failed とか怒られてしまう 1.3.3以前のPEARではこのupgradeが利用できないためとりあえずPEARを1.3.3にアップグレードする必要がある #pear upgrade PEAR-1.3.3 PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in /usr/share/pear/PEAR/PackageFile/v2.php on line 1175 Allowed memory size of 8388608 bytes exhausted (tried to allocate 0 bytes) とかエラーが発生する場合は php.iniの memory_limit = 8M ; Maximum amount of memory a script may consume (8MB) を16Mとかに上げてためすとインストールできる時があるサイズのでかいもののとき結構メモリを使うのか?
表示行数だったりページ制限だったりと定数的な値を利用する場合 Ethnaのプロジェクトディレクトリ配下のiniファイル内で sample/etc/sample-ini.php 'page_max' => '40', とかって形で記述を行う(DB定義とかと一緒のレベルで) 利用するときは $Config = $this->backend->getConfig(); $max = $Config->get('page_max'); $this->af->setApp('max', $max); とすることによりプログラム内やsmarty上で利用可能
別サーバ等で作成したEthnaのファイル郡をごそっとFTPとかしたりするとユーザの権限の違いとかで index.php見てみたら真っ白なんてことが logを書き出す設定にしていればそのlogを参照する /tmpや/logがWWWのユーザで書き込める権限になっているかチェックする必要がある

ひらがなチェックとか掛けたかったんだけど
mb_regx使ってないかな?
ということで
アクションフォームにカスタム用チェック追加
function checkHiragana($name)
{
if (!mb_ereg("^[あ-ん]+$", $this->form_vars[$name])) {
$this->ae->add($name, "{form}にはひらがなを入力してください", E_FORM_INVALIDVALUE);
}
}
これを
'custom' => 'checkHiragana',
として使う

ちなみにメールチェックははじめから入っている
'custom' => 'checkMailaddress',
を使うとめんどくさくなくて便利

explain

トラックバック(0) コメント(0)
indexの状態等どうなっているかの検証に explainが利用できる http://dev.mysql.com/doc/refman/4.1/ja/explain.html ここによると table type possible_keys key key_len ref rows Extra et ALL PRIMARY NULL NULL NULL 74 do ALL PRIMARY NULL NULL NULL 2135 et_1 ALL PRIMARY NULL NULL NULL 74 tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872 range checked for each record (key map: 35) のような形でクエリーの結果が参照できそのクエリーでどのような結合が行われたか(type)どんだけ負荷がかかってるか (rows)が見れるようになるindex張ったり、参照するカラムのサイズを同一にしたりしてこのrowsを減らすと検索のスピードが上がる