【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/
0236nobodyさん
2005/12/27(火) 22:09:08ID:???確かに、とはいえcryptType自体ドキュメントに載ってないみたいだし、
その機能に気づく奴はそもそもソース読んだ奴だけでしょ。
いまはuserAdd()自体の説明も削除されてるけど、昔はあったような気がするから
たんに後方互換のためだけに存在してるのかも。
PEAR::Auth つかってるけどいままで特に問題は経験してないよ。
でも気になるなら書き直したっていいんじゃない?
0237nobodyさん
2005/12/27(火) 22:31:05ID:6hbW+Cc+どうも。複雑な認証を行う場合は、大抵それ用にコード書くので、
ライトな使い方で、基本動作に問題ないようなら、とりあえずOKっす。
0238nobodyさん
2006/01/03(火) 11:02:07ID:bVutY5ZNエラーが出るのですが、これを回避する方法はないのでしょうか?
0239nobodyさん
2006/01/03(火) 11:12:25ID:???0241nobodyさん
2006/01/04(水) 03:11:04ID:LqFUITlR1 2 3 4
ではなく
1-100 101-200 201-300 301-400
のような表示はできますか?
あと、Factory()のオプションの、
expanded [boolean]. もし TRUE なら、ウィンドウサイズは常に 2*delta+1 となります。
とはどういう意味でしょうか?
0242nobodyさん
2006/01/06(金) 17:18:35ID:vfftbldxこのサイトでWin版マルチバイト対応PHP5.04をダウンロードしました。
http://www.geocities.jp/rui_hirokawa/php/win/
このPHPに入っているgo-pear.batがなにかおかしくて
(実行すると[Could not open input file: PEAR\go-pear.php.]と出てしまう)
PEARがインストールできません。
そこで以前使っていたPHP4に入っていたgo-pear.batをこのPHP5にコピー
してPEARをインストールしようと思うんだけど、この方法で問題なくインストール
できるでしょうか。
0244242
2006/01/06(金) 17:36:19ID:???はい。(cd)でもやりましたし、「ファイル名を指定し実行」もやりましたし、
ダブルクリックでもやりましたが
「Could not open input file: PEAR\go-pear.php.]と出るだけでした。
PHP4のgo-pear.batはダブルクリックするだけで実行されます。
0245nobodyさん
2006/01/06(金) 17:40:11ID:???>>242のリンク先に
現状での問題点(2005/5/31)
* go-pear.bat実行時にpear.batが作成されない(pear_bat.oldをリネーム)
って書いてあるやん・・・。
0246242
2006/01/06(金) 17:48:01ID:???それは実行するとpear.batが作成されるんですよね?
実行ができないのでなんにも作成されてないんです。
それとPEARフォルダはPHPをインストールしたときにもうできているんでしょうか。
このPHP5にはPEARフォルダが無いんですけど。
0247nobodyさん
2006/01/06(金) 18:03:52ID:???たとえばphp-5.1.1-Win32.zipを落としてきて解凍するとPEARフォルダはある。
go-pear.batの中身を見ればわかるけど、PEARフォルダ内のgo-pear.pharを
実行してPEARのインストールをするみたいね。
その国際版になんでgo-pear.pharが無いかは知らないけど、どうせ流用するなら
PHP 5.0.4のソースを落として使ったほうがいいんじゃない?
0249247
2006/01/06(金) 19:11:48ID:???蛇足というかおせっかいだけど、マルチバイト版を使いたいのは
内部コードをSJISにしたいからだよね?
でも、5.0.4には大きなセキュリティホールがあるから、PHP 5.1.1にして
内部コードをUTF-8化することをお奨めしとく。
mb_stringを有効にしてphp.iniを適切に設定すれば、出力文字コードを
好きなエンコードに自動変換してくれるから。
0250nobodyさん
2006/01/13(金) 14:16:52ID:U09ztjR41X1GBの方ですよね
0252nobodyさん
2006/01/15(日) 00:22:45ID:???0253nobodyさん
2006/01/15(日) 09:39:06ID:???0254nobodyさん
2006/01/15(日) 15:07:33ID:???0255nobodyさん
2006/01/15(日) 15:11:17ID:???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 オプションを使ってみてはいかが.
■ このスレッドは過去ログ倉庫に格納されています