トップページ⇒php
981コメント318KB

【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/
0065nobodyさん2005/09/28(水) 01:42:23ID:???
ヒント: Flexy
0066nobodyさん2005/09/28(水) 01:45:10ID:???
>>61
じゃ暇があったらなんか書いてみるよ

>>63
HTML_Formはシンプルすぎるか

以前QFのエレメントの設定を設定ファイルに書くハンドラを作ったことがあるな
まぁ設定ファイルをXMLにしたもんで、HTMLを書かなくて済むQFを生成するために
XMLを書くという堂々巡りになってしまったわけだが
0067nobodyさん2005/09/28(水) 20:39:25ID:???
結局、記述量や習得するまでの時間を考えると使うメリットが無いって事でしょ。
Validaterは各フレームワークのものを使用すると。
俺はQF使う派だけど、確かにQFだと悩みながら書くこと多いから、
普通にHTML&Javascriptで書くのに比べてかなりの多くの時間を費やす事がよくある。
0068nobodyさん2005/09/28(水) 21:00:34ID:???
でも JS の自動生成や advmultiselect みたいな拡張機能は他にはない魅力……
なので何とか共存の方向を考えたいところだ
0069nobodyさん2005/09/28(水) 22:53:17ID:???
便乗で質問だけど、DBまわりは何使ってる?
MDBとか使ってたけど、意味あるのかなぁ・・・と思って
最近は思い切ってPDO使うか、もしくはネイティブ関数使ってる。
たまに
「mysql_query()なんてのをコードの中にたくさん書いてたら、
あとで困るんじゃないの?」
って意見を見かけるけど、困らないね。
コネクトとかquery発行する箇所はクラスに纏めてるから一ヶ所だし。
それにだいたいSQL文からして方言の差があるのに、
そんなとこ気にしても無意味じゃないかなと思うんだけど、どうだろう。
DBプロジェクトに対してDBを変更することってかなり稀だと思うし。
0070nobodyさん2005/09/28(水) 23:15:25ID:???
ADODB
だけどそろそろ移行の時期だと思ってる。
0071692005/09/28(水) 23:28:51ID:???
ADODBも使ってたけど、更新が頻繁にあるものが多いので、
目玉の(?)cache機能が殆ど使えないから止めた。
0072nobodyさん2005/09/28(水) 23:40:59ID:???
DB_DataObject
遅いっちゃ遅いんだが、便利で手放せない
PDO+DBDOが使えるようになるのはいつのことやら・・・
0073702005/09/29(木) 00:11:09ID:???
>71
ADODBの最強な点はダイナミックリンク可能な点だと思ってるから無問題
DBの速度にはまだこまってないからやってないけどね

>72
俺もPECLのDBDO待ち
0074nobodyさん2005/09/29(木) 01:02:34ID:???
おれも DBDO が使えるようになるまでは DB_DataObject で粘ろうと思ってる
そこまでパフォーマンスに厳しい仕事をしてないってのもあるが……
0075nobodyさん2005/09/29(木) 07:44:25ID:???
PEAR DBは重すぎて糞
PDOマンセー
0076nobodyさん2005/09/29(木) 19:28:05ID:???
>>74
やめとけ。updateがDB_DATAOBJECT_WHEREADD_ONLYでしか動かないぞ。
最新バージョンは挙動がかなりおかしい。
PHP5+Propelにしとけ
0077nobodyさん2005/09/29(木) 19:32:15ID:???
>>13
いまさらだけど、Smarty使ってるならプラグインにまとめようぜ、そういう処理は。
0078nobodyさん2005/09/29(木) 21:41:23ID:???
>>76
Propelって初めて聞いた。
検索かけても殆ど情報得られないなぁ。

>>73
DBDOって現状じゃ全然使えない?
更新が4月から止まってるけど。

今やらなきゃいけないものを何でやったらいいのやら・・・。
今ならPDO単体でやるのがいいのかなぁ。
0079nobodyさん2005/09/30(金) 04:40:45ID:???
>>78
配布先に使い方全部書いてあるし。
てかpropelしらかったて…
0080nobodyさん2005/09/30(金) 18:37:09ID:???
>>79
使い方じゃなくて、使えるレベルにあるかって事だろ。
自分で調べれ。

propel知らないのも別に不思議じゃなくね?
そんな有名じゃないだろ。日本で。
0081nobodyさん2005/10/01(土) 17:31:35ID:+fvd5pTY
質問です。
PEAR::DBを勉強中なのですが、PHP関数で言うmysql_insert_id()と同じことをやる場合には
どうしたら良いのでしょうか?
pearマニュアルを何度も読んだのですが、該当する部分が見つからないです。。。
どなたかお助けください。よろしくお願いします。
0082nobodyさん2005/10/01(土) 18:47:26ID:???
mysql相手だと、
http://pear.php.net/manual/ja/package.database.db.db-common.nextid.php
これは使えないのかな?

使えないのなら、
$db->getOne("SELECT LAST_INSERT_ID()");
0083nobodyさん2005/10/14(金) 17:10:01ID:TRgLsoyz
PEAR::Authをインストールするためコマンドプロンプトから

cd c:\php
pear config-set http_proxy http://(プロキシサーバ):8080
pear install Auth

と打っても

XML error at line 1, check URL
Invalid return payload: enable debugging to examine incoming payload

とエラーが出ます。ググっても解決策がよくわかりません。ご教授お願いします。
(プロキシサーバ)のとこには自分のプロキシサーバ・アドレスを入れています。
0084nobodyさん2005/10/15(土) 00:48:58ID:???
>>83
氏ねや。
0085nobodyさん2005/10/15(土) 01:03:49ID:???
なんで?
0086nobodyさん2005/10/16(日) 03:51:20ID:???
>>69
自分の今いる現場では、PEARはほとんど使ってないね。
携帯向けサイトの仕事なんだけど、TV局のサイトなので告知とかあると
アクセスが集中してWebサーバとDBサーバの両方に負荷がかかる。
ハードの強化は予算的にどうしようもないので、プログラム側で工夫することになるんだけど、
1リクエストに対するレスポンスを上げるため、できるだけ処理速度を上げるように言われてる。
そのためDBアクセスでは、PEAR::DBは使わずに、ネイティブ関数をラップした共通関数orクラスを使ってる。

>「mysql_query()なんてのをコードの中にたくさん書いてたら、
>あとで困るんじゃないの?」
>って意見を見かけるけど、困らないね。

確かに全然困らないね。
DBアクセスは一箇所にまとめるんだから。

>それにだいたいSQL文からして方言の差があるのに、
>そんなとこ気にしても無意味じゃないかなと思うんだけど、どうだろう。

SQLを改善するほうがPHPのソースをいじくるよりレスポンスの改善効果は高いし。
そのためには、SQLの方言はどんどん使うべきだと思う。

>DBプロジェクトに対してDBを変更することってかなり稀だと思うし。
そうだね。自分の場合は、ずっと運営してきたサイトで何百ものソースが動いているのに
DBMSを変更するような事はまずないと思う。
DBMSが変更になったら、例え少ない変更でもほぼすべてのソースのテストを行わないといけない。
客にとってはDMBSはなんでもよくて、サイトがちゃんと動いてればいいわけだから、
そんな変更はあり得ないし、そんな予算ないと思う。

自分の場合は、こんな感じだけど、もちろんまったく違う状況の人もいると思うので
参考にならないかもしれないけど、とりあえず1例としてあげてみた。
0087nobodyさん2005/10/16(日) 03:57:55ID:???
まあそういう理解が前提じゃないの?
Martin Fowlerがまとめのがよく言及されてるけど
0088nobodyさん2005/10/16(日) 03:58:50ID:???
それよかコンポーネントがちゃんと出来てるかどうかのほうが重要かもと思う
0089862005/10/16(日) 04:29:55ID:???
>>87
Martin Flowlerは知らなかったので、ググってみた。
この記事のことかな?
まだ、読み始めたばかりだけど参考になりそうだ。
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
0090nobodyさん2005/10/16(日) 05:16:19ID:???
おれもSQL好きだなあ。
ストアドとかで一発処理できると結構快感がД`)
sql92だけでもそこそこやれるよね。
0091nobodyさん2005/10/16(日) 08:23:31ID:???
>86
adodb使ったら?
0092nobodyさん2005/10/16(日) 08:35:47ID:???
Pear::DB使わないで得られる負荷低下なんてすずめの涙ほどもないよ
0093nobodyさん2005/10/16(日) 16:06:05ID:???
条件によるのだろうけど
うちが手がけた案件で両方実装してテストした結果
かなりの差がでたのでpearを使わなかったものもある。
0094nobodyさん2005/10/16(日) 17:13:51ID:???
PEAR::DBっぽいインタフェースを備えた
ネイティブ関数のラッパークラスでいいんじゃないの?
直接 mysql_*() を書くのは抵抗がある.
0095nobodyさん2005/10/17(月) 00:11:32ID:???
>>86
レスポンスを上げたいなら、そんな事より先にCache_Liteを検討すべきでは?
キャッシュをメモリに置けばお手軽に負荷テストの結果を一桁あげられるよ。

SQLの最適化もいいけど、SQL問い合わせをいかに減らすかの方が
アプリケーション全体のレスポンス向上への貢献度がはるかに高いと思うな。
だから生SQLはできるだけ書かずにPEARならDB_DataObjectにおまかせで済ます派。

まぁ、キャッシュの使えない局面もけっこうあるけどね...
0096nobodyさん2005/10/17(月) 00:20:16ID:???
PEAR::DBでOCI8使ったら一部のSQLでフィールドがずれたり文字が化けたから
OCI8関係は自分でPEAR::DBっぽいクラス作ったな…
0097nobodyさん2005/10/17(月) 01:20:58ID:???
>>92
ん?
結構違うと思うぞ。やってみ。
0098nobodyさん2005/10/17(月) 02:05:06ID:???
そこで組み込みの SQLiteDatabase クラスですよ。
mysqli クラスは使ったことないけどプロパティ・メソッドの一覧を見る限り
「MySQLでできること全部詰め込んでみました」な感じが良いような嫌なような。

本命は PDO だけど現状では PDO_SQLITE/PDO_SQLITE2 で予期せぬテーブルロックが発生することがあって使えない。
PDO_PGSQL はいい感じ。
MDB2 はドキュメントにもあるとおり API 変更が当たり前のようにあるのでメインに使うのは怖い。
0099nobodyさん2005/10/17(月) 07:11:47ID:QlBs94zi
前にベンチとった。
10万件から、単にセレクトしてテーブルで表示するだけのもの。

ネイティブ関数を1とすると、
PEAR::DBを使用した場合、2倍。
DB::DataObjectを使用した場合3倍くらい時間がかかった。
adodbは1,8から1,9くらい。
(とりあえず、PEAR::DBよりは遅くなることはなかった)
ネイティブ関数のラッパークラス(自作)だと、1,2から、1.4くらい。

速度にシビアなとこは、やっぱネイティブ関数使うんじゃない?

ちなみに同じ環境でmod_perlだと、0,7以下。(Apache::Registryのみ)

あ、スペルいい加減。
0100nobodyさん2005/10/17(月) 07:20:43ID:???
なんだこれ?
0101nobodyさん2005/10/17(月) 18:15:47ID:???
>>99
ADODBの本領はダイナミックリンクだってば。
0102nobodyさん2005/10/17(月) 18:55:19ID:???
>>101
>ダイナミックリンク

DLL?
ADOdbext?
0103nobodyさん2005/10/17(月) 19:04:05ID:???
ADOdb extension。
0104nobodyさん2005/10/17(月) 20:59:35ID:???
>>103
俺の環境では使えなかったので却下。
0105nobodyさん2005/10/17(月) 21:33:46ID:???
>>104
環境plz
基本的にはphp.iniかextensions.iniで直接呼んでください
0106nobodyさん2005/10/17(月) 22:01:28ID:???
>>105
FreeBSDのバージョンいくつか忘れたけど、使えなかったと記憶してる。
0107nobodyさん2005/10/17(月) 23:12:27ID:???
>>107
そんな無茶な。
mod_perlって言いたいだけちゃうんかと。
0108nobodyさん2005/10/17(月) 23:13:20ID:???
×107
○106
0109nobodyさん2005/10/23(日) 00:40:25ID:p3DWBPtp
PEAR入門 PHP標準ライブラリを極める!
http://www.amazon.co.jp/exec/obidos/ASIN/4798109592/qid%3D1129995283/249-9551878-6230755

ってどうなの?
0110nobodyさん2005/10/23(日) 01:12:54ID:???
>>109
PHP関連書籍のスレがあるからそこで聞こう
0111nobodyさん2005/10/23(日) 01:57:27ID:p3DWBPtp
>>110
そうなんですか。
失礼しました。
0112nobodyさん2005/10/23(日) 16:24:41ID:Bt6ZIoqC
>>110
いやPEAR本だし、さすがにここでもいいんじゃないの?

>>109
上の方で話題にあがってるよ
0113nobodyさん2005/10/23(日) 16:46:59ID:I/RMFvXv
PEAR::Cache っておなくなりになったんですかい?
0114nobodyさん2005/10/23(日) 16:51:27ID:???
>>113
え? 生きてますけど?
0115nobodyさん2005/10/23(日) 17:07:13ID:???
>>114
お・・ありました。マニュアルの方を見ててなかったので、
なくなったのかと勘違いしてしまいました。失礼。
0116nobodyさん2005/10/26(水) 01:17:05ID:???
>>99
phpaとかアクセラレーター使ってみての比較?
0117nobodyさん2005/10/27(木) 00:45:47ID:???
>>116
使ってないでしょ。
前提条件が適当で曖昧すぎる。その曖昧なままのベンチってのは99もわかってるとは思う。
0118nobodyさん2005/10/28(金) 10:25:19ID:???
Pear の Ajax ライブラリのサンプルプログラムを載せてるWebページ無いでしょうか?
0119nobodyさん2005/10/28(金) 10:31:07ID:???
>>118
http://itpro.nikkeibp.co.jp/article/COLUMN/20051023/223253/
ここの2ページ目
0120nobodyさん2005/10/28(金) 17:00:35ID:???
HTML_Template_Flexy と Translation2 を組み合わせて
多言語対応 Web アプリを作りたいのだが,
情報源がまったくといっていいほど見つからない・・。
ぐぐってもリリース情報しか出てこない。日本語だけじゃなくて世界で。
だれも使ってないの??? あぁ 困ったorz

どなたか有用な情報もっていらっしゃいませんか?
0121nobodyさん2005/10/28(金) 17:40:03ID:???
>>120
コード読むしかないね
01221202005/10/29(土) 11:43:30ID:???
>>121
やっぱり (´д`)
0123nobodyさん2005/10/29(土) 13:33:02ID:???
PEARってこういうの多いよね。
英語で良いから最低限のマニュアルくらい作ってから公開してくれんかのう。
javadoc形式のでも良いけど分かるように書いてくれー。
個人で使うのにはかまわんが、仕事で他人に勧めることができん。
0124nobodyさん2005/10/29(土) 19:50:51ID:???
>>123
日本人が作ったライブラリでも、英語だけで日本語のマヌアル用意してない場合も多いよね。。。。
0125nobodyさん2005/10/29(土) 21:23:02ID:???
>>124
それでもマヌアル無いよりは100倍ましだけどね。
0126nobodyさん2005/10/31(月) 12:50:48ID:???
まあそう思った人が解析してマニュアル書き起こす(せめて自分のHP上でまとめる)しかないんだろうなぁ
がんばろうぜ、みんな
0127nobodyさん2005/10/31(月) 13:32:47ID:KLBqKPJE
SimpleTestで質問です。
WebTestCaseクラスでラジオボタンをチェックできないのでしょうか?

<input type="radio" name="rdoTest" value="test" checked/>Test

を

$this->assertField('rdoTest', 'test');

とすると、

Fail Field [rdoTest] should match with
[Field expectation [String: test] fails with [Boolean: false] at character 0 with [test] and []] at line [18]

となってしまいます。
よろしくお願いします。
0128nobodyさん2005/10/31(月) 14:09:23ID:???
あ、こちらこそよろしく
0129nobodyさん2005/10/31(月) 17:19:32ID:???
どうぞおさきに
0130nobodyさん2005/10/31(月) 22:05:58ID:???
>>127
>$this->assertField('rdoTest', 'test');

$this->assertField( 'rdoTest', array( 'test' ) );
とかは?

あと、
> checked/>
半角スペースなくてもOKだっけ?
checked />
スペース入れるのって、後方互換のためだけだっけ?

間違ってたらスマソ
0131nobodyさん2005/10/31(月) 22:37:02ID:???
>後方互換のためだけだっけ?
そう。本来はスペースなしが正しかったはずだけど
checkedは古い書き方だな・・・
01321272005/10/31(月) 22:41:51ID:???
>130
ご指摘の通りでした。
checked/> の半角スペースがないのが原因でした。
それと、array()の件もラジオボタンが複数あればその通りです。

ありがとうございました。
01331272005/10/31(月) 22:45:43ID:???
>131
レスどうもです。
checked は古い書き方なんですか?
01341272005/10/31(月) 22:48:48ID:???
checked="checked"
と、いうことですね。
0135nobodyさん2005/10/31(月) 22:49:29ID:???
checked="checked" だったっけ? 正しくは.
0136nobodyさん2005/10/31(月) 22:50:03ID:???
>>133
スレ違いネタだけど、
XHTMLなら checked="checked" だな。
0137nobodyさん2005/10/31(月) 23:19:57ID:???
127の人気に嫉(ry
0138nobodyさん2005/11/01(火) 20:27:34ID:???
質問したい事があったのですが、今スルーされると悲しいので
出来ません・・・。>>127ウラヤマシス
0139nobodyさん2005/11/03(木) 02:43:53ID:???
*** すべてのPHPユーザーに告ぐ ***

http://www.hardened-php.net/advisory_202005.79.html
http://www.hardened-php.net/globals-problem
http://blog.ohgaki.net/index.php/yohgaki/2005/11/02/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp

PHPに深刻な脆弱性がある事が発表されました。今まで見つかったPHPの脆弱性の中でも「最悪」の脆弱性です。全てのPHPユーザは今すぐ対処を行う必要があります。
0140nobodyさん2005/11/03(木) 15:21:46ID:gVE/R27X
>>139
誘導
http://news19.2ch.net/test/read.cgi/newsplus/1130985853/
0141nobodyさん2005/11/03(木) 16:24:45ID:???
>>140
P ペニス
H ヒップ
P ペニス
だってw
一般人には「PHP?ナニソレ?」って感じなんだなーとオモタ
0142nobodyさん2005/11/04(金) 15:44:02ID:???
PHP出版とどっちが有名なのかなw
0143nobodyさん2005/11/04(金) 21:56:11ID:???
!【緊急】開発言語PHPに“最悪”のセキュリティ・ホール,全ユーザーは今すぐ対処を
http://news19.2ch.net/test/read.cgi/newsplus/1130985853/
0144nobodyさん2005/11/05(土) 06:15:23ID:???
>>140
なんでニュー速に誘導なんだよ。何のための板だ糞ガキ。
0145nobodyさん2005/11/05(土) 09:03:45ID:???
>>140
人口が多いためか早いうちから良い情報が書き込まれていたためです。
それにひきかえWebProg住人はスルーでした。
(プログラマは多いけど、サーバ管理者やセキュリティに関心のある人は少ないのかもしれん)

DAT落ちも早いだろうから、落ちたらPHPスレに情報をまとめて貼るよ。
まあ一般のニュースサイトにも載るくらいの緊急事態だったもので勘弁してくれ。
0146nobodyさん2005/11/05(土) 09:25:04ID:???
>>145
まぁ、なんだ。そのadvisoryをちゃんと自分で読んでみ。
JOYりすぎなのが自覚できると思うよ。
0147nobodyさん2005/11/05(土) 09:37:49ID:???
>>145
11月2日(ニュースサイトに載るより前)に脆弱性に関する正確な情報が PHP-users ML に投稿されてるわけで・・
それ読めばニュー速+なんて読む必要は全くないんです.
WebProgよりも自宅サーバ板とかレン鯖板の人たちに伝えるべきでは?
0148nobodyさん2005/11/05(土) 10:24:52ID:???
>>146
いやいや、業務で負の資産を使っていて、register_globalsをoffにできない人も多いのよ実際
あと、このセキュリティホールそのものより、4.4.*の不具合問題の方が話題の中心になったりしてる

>>147
うん、PHP-users MLもリアルタイムで見てた
過去ログ見ればわかるけど、正確な情報は流れていないんです。
11/2の時点では情報が錯綜していて、yohagi's blogに正確な続報が出されたのが11/3。
php.gr.jpに公式アナウンスが載ったのが、更にその後(おそらく11/4)。

>WebProgよりも自宅サーバ板とかレン鯖板の人たちに伝えるべきでは?
こちらにはまあ同意だけど、じゃあWebProgの人には関係ない問題かというと、そうではないでしょ?

※PEARスレなのにスレ違いスマン
0149nobodyさん2005/11/05(土) 13:48:54ID:???
関係なくはないがPHP関連のスレ全部にマルチするのは勘弁
0150nobodyさん2005/11/05(土) 14:14:24ID:???
>>149
だよな。興味ある奴は自分から情報とりにいくだろうし。
0151nobodyさん2005/11/05(土) 14:19:48ID:???
まあ、>>139, >>143みたいのをマルチしたの俺じゃないしな
それがウザイから誘導したつもりだったんだが、、、
こういう場合はどうするのが良かったんだ?放置か?

でもそうするとこのスレ内で「この問題って結局何なんですか?」みたいな議論が始まっちゃうでしょ?
0152nobodyさん2005/11/05(土) 14:21:45ID:???
いいんじゃないの。俺もこのコピペで知ったわけだし。
0153nobodyさん2005/11/05(土) 14:29:52ID:tf0gwVLz
>>152
お前はもう少し危機管理を行うべき
0154nobodyさん2005/11/05(土) 14:59:06ID:???
>>151
それなりの考えがあってやったんだろうし、俺的には別に構わんよ。
ただ、マルチを煙たがる香具師も多いだろうから、そこも配慮した方がいいかもしれないね。
0155nobodyさん2005/11/05(土) 15:12:39ID:???
とりあえず、WebProg板では、まともなレスはなかったよね。

>>145の↓
(カスは多いけど、サーバ管理者やセキュリティに関心のある人は少ないのかもしれん)
0156nobodyさん2005/11/05(土) 15:14:51ID:???
喧嘩はよくないと思います!
0157nobodyさん2005/11/05(土) 15:19:44ID:???
>>155
既知の情報をコピペではりまくられたら無視するだろ。
わざわざこことかで議論しなくてもuser-MLとか本家とかみればそれなりの情報があるわけだし。
例えコピペで知ったとしてもそれらを見に行けば済む話だしね。
バグについてここでどうこう言うのもすれ違いだし。

そういうことに気がつけと。
0158nobodyさん2005/11/05(土) 15:31:40ID:???
あちらこちらに貼ってあるし、URLがニュー速だったから
また誤誘導かと思ってスルーした
最初から日経に貼ってあれば見に行ったと思うけど
0159nobodyさん2005/11/05(土) 21:20:21ID:???
つーか
多数の認知 >>>>> 個人のウザイ感
だろ。
いちいちニュー速だコピペだ文句言ってる奴ケツの穴小さすぎ。
0160nobodyさん2005/11/05(土) 21:22:01ID:???
うほっ
0161nobodyさん2005/11/06(日) 06:10:13ID:???
>>159
言いたいことはわかるが、貼り付けるときに貼り付ける理由や動機、スレとの関係を書き添えてあったらまだましだったんじゃないかな。
2chでぶっきら棒にマルチコピペすりゃ荒らしとみなされても仕方ない。
まあいい加減この話題はスレ違いなので、お開きがいいかと。
0162nobodyさん2005/11/06(日) 08:55:03ID:???
PEAR の Validate って使ったことある人いる?
0163nobodyさん2005/11/06(日) 10:59:15ID:???
>>159
良いから黙ってろクズ
0164nobodyさん2005/11/06(日) 12:31:22ID:???
>>163
自己紹介乙
0165nobodyさん2005/11/06(日) 15:27:29ID:???
だからなんでこの板はスルーすることを知らないんだYO
うざくても「うざい」と書き込みさえしなけりゃ、その後、余計な時間を使ってストレスを
溜めることもなくなるのに。
■ このスレッドは過去ログ倉庫に格納されています