【PHP】PEAR Part2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/08/01(月) 21:27:12ID:pG+mahP3■PEAR
http://pear.php.net/
■前スレ
Pear
http://pc8.2ch.net/test/read.cgi/php/985665522/
0256nobodyさん
2006/01/15(日) 15:30:30ID:???MDB2 FAQ: http://oss.backendmedia.com/MDB2/FaQ
このところMDB2が怒濤の勢いでFixされてて、いよいよstableリリースが近づいてきた感じ。
今後はPDOのラッパにもなりそう。あと、http://pooteeweet.org/blog/297
によるとDBを使ってるPEARパッケージでもMDB2がサポートされていくみたい。
0257nobodyさん
2006/01/15(日) 16:05:17ID:???0258nobodyさん
2006/01/15(日) 16:23:57ID:???thx
ついでに、こいつらで PHP 4 で SQLite が安心して使えるようになる
可能性って低いかねぇ? PHP 5 でバッチリサポートされちゃったし、
オレならモチベーション上がらないだろうなーと思うんだけど。
0259nobodyさん
2006/01/15(日) 19:35:41ID:???nethackのitemでおぼえますた。
DBはぽすぐれおんりーになってきた最近です。
0260nobodyさん
2006/01/15(日) 21:04:18ID:???心の中ではピアって読んでるワタクシ
※「ペア」が正解だと公式サイトに書いてあります
ttp://pear.php.net/manual/en/introduction.php
> is pronounced just like the fruit
like the fruit > ttp://dictionary.goo.ne.jp/search.php?MT=pear&kind=ej&mode=0
0261nobodyさん
2006/01/16(月) 01:20:18ID:???が、心の中ではずっとペアと読んでいる。
0262nobodyさん
2006/01/16(月) 03:01:05ID:???低そうですねー。
PHP5でしか使えないOOスタイル(SQLiteDatbaseクラス)が
PHP4でも使えるようになると嬉しいんだけど...
0263nobodyさん
2006/01/16(月) 03:26:32ID:???関係ないけどCPANは読み方分からなくてシーパンで癖ついちゃったけどクパンって読むらしいね…。
0265nobodyさん
2006/01/16(月) 12:48:16ID:???0266nobodyさん
2006/01/16(月) 12:49:50ID:G/ZbNFBV0267nobodyさん
2006/01/16(月) 20:21:44ID:???0268nobodyさん
2006/01/16(月) 21:43:18ID:???0270梨元
2006/01/17(火) 08:37:22ID:???0271nobodyさん
2006/01/17(火) 12:36:46ID:???0272nobodyさん
2006/01/24(火) 23:42:32ID:6JXx7sTKリモートデスクトップで接続し、DOS窓からphpのインストフォルダに移動して、
>go-pear.bat
と入力しても何も応答がありません。
ちなみにWinXPのパソコンでは、Welcomeが出てきます。
なぜでしょうか?
0273nobodyさん
2006/01/25(水) 00:43:07ID:???0274nobodyさん
2006/01/25(水) 00:50:13ID:???0275nobodyさん
2006/01/25(水) 20:15:19ID:???PHPのやつは古いんで、かと言って最新のPerlのやつを移植するスキルもないので、
ブリッジ作ってPerlのやつ使ってます
0276nobodyさん
2006/01/26(木) 00:00:05ID:???みたいにページ内リンクをつけるのって出来ますか?
0277nobodyさん
2006/01/26(木) 09:51:22ID:???携帯用のフォーム作りたいんだけど
ttp://wiki.poyo.jp/read/Writing/marugoto_php/HTML_QuickForm_Controller#content_1_5
に「HTML_QuickForm_ControllerはHTTPヘッダのLocationを使用します。
ですので携帯電話用のフォーム処理には向きません」との記述。
実際作ってみたんですがやっぱり動かない。
どこの処理でLocation使ってるんですか?
出来上がったソースみても書いてないし。
↓参考にしたソース
ttp://blog.snoritake.com/2005/12/html_quickform_controllersmart_1.html
0278nobodyさん
2006/01/27(金) 09:19:29ID:???0279nobodyさん
2006/01/27(金) 17:30:12ID:zienXgmOPHP5でエラーが出たので、ちょっと見たのですが、
コンストラクタの$options引数が、コンテナによって、
配列だったり、文字列だったりするのだけど、
どちらの場合も、ごちゃまぜに処理してしまっていて、
これがエラーの原因になっています。
よく使いそうな役割のクラスだけに、
もうちょっとしっかりしたコードにしてほしいもんだ。
0281nobodyさん
2006/02/01(水) 12:15:51ID:FRDzC7Md次レスのようなシンプルなソースを作りましたが、
addUserでは必ずTrueが、getAuthでは必ずFalseが返ってきてしまいます。
addUserはTrueでも実際には動作してないです。エラーも出ません。
getAuthはgetStatusに変えたら正しく動作しました。
同様な現象になったことがある方いませんか?
このままですと、getAuthやaddUserだけでなく他にも挙動がおかしいもの
がでてきそうな気がします。正しく動作させる方法を教えてください。
環境:
PHPは4.3.10ですが、デフォルトで入っているPEARの挙動が
おかしかったので http://pear.php.net/packages.php ここから
AuthとDB関連のクラスは入れなおしてます。
register_globals は Off です。
0282nobodyさん
2006/02/01(水) 12:16:27ID:FRDzC7Md<?php
require_once "Auth/Auth.php";
$dsn = "mysql://user:password@localhost/database";
$authset = array(
"dsn" => $dsn,
"table" => "auth",
"usernamecol" => "username",
"passwordcol" => "password",
"cryptType" => "none"
);
$a = new Auth("DB", $authset);
// ユーザーの追加---必ずTrueが返ってくるが登録されてない。
if($a->addUser('user','pass')) {
echo "ユーザーを追加しました。";
}
$a->start();
// 認証チェック---必ずFalseが返ってくる。
if ($a->getAuth()) {
echo "ようこそ!" . $a->username . "さん<br>";
}
?>
0283nobodyさん
2006/02/01(水) 18:05:00ID:???0284281-282
2006/02/01(水) 20:51:33ID:???気のせいでした。。。_| ̄|○ il||li
接続設定が違っていた模様・・・
スレ汚しスマソ(´・ω・`)ショボーン
0285192.168.0.774
2006/02/02(木) 10:25:44ID:rSyssRqDPEARじゃなくともSimpleXML使えばお腹いっぱい
0288nobodyさん
2006/02/02(木) 14:23:19ID:???ttp://www.ister.org/code/simplexml44/index.xhtml
にPHP4用のSimpleXMLらしきものがあるので、試してみては?
0290nobodyさん
2006/02/09(木) 12:10:45ID:???なぜか全く反応しません。
requiredにも無反応。raiseErrorにもひっかからない。
hiddenの値をvalidateするにはどうすればいいですか?
0293nobodyさん
2006/02/10(金) 14:03:44ID:???マジで呪文を唱えてみました
効果がありませんでした。
とりあえずソースにデバッグコードを埋め込んだりして、動きを追っています。
mojavi + HTML_QuickForm + smarty という構成なのでそのどこかにバグがあるのでは
と思っています。
今このあたりを調べ中…(3日もコーディングが進まない…)
$form->accept($QFrenderer);
0294nobodyさん
2006/02/10(金) 19:31:43ID:???>mojavi
だったら、根本的な解決にならんけど、
Acrionのinitialize()あたりでチェックする。
0296nobodyさん
2006/02/11(土) 15:27:57ID:???仕様じゃないかと思われるから要望だそうかと思うけど
$form->addElement('hidden', 'test', '');
$form->addRule('test', 'test is required', 'required', '');
0297nobodyさん
2006/02/13(月) 22:58:45ID:pnT1I5vqhttp://pear.php.net/package/MDB2_Driver_sqlite/
0298nobodyさん
2006/02/14(火) 16:45:17ID:???0299nobodyさん
2006/02/14(火) 20:28:20ID:???0300nobodyさん
2006/02/14(火) 22:59:00ID:nEcRuD6aDB の使えるホスティングが増えるんじゃないかなーと
期待してる
0301nobodyさん
2006/02/15(水) 07:32:02ID:???まだ日本語ドキュメントがあんまりないし
0302nobodyさん
2006/02/15(水) 08:08:14ID:???DB周りの設定のようなロジックに関係無い部分に気を使う必要がないから、すぐに作り始められる。
3への移行時期あたりに本家のドキュメントを手当たり次第に訳してどっかにうpした記憶があるんだが、URLわかんね。
地道に検索すりゃ見つかるんじゃないかな。
つか、他のDBと比べた時に多少制限があるくらいで、そこさえ押さえておけばあんまり意識する必要がなかったような。
0303nobodyさん
2006/02/15(水) 09:19:32ID:???http://www.debianhelp.co.uk/sqliteweb.htm
0304nobodyさん
2006/02/16(木) 08:01:48ID:???0305nobodyさん
2006/02/18(土) 02:28:12ID:Fc1AYhHKhttp://pear.php.net/manual/ja/package.authentication.auth.intro.php
の一番上にある最もシンプルなスクリプト実行してみたが、認証できず5時間くらい格闘中。
MAMPではmysqlのポートが8889になってしまうので、$dsn = "mysql://ネーム:パスワード@tcp(localhost:8889)/データベース名"
としてみたが、いっこうに動かず。Authのバグかなこれ??
しかもphp5だとこのスクリプトは動かず、外人どももご立腹な様子。
http://pear.php.net/bugs/bug.php?id=4371
0306nobodyさん
2006/02/20(月) 17:00:30ID:???0307nobodyさん
2006/02/20(月) 17:31:46ID:vRXDRBjP気のせいだよ
0308nobodyさん
2006/02/20(月) 22:23:00ID:???0309306
2006/02/24(金) 11:11:37ID:???意外と簡単だった
0310nobodyさん
2006/02/24(金) 17:52:14ID:???継承したクラスを作らなくても済んだのに。
0311306
2006/02/27(月) 16:21:13ID:???出来ました。
ありがとうございました。
0312nobodyさん
2006/03/06(月) 13:38:45ID:???minYearみたいなオプションはないのでしょうか?
もしくは、それに変わるものみたいな・
0313nobodyさん
2006/03/08(水) 17:54:45ID:???0314nobodyさん
2006/03/08(水) 17:55:18ID:???0315nobodyさん
2006/03/08(水) 22:51:49ID:???デフォでは何も出ない。
自分で拡張するべし。
0317nobodyさん
2006/03/08(水) 23:06:37ID:???0318nobodyさん
2006/03/09(木) 03:59:13ID:???PEARにはないけど、PECLにひとつあるみたいね。
html_parse
http://pecl.php.net/package/html_parse
特定のタグをの使用を制限したいとかの理由なら
tidy
http://pecl.php.net/package/tidy
SafeHTML
http://pixel-apes.com/safehtml/
なんてのがある。(どっちもPEARじゃないね)
0319nobodyさん
2006/03/09(木) 15:06:39ID:???0320nobodyさん
2006/03/12(日) 16:46:29ID:UjH0HOBYhttp://pear.php.net/pepr/pepr-proposal-show.php?id=362
中身はたいしたことないけど、期待age
0321nobodyさん
2006/03/12(日) 16:52:02ID:???そのコメント自体が結構参考になる。
0322nobodyさん
2006/03/12(日) 20:13:55ID:???imodeはギリギリOKだと思ったが、hatenaは日本のリポジトリに突っ込むべきかと。
(まあAmazonだって全世界サービスとは言えないか)
http://ns1.php.gr.jp/pipermail/phpug-admin/2005-December/001057.html
これまだなんかね。
0323nobodyさん
2006/03/17(金) 00:04:48ID:???0324nobodyさん
2006/03/17(金) 01:36:33ID:???0325nobodyさん
2006/03/28(火) 04:03:40ID:y/Gmg3I1LEFT JOIN hoge_table ON id = hoge_id AND code = hoge_code
のように、2つの要素をANDで指定できますか?
0326nobodyさん
2006/03/28(火) 04:34:16ID:???できない.
プライマリキーがひとつしかないテーブルにしか対応しないと思った方がいいと思う.
(これは joinAdd() に限らず DB_DataObject 全体にそんな傾向がある気がする)
普通の INNER JOIN なら whereAdd() を併用すると何とかなったりするんだけど,
LEFT JOIN は自分も前に頑張ったけどダメだった.
そして言い訳のようにマニュアルには「joinAdd() がややこしくなってきたら
生 SQL 食わせちゃった方がいいっすよ」とか書いてあるw
0328nobodyさん
2006/03/28(火) 05:35:19ID:???これは解決策にはなりませんでした・・・。うーん。
0329nobodyさん
2006/03/28(火) 06:35:46ID:???別ライブラリってのがどういうものかわからないけど,
> $t1 = DB_DataObject::factory('hoge');
> $t2 = DB_DataObject::factory('fuga');
> $t1->joinAdd($t2);
> $t1->find();
と
> $t1->query( "SELECT * FROM hoge INNER JOIN fuga ON ( hoge.id = fuga.id )" )
は同値.
前者が複数キーテーブルのせいで実行できなかったとして,
それを後者に置き換えてもそのライブラリの問題ってのが発生するなら,
そもそもその案件に DB_DataObject が使えないってことじゃないかって気がする.
0330nobodyさん
2006/03/28(火) 12:02:04ID:???query() 使ってます。
別ライブラリというのは PEAR Structures_DataGrid です。
これは、こちらが渡した DB_DataObject のオブジェクトを、
追加操作してFetchするため、こちらで生SQLを発行しちゃうと
残念ながら効果がなくなるようなんです。
0331nobodyさん
2006/03/28(火) 13:22:07ID:???DataObject を継承したクラスを作って,
find() の時にオリジナルクエリを決め打ちで流すようにして,
Structures_DataGrid にはそいつを渡すってのはどうかな?
その場合は,Structures_DataGrid の _detectSourceType() を
get_parent_class() でなく is_a() を使うように変更したらさらに楽にいけるかも.
0332nobodyさん
2006/03/28(火) 16:02:45ID:???Structures_DataGrid に適切なLimitをセットしてもらって、
データ取得件数を最適化してもらいたいからなんです。
だからオリジナルクエリを決め打ちで流すのは効果なさそうだと。
0333nobodyさん
2006/03/28(火) 17:47:00ID:???LEFT JOIN とかを適切に行なうビューを create view して
そのビュー用の DB_DataObject を作るってのはどないだ
0335nobodyさん
2006/04/03(月) 15:39:54ID:mvo6jAJ1http://sample.com?ID=1&pageID=1 → http://sample.com?ID=2&pageID=2
みたいにpageID以外の変数(ここでは ID)をページごとに変える方法ってありますか?
0336nobodyさん
2006/04/03(月) 19:48:56ID:???とりあえず extraVars オプションを使ってみてはいかが.
0337nobodyさん
2006/04/06(木) 14:05:03ID:gNYW2zNbとんくすです。extraVarsの解説してるサイトってあまりないんですよね。
value=1 みたいに静的な変数は付加できるけど、value=%dみたいなこと
ができないみたいで…。
0338nobodyさん
2006/04/06(木) 14:06:54ID:???pageIDを使うのじゃだめなのか? 何がしたいんだか分からん。
0339nobodyさん
2006/04/06(木) 14:28:24ID:???なんで pageID 以外に同じ値を冗長に持たせたいのかわからん.
単に変数の名前を変えたいだけなら urlVar に 'ID' を指定.
あるいは extraVars で 'ID' の値として $_REQUEST['pageID'] を指定してやるとか.
挙動を変更したいなら Pager_* を継承したクラスを作ってそこでやるとか……
0340nobodyさん
2006/04/07(金) 11:36:01ID:???HTML_QuickForm で 「denotes required field」って部分を日本語に置き換える方法って無いでしょうか?
マニュアルがあればこの辺も調べたいんですが・・
0341nobodyさん
2006/04/07(金) 13:19:09ID:???[PHP-users 23103]QuickForm::addRule() requiredを使用したときに表示される"* denotes required field"を変更したい
ttp://ns1.php.gr.jp/pipermail/php-users/2004-August/023625.html
0342nobodyさん
2006/04/07(金) 14:14:44ID:???ありがとうございます!
http://pear.php.net/manual/en/package.html.html-quickform.html-quickform.setrequirednote.php
これですね。
$form->setRequiredNote('<font color=red>*</font>は必須項目です。');
って感じで出来ました。
0343nobodyさん
2006/04/07(金) 14:17:39ID:???0344340,342
2006/04/07(金) 14:32:22ID:???0345nobodyさん
2006/04/11(火) 18:36:04ID:???0346nobodyさん
2006/04/14(金) 18:17:06ID:ztoDRCLM今はxamppを使っています。
pear config-show
をすると、ディレクトリの設定などがwampp2当時のままになっていました。
xampp側で再設定するにはどうすればいいのでしょうか?
0347nobodyさん
2006/04/14(金) 18:26:29ID:STB/6fVFたぶんパス通ってないだけだよ。
0348346
2006/04/14(金) 19:12:42ID:???ありがとうございます。
古い環境変数を削除して、pathを通して、
再起動させたら、直りました。
batファイル内を見たら環境変数がなければ再設定しているようなので、
環境変数が邪魔していたようです。
0349nobodyさん
2006/04/24(月) 01:19:24ID:???したいんですけど、pearでそんな都合がいいもんないですかね?
0350nobodyさん
2006/04/24(月) 01:26:53ID:???$doc = new DOMDocument();
$doc->load('test.xml');
var_dump($doc);
これだと、オブジェクトのID返すだけなんですね。
$docがどんな状態かすぐに調べる方法ってありますか?
0352nobodyさん
2006/04/25(火) 23:23:53ID:???0353nobodyさん
2006/04/25(火) 23:40:55ID:???http://pear.php.net/package/HTTP_Upload
HTTPでアップロードするんじゃないのなら、その条件を提示
0354nobodyさん
2006/04/30(日) 01:25:55ID:TxzAQxO9PEARを手動インストールしています。
目的のHTTP_REQUESTは動いたのでいいんですが、
PEAR_infoが動きません。PEAR基本パッケージ?以外に何かインストールしないといけないんでしょうか?
0355nobodyさん
2006/04/30(日) 10:12:45ID:TxzAQxO9Console_Getoptが必要のようだったので、インストールしました。
で、結果は動きません。エラーログすら吐き出さない・・・。
PHP_info.phpにアクセスすると、しばらくたって白紙画面になります。
なにか、案などありませんでしょうか?
0356nobodyさん
2006/04/30(日) 11:54:05ID:???そもそもPEAR_Info使ってもしょうがないんじゃね
手動で入れたやつは情報見れんよ確か
■ このスレッドは過去ログ倉庫に格納されています