トップページ⇒php
983コメント417KB

Pear

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
ってどうよ。
0754nobodyさん04/11/25 12:57:47ID:???
あ,日本語マニュアルが復活してる.
いつから復活かわからないけど,尽力された方,ありがとうございました.
0755nobodyさん04/11/26 11:35:54ID:ZcWiZpx2
天気がいいのでちょっとドラクエ買ってきます
0756nobodyさん04/11/26 12:01:42ID:???
>>755
ageんなボケ
0757nobodyさん04/11/26 13:17:43ID:???
ラスボスはシドー
0758nobodyさん04/11/26 18:06:48ID:???
HTML_QuickForm_Controllerを使って、入力→確認→保存
って感じの一般的なフォームを作っています。
フォームを記述したスクリプトは、index.phpから、?action=form
というパラメータを使って呼びだしたいのですが、各ページを作成する
HTML_QuickForm_Page(HTML_QuickFormから派生)のコンストラクタが、

function HTML_QuickForm_Page($formName, $method = 'post', $action, $target = '_self' ...)
{$this->HTML_QuickForm($formName, $method, '', $target, ...);}
($action抜かしてる)

となっていて、>752さんの方法で、action属性のURLが指定できません。
ググってみたところ、上記のコンストラクタを書き換え、$actionを足してやればできるとの報告があり、
実際私の環境でもうまく動いたのですが、正直PEARの中身を書き換えるというのはかなり抵抗がありますし、
$actionをわざわざ除けて書いてるあたりに何らかの意志を感じてしまうのですが、
なにか、他の良い方法はないでしょうか。
075975804/11/26 18:12:23ID:???
間違えた
function HTML_QuickForm_Page($formName, $method = 'post', $target = '_self' ...)
{$this->HTML_QuickForm($formName, $method, '', $target, ...);}
($action抜かしてる)

でした。
0760nobodyさん04/11/26 22:28:57ID:???
DB_DataObjectの話なんだけど、
1つのテーブルに主キー(シーケンスID)とユニークキーがあった場合、
主キーが自動的に振られなくてエラーが出るんだけど、
なんか良い方法ないですか?

user_id ... 主キー
login_name ... ユニークキー
real_name

これでlogin_nameとreal_nameに値を入力してinsert()しても
user_idが空になります。

主キーをlogin_nameにしてuser_idを削除すればいいってのはナシで。
0761nobodyさん04/11/27 01:48:58ID:???
>>760
on demand で使わずに
きちんと DB/DataObject/createTables.php で ini ファイル作って主キーを正しく設定するか,
あるいは DB/DataObject/Generator.php を inherit して
正しく主キーを認識する Generator を作る

って感じかなぁ……
0762nobodyさん04/12/16 18:15:03ID:???
XML_RPC を使おうと思っています。
ttp://pear.php.net/package/XML_RPC
枯れていますか?
0763nobodyさん04/12/17 00:12:54ID:???
夏にやったイベントで、XML-RPCを使った対戦ゲームを各言語で作って、
結果的にPEAR::XML_RPCの問題点があぶりだされました。

ttp://ll.jus.or.jp/llw2004/program.html
のn-Queensゲーム

このサーバ部分がPEAR::XML_RPCを使って書かれてます。

問題になったのは、受け渡されるXMLの各タグの間に改行も空白もないと
PEAR::XML_RPCは解析に失敗することです。

<methodCall><methodName>method</methodName><params></params></methodCall>

のように改行なしで続けて書くとダメ。
pear-devにえらく場当たりなパッチが流れたのも見ましたが、
たぶんまだ直ってないと思います。
0764nobodyさん04/12/17 10:36:24ID:???
>>763
貴重な情報ありがとうございます。
とりあえず改行ありなら他は大丈夫だったのでしょうか。
ttp://xmlrpc.usefulinc.com/php.html
なんてのもありますね。
0765nobodyさん04/12/17 13:43:28ID:???
>>763
それは、中で使ってるSAXに依存する部分でもあるしなぁ。
SAXで一度パースしたもんを再度自分でパースするのも馬鹿らしい
つかSAXを利用してる他の言語がどうやって回避してるのか知りたいぐらい。
それか別のパーザ使ってるのかね。
0766nobodyさん04/12/19 07:02:33ID:QLY6UAMz
>>746
入力、確認が1アクション、登録、完了画面だとしてActionだけ書くと
InputAction.class.php
RegistAction.class.php
ResultAction.class.php
って感じですか?

あとQFの$formは
$request->setAttribute("form", $form);
でいいの?
0767nobodyさん04/12/20 09:49:37ID:???
XML-RPC を使うより SOAP を使った方が安全?
0768nobodyさん04/12/21 17:37:38ID:G7a/Aasc
いま、pearコマンド使えない?
upgrade/installしようとすると、

no signature found for package.info(string,string,bool)

とでる。
0769nobodyさん04/12/26 06:05:29ID:???
配布用PHPにてPEARを利用しようとしています。
その際配布PHPにPEARのパッケージも一緒につけて配布する予定です。
こういった場合、各ファイルのパスをすべて
いちいち手動で設定しないとだめですか?
それともほかにうまいやり方があるんでしょうか?
0770nobodyさん04/12/26 10:18:20ID:???
>>769
ini_set() で include_path を設定する,かな?
0771nobodyさん04/12/27 00:49:04ID:???
一般的なTipsだべ。
今まで読み込んできたコードがあれば幾つかの例が引けるし学習積んできたのなら引き出しがあるはず。
みんなどうしてる?なら分かるが何も出せないのは不味い。人のこと言えないが、仕事で使ってるのならもう少し…

俺なら PEAR へのパスを設定に入れる。例えば
define('PEAR_DIR', BASE_DIR .'lib/pear');
として、配布パッケージの lib/pear 以下に必要なパッケージを全部詰めておく。
パッケージのコールには require_once(PEAR_DIR .'HTML/QuickForm.php'); とする。
そのままでさくっと動くし、利用者が自分で用意したパッケージを使いたいならPEAR_DIR書き換えれば済む。

PEAR との依存関係見れるインストーラ付けるってのもスマートでいいかもしれない。

include_path はまるごと PHP のえるふたん記事読んで以来頼らないようにしてる。
077277104/12/27 01:18:15ID:???
ごめん、酔った勢いで要らぬ事書いた。一段落目は無視してくれ。詫びておく。
0773nobodyさん04/12/29 03:09:10ID:???
>> include_path はまるごと PHP のえるふたん記事読んで以来頼らないようにしてる。

それって、123ページの?要は、同じファイル名があると正確には保証できないからって。

>>俺なら PEAR へのパスを設定に入れる。例えば

の方法って、lib/pear以下に詰めたPEARパッケージのファイルのinclude/requireしてる部分を
すべて書き換えるってこと?かなり面倒じゃないか?自分はQuickForm_Controllerでそれ諦めた。


まぁ、ケースバイケースというのが答えなんだけど。
077476904/12/29 03:14:43ID:???
include_pathか手動か
どちらかしか無いようですね・・。
がんばります。
ちなみに学生なので、趣味のプログラミングです。
0775nobodyさん04/12/29 11:02:16ID:???
>>773
まだその記事読んでないから外してるかもだけど,要は include_path が自分の支配下のディレクトリ以外を指さなければ良いわけでしょ?

通常の /usr/local/lib/php とか . (カレント)とかが適切でない順序で入ってたら問題が発生する危険性があるけど,DocumentRoot ごとに個別に PEAR ライブラリ全てのコピーを持つようにすれば,無駄は増えるけど安全だと思う.

システムの PEAR パッケージ更新したら bc break してて昔のサイトが動かん,とかも防げるし一石二鳥w
0776nobodyさん04/12/29 15:00:47ID:???
>>773
PEAR 以下のファイルを書き換えるのは余程を除いて避けたい所。
アプリケーションの中だけで ini_set して include_path をコントロールするという方法もある。

その上で PEAR のライブラリですよ〜と prefix を付けて明示的に require するって事では。
例えば PEAR::Config (pear/Config.php) のように他と名前が被りやすいケースもあるので prefix 付けるのはまぁ悪くないと思う。

define('LIB_DIR', '/path2mylibsdir');
define('PEAR_DIR', '/path2peardir');
とあったら ini_set('include_path', PEAR_DIR . $separator. LIB_DIR);

で、ライブラリ持ってくる時は
require_once(PEAR_DIR .'Config.php');
require_once(LIB_DIR .'Config.php'); // 自分で作成するクラス/ファイル名はユニークな名称を付けた方がいいと思うので悪例だが
みたいな感じか?
0777nobodyさん04/12/30 19:27:12ID:???
Mojavi+QF使ってる方に質問です。
お互いValidationで機能がかぶると思うんですが、
どんな感じでやってますか?

QFはフォームのバリデーションは便利だけど、
独自に渡されてきたパラメータとかはできませんよね。

バリデーションを統一したかったので
結局QFを諦めて、mojaviのバリデーションを
扱うクラスを作成したわけですが、みなさんどうしてますか?
0778nobodyさん04/12/31 03:19:08ID:???
>>777
困ることってある?
フォームオブジェクトはQFに処理させ、それ以外はMojaviのバリデータ使ってる。
まるごとに出てくるMappingRequestFilterも選択肢に入れてるけど未だに必要に思ったこと無い。いや、形としてはアレが美しいんだけど。
まぁそんなこんなで俺は困ってない。
0779nobodyさん04/12/31 17:11:26ID:???
>>778
なんとなくバリデータが2つあるのってシンプルじゃないなって気がしてね。
これはもう個人的に好きか好きじゃないかって話になっちゃうと思うけどね。

MappingRequestFilter使うとなると、フォームをオブジェクトとして扱うだけ
になっちゃうってことだよね?

まるごとの記事です。Mojaviを勉強中の方はどうぞ
http://iteman.typepad.jp/blog/files/hustling-mojavi.html#doc1_707
0780nobodyさん04/12/31 17:47:53ID:???
>>779
なるほど。

個人的には Mojavi のバリデータが面倒なのと、フォームオブジェクトとルールは一カ所に記述したい事もあって registerValidate は補完的に使う事にしてる。
あとフォームオブジェクトとルールのセットを別アクションで使う事もあるので次第にそうなっちゃった。
その下に validate() 付けて return $qf->validate() とやっておけばコード見て 「QF にもルール記述があるな」 って分かるし。

Mojavi3 はバリデータの仕組みが変わってるらしく、聞いた話では ini ファイルか何かで外部定義出来るらしいから YAML/XML/INI 使ってデータソースを QF と統合できるかもとか妄想してみる。
078178004/12/31 17:48:32ID:???
酒入りまくりで前後不覚。文章が狂ってたらごめん。
0782nobodyさん05/01/05 11:50:10ID:???
>768
まただめですねぇ。
ttp://pear.php.net/bugs/bug.php?id=3005
これって、しばらくまってればOKってことなんでしょうか?
0783nobodyさん05/01/05 15:18:19ID:???
pear でSQLite インストールしようとするとどっかのヘッダファイル
でエラーが出るって既出ですか?

unsignedがunsagnedになってるってやつ
0784nobodyさん05/01/08 11:54:38ID:???
QuickFormでsetConstantsやsetDefaultsでsubmit値が上書きできなくなってますねぇ。
いつからだろう・・・。
078578405/01/08 12:11:10ID:???
自己レスです。
element.phpの441行目を以下のようにして回避しました。
if (null === $value || $value == "" ) {

QuickFormのバージョンは3.2.4.pl1です。
0786nobodyさん05/01/16 04:05:42ID:???
QuickFormのFreezeってどういったときに使うんでしょうか。
0787nobodyさん05/01/16 05:21:28ID:???
>>786
確認画面用とか。

で、俺もちょっと気になっている点が。

入力画面→確認画面→処理
   ↑___|

という画面遷移の場合、どの時点においてもvalidate()はTRUEを
返す場合があるので、どの画面にするかはsubmitボタン(もしくはそれに準ずるボタン)の
valueでvalidate()後振り分けるって形でいいのでしょうか? 例えば、

if ($form->validate()) {
  switch($submit){
    case '確認':$form->freeze();確認ボタンを消して処理と戻るボタンを表示する処理;break;
    case '処理':入力内容を処理;header('Location: ...');break;
}
$form->display();

見たいな感じ?
なんとなく、画面遷移の処理が煩雑、特にボタンを入れ替えるあたりが気になるのだけど、
こんなもんだろうか? まぁ、どのボタンを表示するかは適当な変数を割り当てて、
テンプレート(Smarty)側で判断させてますが...
0788nobodyさん05/01/16 13:28:04ID:EVWCqEDE
>>787 さん丁寧にありがとうございます。

validate後に Freezeで処理がとまってしまい、その後どうするんだ?と
悩んでました。
078978705/01/16 14:39:53ID:???
>>788
あぁ、いゃ、あなたへの返事は1行目だけだったんだがw
以下の処理は、こんなもんでいいのかという俺の疑問。
まぁ、間違いでは無いだろうから参考になったろうけど。

っと、間違いが一点あった。header()の後はexit;だな。
0790nobodyさん05/01/16 15:11:10ID:???
mojaviとTemplate_Flexyを使っている方いますか?
smartyならモジュールが用意されているのみたいなのですが
Flexyはないようです。

smartyに乗り換えたほうがいいでしょうか
0791nobodyさん05/01/16 16:53:15ID:???
>>790
自分でFlexy用のレンダラー書けばいいと思うよ。
SmartyRenderer.class.phpを見ながらやれば割とすぐ書けるんじゃないかと思われ。
それが嫌なら乗り換えれ。
079278405/01/17 17:41:39ID:???
追加
QuickForm.phpの451行目に追加
$this->_submittedValues = array_merge($this->_submittedValues, $constantValues);
079378405/01/17 17:43:05ID:???
上の訂正
_submittedValues -> _submitValues
0794nobodyさん05/01/25 06:51:55ID:???
普通のmail 関数と
pearの mail 関数どう違うんでしょうか。

普通のmail 関数で十分な気がする。
0795nobodyさん05/01/25 07:08:08ID:???
>>794
驚かないで聞いてくれ。
pearは実はPHPで書かれている。
0796nobodyさん05/01/25 12:58:07ID:???
な、なんだってー!!!(AAry
0797nobodyさん05/01/25 17:32:46ID:???
pear mailいみねーじゃん!
0798nobodyさん05/01/26 01:08:25ID:???
PEAR の Mail は,バックエンドを「フツーの mail() 」とか「自分で SMTP 喋る」とか
いろいろ選択できる(自作もできると思う)から,
まぁ無意味ってわけじゃないが,普通には使わないな……
0799nobodyさん05/01/26 02:37:05ID:???
UNIX系の場合、mail()はsendmailコマンドに丸投げで、
WindowsはSMTPを一応喋っている形になっている。

で、UNIX系でも直接ISPやレンタルのSMTP鯖へ投げたい場合は
Pear Mailを使うのが楽かもね。
ローカルのMTA設定を弄れば同じことも出来るけど、
出来ないorやりたくない人も居るだろうし。
0800nobodyさん05/01/26 03:24:59ID:???
俺はPHPMailerクラス使ってる。
別にPEARのmailクラスに不満がある訳でもないが。
0801さちこ05/01/26 15:00:33ID:???
HTML_QuickFormでのselectedの利用方法が
わかりません。
ご教授お願いいたします。
<私のソース>
・
・
・
$status_list = array(1=>"option1",
2>"option2",
3=>"option3");

$attrs = "";

$form->addElement('select', 'status', 'Select status:', $status_list, $attrs);
・
・
・
0802nobodyさん05/01/26 16:42:49ID:???
setValue
0803nobodyさん05/01/26 16:50:47ID:???
>>801
>>408-
080480205/01/26 17:00:23ID:???
うぇ、素で間違えたorz
つか、英語わからんでもマニュアル眺めてりゃなんとなくわかるよ。
http://pear.php.net/manual/en/package.html.html-quickform.php
0805nobodyさん05/01/26 17:23:35ID:???
>>802
合ってるような気もするが。

$status =& $form->addElement('select', 'status', 'Select status:', $status_list, $attrs);
$status->setSelected(2);
0806さちこ05/01/26 17:30:31ID:???
>804、805
ありがとうございます。おかげで理解することができました!!!
0807nobodyさん05/01/26 17:32:40ID:???
分かりません、出来ませんの波がとうとう PEAR にまで。
普及した証左だと喜ぶべきか、これでまたいずれPEAR系情報源も初心者とノイズで埋まるのかと鬱るべきか。

http://pear.php.net/manual/en/package.html.html-quickform.tutorial.php
> Example 32-1. Basic QuickForm usage
0808nobodyさん05/01/27 19:12:47ID:???
一般向け情報源が初心者とノイズで埋まるくらいでないとマトモな普及なんてありえない


ということにして自分を納得させようぜ orz
0809nobodyさん05/01/27 19:49:29ID:???
オイラも一ヶ月ほど前にHTML_QuickFormを使い始めたんだけど、
手取り足取りなチュートリアルは、
ttp://www.planewave.org/translations/quickform/html_quickform.html
ttp://www.is.titech.ac.jp/~yanagis0/kei/quickform.html
ttp://hatotech.org/kumatch/datas/quickform.pdf
くらいしか見つからなかった。
英語の良さげなチュートリアルみたいなのもあったけどURL忘れた。
ttp://www.sitepoint.com/subcat/php-tutorials の中のどれかだったと思う。
あとは pear添付のdocsくらいか。
0810nobodyさん05/02/02 17:48:32ID:???
■(M)DB_QueryToolで、どんなSQLを出力しているか調べる方法はありますでしょうか。
Firebirdを利用していて日付型のINSERTがしたいのですが
SQLでは
INSERT INTO table (ID, "DATE") VALUES (1, '2005/02/02');
(項目名DATEは予約語なので"でくくる必要があります)
でいけるのですがphpで
$d = array("ID"=>"1", '"DATE"'=>"'2005/02/02'");
$QueryTool->add($d);
としても登録されない状態で困っています。print_r($d)で
$d["DATE"]に'2005/02/02'が入っているのは確認したのですが…
■また、(M)DB_QueryToolのエラーはどのように取得すればいいのでしょうか。
どなたかアドバイスいただけないでしょうか。
よろしくお願いいたします。
0811nobodyさん05/02/02 19:01:24ID:???
>>810
ソース見た感じだと、
$QueryTools->setOption('logFile','sql_log.txt'); てな感じにセットしておけば、
sql_log.txtファイルに実行したSQLが保持されるみたい。要Logパッケージ。
エラーした場合も(failed)付きで書き出される模様。
$QueryTools->setOption('verbose',true); しておけば更に詳細に出るっぽい。
081281005/02/03 10:35:38ID:???
>>811
ありがとうございました。試したところばっちりでした。
ただ、Firebird固有なのかもしれませんが、
$d = array("ID"=>"1", "DATE"=>"2005/02/02"); は
INSET INTO table (ID, DATE) VALUES ('1', '2005/02/02'); となり
項目名DATEが予約語のため不可。
$d = array("ID"=>"1", '"DATE"'=>"2005/02/02"); は
INSET INTO table (ID) VALUES ('1'); となり
DATEが無視されてしまう("でくくっても'でくくっても\"でくくっても)ようで
困っています。情報ないでしょうか。
■エラーの取得方法をどなたかご存知ないでしょうか。
よろしくお願いいたします。
0813nobodyさん05/02/04 12:54:10ID:???
>>811
おお、ほんまや。
logfileなんていうオプションがあるの知らんかった。

これは便利ですなぁ。
0814nobodyさん05/02/04 13:50:14ID:???
>>811,813
ん?昨年秋に使った頃にはオプションだけあって未実装だったけど。実装されたのかな。
0.10.1 -> 0.11.1 の ChangeLog 見てみたけどロギングについては書いてないので尋ねてみるテスト。

>>812
Java じゃないんだし。返値取って var_dump すれ。
もしくは PHP4 ならまるごと PHP のエラー制御見れ。
081581005/02/04 15:24:22ID:???
>>814
実装されてるみたい。ただ呼び出すファイルと同じ場所に書き出されるので
パーミッション的に嫌な感じ。デバッグ用と割り切ればいいんでしょうけど。
あと、まるごとPHPみて勉強します。ありがとうございました。
0816nobodyさん05/02/04 16:04:05ID:???
>>815
うぁ 乱暴に投げたのに丁寧に返されてしまった… ありがとうございます。

API ドキュメント見るとメソッドの戻り値が載っているのでそれを参考にエラーハンドリング、
PEAR によるエラーハンドリングの詳細はまるごとに載ってるって感じで。
デバッグで var_dump 取る場合は Xdebug か PEAR::Var_dump 突っ込んでおくと幸せかも。
0817nobodyさん05/02/04 16:43:39ID:???
DB_QueryToolのドキュメントサイトが死んでるね。
0818nobodyさん05/02/04 16:56:06ID:???
だね。まぁ大したことは載ってなかった… かな?
同梱のサンプルコードしか記憶に残ってない。
0819nobodyさん05/02/07 21:00:38ID:???
peardocの日本語chm版ってどうやって作るの?PHPDoc使うの?
php_manual_jaなら解説サイトがあるんだがpeardocの方の資料少なすぎ・・・
0820nobodyさん05/02/10 23:09:00ID:???
PDO 0.2が出てるけど、使った人いたら感想を聞かせてください。
当方MacOS Xなのですがコンパイルは通るものの
pdo_hoge.soを読み込むと
dyld: php5 Undefined symbols:
_php_pdo_register_driver
とエラーが出てPHPが起動しませぬ。(pdo.soはちゃんとロードできてる)
0821nobodyさん05/03/18 19:42:14ID:OjH/9tRg
HTML_QuickFormでフォームを生成し、エラーがでたら
テキストエリアの背景色を赤系の色に替えて表示したいんですがなんかいい方法ないですかねぇ??
0822nobodyさん05/03/18 22:19:05ID:iQcV2TeE
エラーが出たら、そのtextareaのエレメントオブジェクトをもってきて
属性を適当に書き換えればいいんじゃないの。

いい方法っていうかそのまんまだが、、なにかできない理由でもあるのか?
0823nobodyさん05/03/19 07:06:32ID:kwTpFIt8
PEAR::DBつかってMySQLにつなげているんですが
fetchrow() し続けた後に、カーソルを先頭に戻すにはどうすればいいんですか?

PHPは4.2.x系です
0824nobodyさん05/03/19 09:07:41ID:???
>>823
fetchRow($res,0);
じゃぁダメなんかな?
0825nobodyさん05/03/19 18:16:00ID:???
>>821
Renderer に何を使ってるかによる
エラーの時は HTML の class 指定を変更するように書けばいいんじゃないかな
0826nobodyさん2005/03/24(木) 06:05:31ID:???
smartyなら、<sapn class="error">error message</span>みたいな
プラグインつくるとか。
{$form.name.error|class_error}みたいな感じで。
0827nobodyさん2005/03/24(木) 10:45:44ID:???
Smarty使ってます
0828nobodyさん2005/03/24(木) 19:22:19ID:E7t61Xr3
SpreadSheet_Excel_Writerではき出したものに、
グラフや計算式をいれたいのですが、
SpreadSheet_Excel_Writerから、
VBA書くことって出来ないですかね?
0829nobodyさん2005/03/31(木) 14:49:05ID:z8YDul0W
HTML_QuickForm使ってるんだけど、radioボタンで困っています。
<input name="hoge" type="radio" value="uki">
<input name="hoge" type="radio" value="foo">
<input name="hoge" type="radio" value="bar">

っていうのを作って、Smartyにレンダリングさせてるんだけど、
valueに日本語を入れたいと思うと、Smarty側で
{$form.hoge.日本語.html}
って値が割り振られてしまって、Smarty Errorになるんです。
createElement('radio'
する時点でvalueの指定するところと、nameの指定しているところが同じになってるのが
原因なんですが、これ回避できないんですかね?

なんで、いまは最終的に必要な時は変換を掛けております。
0830nobodyさん皇紀2665/04/01(金) 03:49:50ID:???
同じじゃない、、
createElement( 'radio', $name, null, $label, $value, $attr );
0831829皇紀2665/04/01(金) 10:35:03ID:JGI8hVrJ
>>830
あー、すみません。Smartyにレンダリングされる時のが同じと言う意味です。

$var[] =& createElement( "radio" , "name_dummy" , NULL , "label" , "value_dummy" , array('class'=>"dummy_class") ;
$form->addGroup($var , "$var" ) ;

とすると、このエレメントをSmartyでは
{$form.var.name_dummy.value_dummy.name} を var[name_dummy]
{$form.var.name_dummy.value_dummy.value} を value_dummy
と割り振ってしまいます。
デバッキングコンソールでは
name_dummy => Array (1)
バリュー => Array (8)
name => var[name_dummy]
value => バリュー
type => radio
frozen =>
required =>
error => empty
label => empty
html => <input class="" name="var[name_dummy]...
となっています。

この状態でvalue_dummyに日本語を入れると、{$form.var.name_dummy.value_dummy.value}の変数が上手く展開できないようでSmarty Errorになってしまいます。

0832nobodyさん皇紀2665/04/01(金) 11:50:46ID:???
Smarty の Renderer を継承した別のクラスを作って対応するのが
もっとも手っ取り早い workaround ではないかしら.

別のレイヤの回答をすると,value に日本語を入れるのはお勧めしない.
UA がどんなエンコーディングで入れてくるか判ったものではないから.
08338292005/04/02(土) 12:11:32ID:???
>>832
HTML_QuickForm_Renderer_ArraySmarty::_elementToArrayは
radioの時だけ、特別な処理してますねー。

これ、pearにリクエストした方がいいような気もします。

0834nobodyさん2005/04/02(土) 14:40:21ID:???
stripのバグって直す気ないのかしらん?
0835nobodyさん2005/04/04(月) 11:33:03ID:???
今月末発売のWEB+DB pressはPEAR::DB特集だそうだ。
0836nobodyさん2005/04/04(月) 11:41:07ID:???
>>834
報告されてるやつ?
0837nobodyさん2005/04/04(月) 17:32:46ID:???
MDB2とかPDOな昨今で敢えてPEAR::DBか
期待すべきなのか今更なのか……誰か突撃してくれw
0838nobodyさん2005/04/06(水) 23:10:01ID:???
>>836
そう。
セキュリティホール埋めてくれるのはありがたいけど、このバグを
直してもらわんとアップデートできんちゅうねん!!
0839nobodyさん2005/04/17(日) 17:14:33ID:???
http://pear.sakura.vg/
SPAM食らってるぞ。大丈夫か?つーかFrontPageは凍結しとけ
0840nobodyさん2005/04/20(水) 20:33:55ID:???
PEAR::DBってSQLiteは使えないって本当?
0841nobodyさん2005/04/20(水) 20:39:30ID:???
どこで聞いたの?
0842nobodyさん2005/04/20(水) 21:18:12ID:???
>>841
まるごとPHP!というムックに書いてあったんだけどガセか!
0843nobodyさん2005/04/20(水) 22:23:40ID:???
手元にその本があったので眺めてみたけど、それっぽい記述は見つけ出せなかった。。
その本の発行が2004/10発行で、
pear::dbのchangelog( ttp://pear.php.net/package/DB/download/All )と比較してみると、
発行時には既にtest的な実装の段階は終わってるようだね。
まぁ、本家を見にいくのが一番かと。半年くらい前の情報だと当てにもならなくなってるし。
0844nobodyさん2005/04/20(水) 22:51:30ID:???
pearのデータベースクラスは色々あるけど、最近はどれが評判いいですか?
現在はpear::DBでMySQLに接続しています。
データベースのパフォーマンスチューニングが終わったので、
こんどはPHP側をいじろうと思っています。
優先順位は、1.速度>2.ドキュメントの充実(英語で可)
>3.他のデータベースとの互換性です。
0845nobodyさん2005/04/20(水) 23:18:05ID:???
PEAR::DB_DataObject のところにあるな。
これはDB_DataObjectでSQLiteは使えないってことじゃないの。
0846nobodyさん2005/04/21(木) 09:12:51ID:???
当時の事情じゃねぇの?PHP5/SQLite がまだ新しいものの部類だったし。
DBDO が SQLite 無視してそのまま突っ走るとは思えない。
今は事情も変わってますよ、という話は大いにあり得るが。

著者の鶴岡たんはライター経験こそ浅いが本人は優秀らしいので間違った事は書いてないだろう。当時動かなかった、ただそれだけな気がする。
0847nobodyさん2005/04/21(木) 10:55:32ID:???
SQLite を PHP4 で使用してる人ってどれくらいいるのかな?
DBDO はとても便利に使っているけど,PEAR::DBベースという点を考えても,
強い根拠はないが PHP4 用のものという印象がある.
PHP5 用に pdo ベースで PDO_DataObject みたいのを誰か作ってくれないかなー
(と他力本願丸出しな発言を)

>>844
3.の互換性ってのは各種RDBMSをどれほどシームレスに扱えるかということ?
まぁ順当に MDB で決まりじゃね?
おれは DBDO に頼りきりコーディングが多いので DB 使ってるけど.
0848nobodyさん2005/04/21(木) 16:04:07ID:???
>SQLite を PHP4 で使用してる人ってどれくらいいるのかな?

)ノシ

ただPHP4+SQLiteが流行るかっていうと、
PHP4+MySQL程度にはならないと否定的。

SQLiteをパッケージに含めて配布して、動的にdlして使う
っていうのは作る側からすると、インストール環境を考えずに
DBを使える点で楽になるんだけどね。
08498442005/04/21(木) 22:55:10ID:???
>>847
>3.の互換性ってのは各種RDBMSをどれほどシームレスに扱えるかということ?
です。サーバのスペックが貧弱なので、MySQLに特化させてでも
スピードを稼ぎたいので。

>まぁ順当に MDB で決まりじゃね?
ありがとうございます。参考にさせていただきます。
0850nobodyさん2005/04/22(金) 02:15:26ID:???
今からMDBを使うくらいならMDB2にするかな。

>>847
PHP5用だったらcreole + propelというのがおもしろいよ。
exception/interface/iteratorなどをきちんと使って、
PHP5 nativeで書かれている。
0851nobodyさん2005/04/22(金) 06:29:12ID:???
>>850
あー MDB と書いてるが MDB2 のつもりだった.スマソ

propel は面白そうだね.サイトをじっくり読んでみる.情報ありがとう.
後は,自宅の実験サーバ以外 PHP5 なんて全くお目にかかんない現状が何とかされれば……w
みんな 5.1.2 くらいまで待ちかなぁ……
0852nobodyさん2005/04/22(金) 10:20:24ID:???
PostgreSQL 8.0.1に、PHP5のPEAR DB_DataObjectで、
createTable.php流したときに、
テーブルの主キーがとれないんだけど、既出?
0853nobodyさん2005/04/22(金) 11:16:39ID:???
具体的には、生成された継承クラスで、primary_keyが設定されていなくて、
同時に生成されるiniファイル内の KEY も設定されない。

何回もやりなおしてみたけど。
0854nobodyさん2005/04/26(火) 16:06:11ID:???
HTML_QuickFormで
input type=textのreadonlyってできますか?
■ このスレッドは過去ログ倉庫に格納されています