ホーム > プログラミング
propelを単体で使う その1
2008年11月25日 wa | コメント(0)
環境はCentOS
まずは、PHPのバージョンを5.1.6から5.2.xにあげる。
こちらのページを参考に、yumでバージョンアップしてみる。
# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
リポジトリ追加
# vi /etc/yum.repos.d/utterramblings.repo
[utterramblings] name=Jason'sUtterRamblingsRepo baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# yum --enablerepo=utterramblings update php
これで、PHPのバージョンアップは完了。
続いて、必要そうなものを同じく外部リポジトリからインストール
# yum --enablerepo=utterramblings install php-xml
# yum --enablerepo=utterramblings install php-pear
# yum --enablerepo=utterramblings install php-mbstring
# yum --enablerepo=utterramblings install php-pdo
# yum --enablerepo=utterramblings install php-mysql
いよいよ、Propelのインストールへと
こちらのサイトを参考に
# pear config-set preferred_state beta
# pear channel-discover pear.phpdb.org
# pear install --force phing/phing
# pear install --force phpdb/propel_generator
# pear install --force phpdb/propel_runtime
# pear install --force --alldeps Log
# pear config-set preferred_state stable
以上でインストールが完了。
設定やらなんやらはまたこんど。。。。
CakePHP 1.2のバリデーションについてあれこれ
2008年11月18日 wa | コメント(0)
CakePHP 1.2のバリデーションがなかなか便利になっていたのでメモ。
たとえばこんな感じ
var $validate = array(
'userid' => array(
'notNull' => array(
'rule' => VALID_NOT_EMPTY,
'message' => "ユーザーIDを入力してください"
),
'length' => array(
'rule' => array('between', 4, 31),
'message' => "ユーザーIDは4文字以上31文字以下で入力してください"
),
);
こんな感じで複数のルールを指定できる。でも、上記の場合だと何も入力しなかった場合「ユーザーIDを入力してください」というメッセージを表示させたいが、実際は「ユーザーIDは4文字以上31文字以下で入力してください」というメッセージが表示されてしまう。
そんなときは、ルールに「'last' => true,」を追加する。
var $validate = array(
'userid' => array(
'notNull' => array(
'rule' => VALID_NOT_EMPTY,
'message' => "ユーザーIDを入力してください"
'last' => true,
),
'length' => array(
'rule' => array('between', 4, 31),
'message' => "ユーザーIDは4文字以上31文字以下で入力してください"
'last' => true,
),
);
これで、何も入力しなかった場合は「ユーザーIDを入力してください」というメッセージが表示されます。そんでもって、独自バリデーションルールも追加できる。
var $validate = array(
'userid' => array(
'notNull' => array(
'rule' => VALID_NOT_EMPTY,
'message' => "ユーザーIDを入力してください"
'last' => true,
),
'length' => array(
'rule' => array('between', 4, 31),
'message' => "ユーザーIDは4文字以上31文字以下で入力してください"
'last' => true,
),
'notDuplication' => array(
'rule' => array('isUseridExists', 'userid'),
'message' => "このユーザーIDは使用できません。"
'last' => true,
),
'char' => array(
'rule' => array('custom', '/^[A-Za-z0-9_]+$/i'),
'message' => "ユーザーIDに無効な文字列が含まれています。"
'last' => true,
),
);
function isUseridExists($data, $limit) {
$exist_count = $this->find('count', array('conditions' => $data, 'recursive' => -1));
return $exist_count < $limit;
}
ちなみに、重複チェックは新規登録するときだけでいんだけど・・・という時は、そんなときは、ルールに「'on' => 'create',」を追加する。
これで、新規登録の時だけその該当ルールを通ります。
var $validate = array(
'userid' => array(
'notNull' => array(
'rule' => VALID_NOT_EMPTY,
'message' => "ユーザーIDを入力してください"
'last' => true,
),
'length' => array(
'rule' => array('between', 4, 31),
'message' => "ユーザーIDは4文字以上31文字以下で入力してください"
'last' => true,
),
'notDuplication' => array(
'rule' => array('isUseridExists', 'userid'),
'message' => "このユーザーIDは使用できません。"
'last' => true,
'on' => 'create',
),
'char' => array(
'rule' => array('custom', '/^[A-Za-z0-9_]+$/i'),
'message' => "ユーザーIDに無効な文字列が含まれています。"
'last' => true,
),
);
function isUseridExists($data, $limit) {
$exist_count = $this->find('count', array('conditions' => $data, 'recursive' => -1));
return $exist_count < $limit;
}
そんな訳で、かなり便利になりました。と思います。
- Categories
- Pages
-
- images
- Archives
-
- 2009年11月
- 2009年10月
- 2009年9月
- 2009年8月
- 2009年7月
- 2009年6月
- 2009年5月
- 2009年4月
- 2009年3月
- 2009年2月
- 2009年1月
- 2008年12月
- 2008年11月
- 2008年10月
- 2008年9月
- 2008年8月
- 2008年7月
- 2008年6月
- 2008年5月
- 2008年4月
- 2008年3月
- 2008年2月
- 2008年1月
- 2007年12月
- 2007年11月
- 2007年10月
- 2007年9月
- 2007年8月
- 2007年7月
- 2007年6月
- 2007年5月
- 2007年4月
- 2007年3月
- 2007年2月
- 2007年1月
- 2006年12月
- 2006年11月
- 2006年10月
- 2006年9月
- 2006年8月
- 2006年7月
- 2006年6月
- 2006年5月
- 2006年4月
- 2006年2月
- 2006年1月
- 2005年12月
- 2005年11月
- 2005年10月
- 2005年9月
- 2005年8月
- 2005年7月
- 2005年6月
- 2005年5月
- 2005年4月
- 2005年3月
- 2005年2月
- 2005年1月
- 2004年12月
- 2004年11月
- All Entries
- Tags
-
- Feed
- Powered by
- Search
-