【PHP】PEAR Part2 ..
[2ch|▼Menu]
212:nobodyさん
05/12/23 15:22:03
どこか無料サイトでPEARが用意されているところは
ございますか?

213:nobodyさん
05/12/23 18:10:49
>>210
他意は無く、純粋な疑問なのだが、なぜApache1系?

>>212
URLリンク(pear.php.net)

214:nobodyさん
05/12/23 18:19:25
>>213さんすみません。
質問の仕方が悪すぎたです。

PHP使用可の、無料ホームページやレンタルサーバで
PEARが使用可能なとこは、ございますか?

215:nobodyさん
05/12/23 18:31:38
>>210,212
pear-PEARは既に廃止されてます。(see /usr/ports/UPDATING)
まずはPortsツリーを最新版に更新してPHPもphp5-*-5.1.1にしてからdevel/pearを入れ、
その後、pear-HTTP_Client等を入れていけばOK。
あと、make install するよりportupgrade使った方がはるかに楽。

>>214
共有サーバにプリインストールされてるPEARは(そういう鯖があったとしても)
パッケージ管理が柔軟にできないのでおすすめできない。
自分で必要な分だけ集めてUPし、include_pathを設定した方がいい。

216:nobodyさん
05/12/23 19:17:35
>>215
お前優しいな・・・。
俺もFreeBSD使わされてるけど、Portsは使わない。
Linuxも使ってるので、なるべく両方同じような感覚で使いたいし。

>>214
URLリンク(fol.axisz.jp)

217:212,214
05/12/23 21:04:45
>>215さん216さんありがとうございました。


218:211
05/12/23 21:35:12
>>215
そうっだのか・・・。
最近アップデートサボってたからPHPを5.1に上げがてらPEARもメンテしとくか。

portupgradeは使ってますよ。後、Portsツリーのアップデートにはportsnapが便利だね。

219:nobodyさん
05/12/23 23:15:07
>>205
PEARとは直接関係ないけど、APCの話題が出たので・・・

うちもPHP5にAPCを導入すると、エラーの出るスクリプトが多発した。
原因を調べたところ、キャッシュされたスクリプトから
superglobalsにアクセスできないようだった。

同じような現象がないかとぐぐってみたら、下の記事を発見。
URLリンク(pecl.php.net)

で、記事のとおりにphp.iniで
auto_globals_jit=Off
にしてみたら、エラーが出なくなった。

以上、参考まで。


220:nobodyさん
05/12/24 01:58:37
PHPは危なくて自動アップデートなんて出来ない。

221:nobodyさん
05/12/24 02:03:29
>>220
そんなこと無いけど?


222:nobodyさん
05/12/24 11:12:17
HTML_QuickFormでapplyFilter()された値を修正画面や確認画面で、
反映表示することはできませんか?

applyFilter()された値をユーザが確認できない仕様はどうしても嫌なので、
ソースを改造してでもどうにかしたいんですけど、
ソースを見てもどこをどうすればいいのかさっぱりです。

223:205
05/12/24 20:08:38
>>219
情報ありがとう。
ただ自分の場合は、エラーが出るところまでいかず、
ブラウザが「ページが見つかりませんでした」とエラーを出します。

>>221
自動アップデート云々はおいといて、
PHP5.1.1とMySQL5の組み合わせでPDOを使用した時
接続が出来なくなりました。
接続エラーは出てないのですけども。
別サーバでPHP5.1.1とMySQL4の組み合わせでは問題なく
接続出来ました。

224:nobodyさん
05/12/24 23:06:11
PHPは平気でバグ付きでリリースされる。

225:nobodyさん
05/12/24 23:18:01
>>223

> PHP5.1.1とMySQL5の組み合わせでPDOを使用した時
こんな特殊なケースを持ち出して、

>PHPは危なくて自動アップデートなんて出来ない。
なんて言うのはちょっとあれなんじゃない?

226:nobodyさん
05/12/24 23:25:57
とりあえずオフィシャルは見ないと駄目だよね

227:223
05/12/25 00:00:56
>>225
特殊かな?
DBサーバがMySQL4でも、Webサーバに入ってるMySQLが5だと
ダメだったんだけど。Webサーバ側の方は特に関係ないかと思ってた。

>PHPは危なくて自動アップデートなんて出来ない。

それ俺が言ったわけじゃないけど。
それはそれはおいといて、こういう事ありましたよって
ただ報告しただけ。

>>226
オフィシャルにバグレポート上がってました?
見てみます。

228:nobodyさん
05/12/25 00:07:28
mysql5ってサポートされてるの?

229:nobodyさん
05/12/25 00:11:08
>>227
PHP5.1.1もMySQL5もPDOもどれもβ版みたいなものじゃん?
何に原因があるかは(このスレ的にはPHPだが)容易に特定できないのでは?
という意味で言ったのだけど。

230:nobodyさん
05/12/25 00:12:28
ぐぐれ

231:nobodyさん
05/12/27 15:14:20 6hbW+Cc+
Authクラスってどうですかね?
ソース見たらどうもいまいち信頼性のない感じだったのですが、
バグとかないですか?大丈夫ですか?
機能が機能だけに少し心配です。

232:nobodyさん
05/12/27 15:28:09
ソースを見てダメなところを発見したならもう他人がどう言おうと使うべきじゃないのでは。
機能が機能だけに。

ちなみにどこがダメだった?

233:nobodyさん
05/12/27 16:30:24 6hbW+Cc+
>>232
verifyPassword()と、DB.phpのaddUser()で cryptType の扱いに
細かな統一性が取れないらしいところとか、ずさんさを感じましたよ。


234:nobodyさん
05/12/27 18:24:59
別にちゃんと取れてると思うけど?
スタイルが気持ち悪いという理由かいな?
違うならもうちょい具体的に頼むわ。

235:nobodyさん
05/12/27 19:00:53 6hbW+Cc+
>>234
Auth/Container.php の verifyPassword() と
Auth/Container/DB.php の addUser() を見比べて見てください。
一方ではnoneが有効で、一方では無効でしょ?

こういう内部的な相違は、
いちいちソースを確認しなければならず、無駄にハマる場合があると思います。

236:nobodyさん
05/12/27 22:09:08
>>235
確かに、とはいえcryptType自体ドキュメントに載ってないみたいだし、
その機能に気づく奴はそもそもソース読んだ奴だけでしょ。
いまはuserAdd()自体の説明も削除されてるけど、昔はあったような気がするから
たんに後方互換のためだけに存在してるのかも。

PEAR::Auth つかってるけどいままで特に問題は経験してないよ。
でも気になるなら書き直したっていいんじゃない?

237:nobodyさん
05/12/27 22:31:05 6hbW+Cc+
>>236
どうも。複雑な認証を行う場合は、大抵それ用にコード書くので、
ライトな使い方で、基本動作に問題ないようなら、とりあえずOKっす。


238:nobodyさん
06/01/03 11:02:07 bVutY5ZN
DB.phpを使って、URL(URLリンク(www.google.co.jp)とか)をDBに書き込もうとすると
エラーが出るのですが、これを回避する方法はないのでしょうか?

239:nobodyさん
06/01/03 11:12:25
それなんてエ(ry

240:nobodyさん
06/01/03 11:24:23
>>238
カラムの型とかエラーメッセージを示さないでどうやって答えろと?

241:nobodyさん
06/01/04 03:11:04 LqFUITlR
Pagerで
1 2 3 4
ではなく
1-100 101-200 201-300 301-400
のような表示はできますか?

あと、Factory()のオプションの、
expanded [boolean]. もし TRUE なら、ウィンドウサイズは常に 2*delta+1 となります。
とはどういう意味でしょうか?

242:nobodyさん
06/01/06 17:18:35 vfftbldx
インストールについての質問です。

このサイトでWin版マルチバイト対応PHP5.04をダウンロードしました。
URLリンク(www.geocities.jp)

このPHPに入っているgo-pear.batがなにかおかしくて
(実行すると[Could not open input file: PEAR\go-pear.php.]と出てしまう)
PEARがインストールできません。

そこで以前使っていたPHP4に入っていたgo-pear.batをこのPHP5にコピー
してPEARをインストールしようと思うんだけど、この方法で問題なくインストール
できるでしょうか。


243:nobodyさん
06/01/06 17:22:30
>>242
ちゃんとPHPが入っているフォルダに移動(cd)してから実行した?


244:242
06/01/06 17:36:19
>243
はい。(cd)でもやりましたし、「ファイル名を指定し実行」もやりましたし、
ダブルクリックでもやりましたが
「Could not open input file: PEAR\go-pear.php.]と出るだけでした。

PHP4のgo-pear.batはダブルクリックするだけで実行されます。


245:nobodyさん
06/01/06 17:40:11
>>244
>>242のリンク先に

現状での問題点(2005/5/31)

* go-pear.bat実行時にpear.batが作成されない(pear_bat.oldをリネーム)

って書いてあるやん・・・。

246:242
06/01/06 17:48:01
>>245
それは実行するとpear.batが作成されるんですよね?
実行ができないのでなんにも作成されてないんです。

それとPEARフォルダはPHPをインストールしたときにもうできているんでしょうか。
このPHP5にはPEARフォルダが無いんですけど。

247:nobodyさん
06/01/06 18:03:52
>>246
たとえばphp-5.1.1-Win32.zipを落としてきて解凍するとPEARフォルダはある。
go-pear.batの中身を見ればわかるけど、PEARフォルダ内のgo-pear.pharを
実行してPEARのインストールをするみたいね。

その国際版になんでgo-pear.pharが無いかは知らないけど、どうせ流用するなら
PHP 5.0.4のソースを落として使ったほうがいいんじゃない?

248:nobodyさん
06/01/06 18:59:36
>>247
なるほど。PHP5をダウンロードして流用しみます。
>>243,245,247助かりました。ありがとう。

249:247
06/01/06 19:11:48
>>248
蛇足というかおせっかいだけど、マルチバイト版を使いたいのは
内部コードをSJISにしたいからだよね?

でも、5.0.4には大きなセキュリティホールがあるから、PHP 5.1.1にして
内部コードをUTF-8化することをお奨めしとく。
mb_stringを有効にしてphp.iniを適切に設定すれば、出力文字コードを
好きなエンコードに自動変換してくれるから。


250:nobodyさん
06/01/13 14:16:52 U09ztjR4
メモリのカスタマイズで1X1GBと2X512と同じ値段だけど、どっちがいいの?
1X1GBの方ですよね

251:nobodyさん
06/01/13 16:04:34
>>250
PEARとどういう関係が?
ちなみにDual CHANNELなら2枚の方が早いんじゃないの

252:nobodyさん
06/01/15 00:22:45
これって何て発音するの?

253:nobodyさん
06/01/15 09:39:06
ペァーーーーー

254:nobodyさん
06/01/15 15:07:33
ぴあで言い慣れてしまっている。

255:nobodyさん
06/01/15 15:11:17
DB と MDB と MDB2 の違いっておおざっぱに言って何?

256:nobodyさん
06/01/15 15:30:30
実績ならDB、熱いのはMDB2、MDBは放置プレイ。
MDB2 FAQ: URLリンク(oss.backendmedia.com)

このところMDB2が怒濤の勢いでFixされてて、いよいよstableリリースが近づいてきた感じ。
今後はPDOのラッパにもなりそう。あと、URLリンク(pooteeweet.org)
によるとDBを使ってるPEARパッケージでもMDB2がサポートされていくみたい。

257:nobodyさん
06/01/15 16:05:17
心の中ではペアと読んでる

258:nobodyさん
06/01/15 16:23:57
>>256
thx

ついでに、こいつらで PHP 4 で SQLite が安心して使えるようになる
可能性って低いかねぇ? PHP 5 でバッチリサポートされちゃったし、
オレならモチベーション上がらないだろうなーと思うんだけど。

259:nobodyさん
06/01/15 19:35:41
pearはペア派です。
nethackのitemでおぼえますた。
DBはぽすぐれおんりーになってきた最近です。

260:nobodyさん
06/01/15 21:04:18
人には「ペアって読むんですよ」と教えつつも
心の中ではピアって読んでるワタクシ

※「ペア」が正解だと公式サイトに書いてあります
URLリンク(pear.php.net)
> is pronounced just like the fruit

like the fruit > URLリンク(dictionary.goo.ne.jp)

261:nobodyさん
06/01/16 01:20:18
クライアントの前ではピアと読んでいる、(クライアントがそう読んでいる)
が、心の中ではずっとペアと読んでいる。


262:nobodyさん
06/01/16 03:01:05
>>258
低そうですねー。
PHP5でしか使えないOOスタイル(SQLiteDatbaseクラス)が
PHP4でも使えるようになると嬉しいんだけど...

263:nobodyさん
06/01/16 03:26:32
ペアって読んでる。
関係ないけどCPANは読み方分からなくてシーパンで癖ついちゃったけどクパンって読むらしいね…。

264:nobodyさん
06/01/16 08:22:07
>>263
ちょwww工作員wwwwww

265:nobodyさん
06/01/16 12:48:16
URLリンク(dictionary.goo.ne.jp)

266:nobodyさん
06/01/16 12:49:50 G/ZbNFBV
梨でしょ


267:nobodyさん
06/01/16 20:21:44
梨だよな。明らかに

268:nobodyさん
06/01/16 21:43:18
梨に間違いナシ

269:nobodyさん
06/01/16 22:13:54
>>268

270:梨元
06/01/17 08:37:22
恐縮です

271:nobodyさん
06/01/17 12:36:46
梨の絵かいてあんだろ

272:nobodyさん
06/01/24 23:42:32 6JXx7sTK
php5.1.2インストール済みのWin2000 ServerにPEARをインストールしようとして、
リモートデスクトップで接続し、DOS窓からphpのインストフォルダに移動して、
>go-pear.bat
と入力しても何も応答がありません。

ちなみにWinXPのパソコンでは、Welcomeが出てきます。

なぜでしょうか?

273:nobodyさん
06/01/25 00:43:07
Spreadsheet_Excel_Writerって文字化けするよね。

274:nobodyさん
06/01/25 00:50:13
キャッシュはメンテナいないCacheよりCache_Lite?

275:nobodyさん
06/01/25 20:15:19
>>273
PHPのやつは古いんで、かと言って最新のPerlのやつを移植するスキルもないので、
ブリッジ作ってPerlのやつ使ってます

276:nobodyさん
06/01/26 00:00:05
Pager で、リンクに hoge.php?pageID=1#top
みたいにページ内リンクをつけるのって出来ますか?

277:nobodyさん
06/01/26 09:51:22
HTML_QuickForm_Controller+smarty使って
携帯用のフォーム作りたいんだけど
URLリンク(wiki.poyo.jp)
に「HTML_QuickForm_ControllerはHTTPヘッダのLocationを使用します。
ですので携帯電話用のフォーム処理には向きません」との記述。

実際作ってみたんですがやっぱり動かない。
どこの処理でLocation使ってるんですか?

出来上がったソースみても書いてないし。
↓参考にしたソース
URLリンク(blog.snoritake.com)

278:nobodyさん
06/01/27 09:19:29
普通に考えたらライブラリの中で使ってるってことだと思うんだけども

279:nobodyさん
06/01/27 17:30:12 zienXgmO
やっぱりAuthクラスっていけてないですね。

PHP5でエラーが出たので、ちょっと見たのですが、
コンストラクタの$options引数が、コンテナによって、
配列だったり、文字列だったりするのだけど、
どちらの場合も、ごちゃまぜに処理してしまっていて、
これがエラーの原因になっています。

よく使いそうな役割のクラスだけに、
もうちょっとしっかりしたコードにしてほしいもんだ。

280:nobodyさん
06/01/28 13:54:13
>>279
そこでおまえがコミットですよ

281:nobodyさん
06/02/01 12:15:51 FRDzC7Md
AuthクラスのgetAuthとaddUserについて質問です。

次レスのようなシンプルなソースを作りましたが、
addUserでは必ずTrueが、getAuthでは必ずFalseが返ってきてしまいます。

addUserはTrueでも実際には動作してないです。エラーも出ません。
getAuthはgetStatusに変えたら正しく動作しました。
同様な現象になったことがある方いませんか?

このままですと、getAuthやaddUserだけでなく他にも挙動がおかしいもの
がでてきそうな気がします。正しく動作させる方法を教えてください。

環境:
PHPは4.3.10ですが、デフォルトで入っているPEARの挙動が
おかしかったので URLリンク(pear.php.net) ここから
AuthとDB関連のクラスは入れなおしてます。
register_globals は Off です。

282:nobodyさん
06/02/01 12:16:27 FRDzC7Md
>>281 のソース

<?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>";
}
?>

283:nobodyさん
06/02/01 18:05:00
PEARでXMLを扱う場合におすすめなのは、何ですか?

284:281-282
06/02/01 20:51:33
>>281-282
気のせいでした。。。_| ̄|○ il||li
接続設定が違っていた模様・・・

スレ汚しスマソ(´・ω・`)ショボーン

285:192.168.0.774
06/02/02 10:25:44 rSyssRqD
>>283
PEARじゃなくともSimpleXML使えばお腹いっぱい

286:nobodyさん
06/02/02 11:09:31
>>285
PHP4なのでお腹いっぱいになりません…

287:nobodyさん
06/02/02 13:28:02
>>285
しらなかった・・・
PHP5なのにxml_parse()使ってたorzorzorz

288:nobodyさん
06/02/02 14:23:19
>>286
URLリンク(www.ister.org)
にPHP4用のSimpleXMLらしきものがあるので、試してみては?


289:nobodyさん
06/02/02 14:36:37
>>288
へー。初めて知りました。
PEARのXMLを扱うやつと比較しながら
ちょっと試してみます。ありがとやん。

290:nobodyさん
06/02/09 12:10:45
HTML_QuickFormのaddRuleでhiddenの値(one-time token)をvalidateしようとしています。

なぜか全く反応しません。
requiredにも無反応。raiseErrorにもひっかからない。

hiddenの値をvalidateするにはどうすればいいですか?

291:nobodyさん
06/02/09 13:01:42
>>290
マルチ

292:nobodyさん
06/02/10 05:41:05
>>290
呪文を唱える(マジ)

293:nobodyさん
06/02/10 14:03:44
>>292
マジで呪文を唱えてみました

効果がありませんでした。
とりあえずソースにデバッグコードを埋め込んだりして、動きを追っています。
mojavi + HTML_QuickForm + smarty という構成なのでそのどこかにバグがあるのでは
と思っています。

今このあたりを調べ中…(3日もコーディングが進まない…)
$form->accept($QFrenderer);

294:nobodyさん
06/02/10 19:31:43
>>293
>mojavi
だったら、根本的な解決にならんけど、

Acrionのinitialize()あたりでチェックする。

295:nobodyさん
06/02/11 06:24:10
>>290
ソース出してみ

296:nobodyさん
06/02/11 15:27:57
こんなのでも動かないよ
仕様じゃないかと思われるから要望だそうかと思うけど

$form->addElement('hidden', 'test', '');
$form->addRule('test', 'test is required', 'required', '');


297:nobodyさん
06/02/13 22:58:45 pnT1I5vq
MDB2 SQLite リリースあげ
URLリンク(pear.php.net)

298:nobodyさん
06/02/14 16:45:17
なんでPERLと似てんの?意識してんの?

299:nobodyさん
06/02/14 20:28:20
SQLiteってそんな使ってる人多いの?

300:nobodyさん
06/02/14 22:59:00 nEcRuD6a
SQLite ならデーモンの管理や権限の管理が要らないから
DB の使えるホスティングが増えるんじゃないかなーと
期待してる


301:nobodyさん
06/02/15 07:32:02
PHP ではあんまり流行らないかもねぇ
まだ日本語ドキュメントがあんまりないし


302:nobodyさん
06/02/15 08:08:14
仕事では使った事ないけど、遊びで使う時には便利だったな。@windows
DB周りの設定のようなロジックに関係無い部分に気を使う必要がないから、すぐに作り始められる。

3への移行時期あたりに本家のドキュメントを手当たり次第に訳してどっかにうpした記憶があるんだが、URLわかんね。
地道に検索すりゃ見つかるんじゃないかな。
つか、他のDBと比べた時に多少制限があるくらいで、そこさえ押さえておけばあんまり意識する必要がなかったような。

303:nobodyさん
06/02/15 09:19:32
管理用のツールはこの辺
URLリンク(www.debianhelp.co.uk)

304:nobodyさん
06/02/16 08:01:48
URLリンク(rakuto.net)

305:nobodyさん
06/02/18 02:28:12 Fc1AYhHK
AuthをmacのMAMPで使ってみた。
URLリンク(pear.php.net)
の一番上にある最もシンプルなスクリプト実行してみたが、認証できず5時間くらい格闘中。
MAMPではmysqlのポートが8889になってしまうので、$dsn = "mysql://ネーム:パスワード@tcp(localhost:8889)/データベース名"
としてみたが、いっこうに動かず。Authのバグかなこれ??

しかもphp5だとこのスクリプトは動かず、外人どももご立腹な様子。
URLリンク(pear.php.net)

306:nobodyさん
06/02/20 17:00:30
HTTP_Clientでproxy使いたいんですが、どうやればいいんでしょうか

307:nobodyさん
06/02/20 17:31:46 vRXDRBjP
>>306
気のせいだよ

308:nobodyさん
06/02/20 22:23:00
誤爆?

309:306
06/02/24 11:11:37
extendsしたクラスを作って、直接メンバのHTTP_RequestのsetProxyをするクラスを自作しました…
意外と簡単だった

310:nobodyさん
06/02/24 17:52:14
HTTP_Client で new HTTP_Request してる所と HTTP_Request のコンストラクタをちゃんと読んでれば
継承したクラスを作らなくても済んだのに。

311:306
06/02/27 16:21:13
読みました。
出来ました。
ありがとうございました。

312:nobodyさん
06/03/06 13:38:45
QuickFormのdateで月日の範囲指定をしたいのですが、
minYearみたいなオプションはないのでしょうか?
もしくは、それに変わるものみたいな・

313:nobodyさん
06/03/08 17:54:45
HTML_QuickFormのfileってfreezeすると使えないんですか?

314:nobodyさん
06/03/08 17:55:18
ageる

315:nobodyさん
06/03/08 22:51:49
>313
デフォでは何も出ない。
自分で拡張するべし。

316:nobodyさん
06/03/08 23:00:23
>>315
さんくす
考えてみます

317:nobodyさん
06/03/08 23:06:37
PEARにHTMLパーサってありますか?

318:nobodyさん
06/03/09 03:59:13
HTMLを読み込んでDOMを作るようなやつを望んでる?

PEARにはないけど、PECLにひとつあるみたいね。
html_parse
URLリンク(pecl.php.net)

特定のタグをの使用を制限したいとかの理由なら

tidy
URLリンク(pecl.php.net)

SafeHTML
URLリンク(pixel-apes.com)

なんてのがある。(どっちもPEARじゃないね)


319:nobodyさん
06/03/09 15:06:39
PEAR::XML_HTMLSax

320:nobodyさん
06/03/12 16:46:29 UjH0HOBY
こんな日本専用パッケージ通るのか?
URLリンク(pear.php.net)
中身はたいしたことないけど、期待age

321:nobodyさん
06/03/12 16:52:02
コメントで色々言われているけど、
そのコメント自体が結構参考になる。

322:nobodyさん
06/03/12 20:13:55
>>320
imodeはギリギリOKだと思ったが、hatenaは日本のリポジトリに突っ込むべきかと。
(まあAmazonだって全世界サービスとは言えないか)

URLリンク(ns1.php.gr.jp)
これまだなんかね。

323:nobodyさん
06/03/17 00:04:48
livedoorはOKだからはてなもOKじゃないの?

324:nobodyさん
06/03/17 01:36:33
つーか、承認されてるし。達成したという事実はすげーかと。

325:nobodyさん
06/03/28 04:03:40 y/Gmg3I1
DB_DataObjectのjoinAdd()で、

LEFT JOIN hoge_table ON id = hoge_id AND code = hoge_code

のように、2つの要素をANDで指定できますか?


326:nobodyさん
06/03/28 04:34:16
>>325
できない.

プライマリキーがひとつしかないテーブルにしか対応しないと思った方がいいと思う.
(これは joinAdd() に限らず DB_DataObject 全体にそんな傾向がある気がする)

普通の INNER JOIN なら whereAdd() を併用すると何とかなったりするんだけど,
LEFT JOIN は自分も前に頑張ったけどダメだった.
そして言い訳のようにマニュアルには「joinAdd() がややこしくなってきたら
生 SQL 食わせちゃった方がいいっすよ」とか書いてあるw

327:nobodyさん
06/03/28 04:45:36
>>326
散々格闘した挙句、同じく生SQLで解決しちゃいました。
できそうでできないってのが曲者ですな。。

328:nobodyさん
06/03/28 05:35:19
う。生SQLで解決と思ったのですが、別ライブラリとの連携の関係で、
これは解決策にはなりませんでした・・・。うーん。

329:nobodyさん
06/03/28 06:35:46
生 SQL って DB_DataObject::query() 使ってる?
別ライブラリってのがどういうものかわからないけど,

> $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 が使えないってことじゃないかって気がする.

330:nobodyさん
06/03/28 12:02:04
>>329
query() 使ってます。
別ライブラリというのは PEAR Structures_DataGrid です。
これは、こちらが渡した DB_DataObject のオブジェクトを、
追加操作してFetchするため、こちらで生SQLを発行しちゃうと
残念ながら効果がなくなるようなんです。

331:nobodyさん
06/03/28 13:22:07
あちゃあ.なるほど Structures_DataGrid か……

DataObject を継承したクラスを作って,
find() の時にオリジナルクエリを決め打ちで流すようにして,
Structures_DataGrid にはそいつを渡すってのはどうかな?

その場合は,Structures_DataGrid の _detectSourceType() を
get_parent_class() でなく is_a() を使うように変更したらさらに楽にいけるかも.

332:nobodyさん
06/03/28 16:02:45
いやぁ、Structures_DataGrid に DB_DataObject を渡すのは、
Structures_DataGrid に適切なLimitをセットしてもらって、
データ取得件数を最適化してもらいたいからなんです。
だからオリジナルクエリを決め打ちで流すのは効果なさそうだと。


333:nobodyさん
06/03/28 17:47:00
困難やねw

LEFT JOIN とかを適切に行なうビューを create view して
そのビュー用の DB_DataObject を作るってのはどないだ

334:nobodyさん
06/03/28 19:15:53
>>333
なるほど〜 それならできそうな気がします。

335:nobodyさん
06/04/03 15:39:54 mvo6jAJ1
PEAR::Pager で、

  URLリンク(sample.com?ID=1&pageID=1)<)

みたいにpageID以外の変数(ここでは ID)をページごとに変える方法ってありますか?

336:nobodyさん
06/04/03 19:48:56
Pager に pageID 以外の変数を管理させたいってことだと違うかもしれないけど,
とりあえず extraVars オプションを使ってみてはいかが.

337:nobodyさん
06/04/06 14:05:03 gNYW2zNb
>>335
とんくすです。extraVarsの解説してるサイトってあまりないんですよね。

value=1 みたいに静的な変数は付加できるけど、value=%dみたいなこと
ができないみたいで…。



338:nobodyさん
06/04/06 14:06:54
>337
pageIDを使うのじゃだめなのか? 何がしたいんだか分からん。

339:nobodyさん
06/04/06 14:28:24
>>337
なんで pageID 以外に同じ値を冗長に持たせたいのかわからん.
単に変数の名前を変えたいだけなら urlVar に 'ID' を指定.
あるいは extraVars で 'ID' の値として $_REQUEST['pageID'] を指定してやるとか.
挙動を変更したいなら Pager_* を継承したクラスを作ってそこでやるとか……

340:nobodyさん
06/04/07 11:36:01
PEAEの日本語マニュアル的な物はないの?

HTML_QuickForm で 「denotes required field」って部分を日本語に置き換える方法って無いでしょうか?
マニュアルがあればこの辺も調べたいんですが・・

341:nobodyさん
06/04/07 13:19:09
この辺は見たのかい?
[PHP-users 23103]QuickForm::addRule() requiredを使用したときに表示される"* denotes required field"を変更したい
URLリンク(ns1.php.gr.jp)

342:nobodyさん
06/04/07 14:14:44
>>341
ありがとうございます!
URLリンク(pear.php.net)
これですね。

$form->setRequiredNote('<font color=red>*</font>は必須項目です。');

って感じで出来ました。

343:nobodyさん
06/04/07 14:17:39
「denotes required field」でぐぐると先頭だったのだが。。。

344:340,342
06/04/07 14:32:22
ごもっとも・・ orz=3

345:nobodyさん
06/04/11 18:36:04
アカウントに認証はありますが、アカウントの作成に関しては何か用意されているのでしょうか?


346:nobodyさん
06/04/14 18:17:06 ztoDRCLM
以前wampp2を使っていて、
今はxamppを使っています。
pear config-show
をすると、ディレクトリの設定などがwampp2当時のままになっていました。
xampp側で再設定するにはどうすればいいのでしょうか?

347:nobodyさん
06/04/14 18:26:29 STB/6fVF
>>346
たぶんパス通ってないだけだよ。

348:346
06/04/14 19:12:42
>>347
ありがとうございます。
古い環境変数を削除して、pathを通して、
再起動させたら、直りました。
batファイル内を見たら環境変数がなければ再設定しているようなので、
環境変数が邪魔していたようです。

349:nobodyさん
06/04/24 01:19:24
ディレクトりの階層をwindowsのエクスプローラみたいに
したいんですけど、pearでそんな都合がいいもんないですかね?

350:nobodyさん
06/04/24 01:26:53
DOMの勉強をしているんですけど、
$doc = new DOMDocument();
$doc->load('test.xml');

var_dump($doc);

これだと、オブジェクトのID返すだけなんですね。
$docがどんな状態かすぐに調べる方法ってありますか?


351:nobodyさん
06/04/24 09:04:54
>>349
再帰glob

352:nobodyさん
06/04/25 23:23:53
ファイルのアップロードをするためのライブラリってあります?

353:nobodyさん
06/04/25 23:40:55
このぐらいは、まずは自分で探そうぜ>>352
URLリンク(pear.php.net)

HTTPでアップロードするんじゃないのなら、その条件を提示

354:nobodyさん
06/04/30 01:25:55 TxzAQxO9
某レンタルサーバー(共有サーバー)で、HTTP_REQUESTを使用したかったんで、
PEARを手動インストールしています。
目的のHTTP_REQUESTは動いたのでいいんですが、
PEAR_infoが動きません。PEAR基本パッケージ?以外に何かインストールしないといけないんでしょうか?

355:nobodyさん
06/04/30 10:12:45 TxzAQxO9
連カキコすません。
Console_Getoptが必要のようだったので、インストールしました。
で、結果は動きません。エラーログすら吐き出さない・・・。
PHP_info.phpにアクセスすると、しばらくたって白紙画面になります。
なにか、案などありませんでしょうか?

356:nobodyさん
06/04/30 11:54:05
手動でモジュール入れたんだったら
そもそもPEAR_Info使ってもしょうがないんじゃね
手動で入れたやつは情報見れんよ確か

357:nobodyさん
06/04/30 12:26:03
propelがわかりやすく開設されたサイトないか?

358:nobodyさん
06/04/30 12:37:11
>>356
レスどもッス。
そうなんすか。手動だとPEAR_Info動かないんだ・・・。
確かに、PEAR_Infoなくても問題ないんですけど、動かないってのがまず気になったのと、
時間がたって、「あれ?なに入れてたっけ?」で確認できたら便利かなと。

必要なモジュールは入ってると思うんだけどなぁ・・・。

359:nobodyさん
06/04/30 12:40:38
prototype.jsベースのajaxライブラリってない?(APIが、RoR互換)

サイボウズの奴見つけたんだけど、メンテしてないようで、prototype.jsが1.4.0だとエラー...
あとAPIが今イチ使いづらい。


360:nobodyさん
06/04/30 12:50:03
>>358
それぞれのファイルでrequire_onceしてるのを辿っていけば良くね?

361:nobodyさん
06/04/30 15:22:45
>>360
Console_Getoptは、その方法で必要ってのはわかったんですけど、
他に必要そうなものが見当たらないんですよね。
ログが出ればわかるんだろうけど、なんでログでないんだろ。
ログは、別のPHPで適当にエラー起こすとちゃんと出るのに・・・。

362:356
06/04/30 21:10:32
>>358
いや、手動で入れたPEAR_Infoが動かない、ってことじゃなくて
手動で入れたPEARモジュールのディレクトリ指定して
PEAR_Infoの一覧にその手動で入れたモジュール一覧って表示できたっけなあと
PEAR_InfoってPEARのパッケージマネージャが作成する
レジストリファイルを参照してどんなPEARモジュールが入ってるかを
表示してたような気がする、、、って書いてて自信なくなってきたや

ええと、手動で入れたモジュールが表示されるかどうかは別として
ただ白紙とか動かんってことは何かミスがあるかと思う
動くのは動くはず

363:359
06/05/01 04:52:20
symfonyのJavascriptHelperが使えそ。
スレ違い、すま


364:nobodyさん
06/05/01 12:43:13
>>362
なるほど。いろいろいじってたら、時々エラーログが出たりする・・・。
ログは、
PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home/httpd/vhosts/ドメイン名/httpdocs/PEAR/PEAR/Registry.php on line 161
で、Registry.phpでエラーが起こってるってことなんすね?
該当の場所は、
function hasWriteAccess()
{
if (!@file_exists($this->install_dir)) {
$dir = $this->install_dir;
while ($dir && $dir != '.') {
$dir = dirname($dir); // cd ..
if ($dir != '.' && @file_exists($dir)) {  ←ここが161行目
if (@is_writeable($dir)) {
return true;
} else {
return false;
}
}
}
return false;
}
return @is_writeable($this->install_dir);
}
ん〜どうしたもんかな・・・。


365:nobodyさん
06/05/01 14:47:38
再度、連カキコすません。
PEAR_infoが動かない原因がわかったっぽい・・・。
Info.phpのソースを追っていてわかったのは、
共有サーバーなので、/usr/share/pearにアクセス権がないのが根本的な原因っぽいっす・・・orz
で、pear_info.phpのnew PEAR_Infoのときに、
new PEAR_Info("ローカルインストのPEARディレクトリのパス","????")
に変えてみたら、エラーログは出るようになりました。
で、PEAR_Infoの第2引数は、何を入れればいいんでしょ?
PEAR_Infoの中で、new PEAR_Configのときに必要な引数なんですが、
マニュアルによると、
string $user_file
file to read user-defined options from
なんだそうで。手動インストした場合、なんのパスになるんでしょうか?



366:nobodyさん
06/05/01 23:14:35
なんでメモ帳にしてる奴がいるの?

367:nobodyさん
06/05/02 12:40:26
2chなんて馬鹿でかいソーシャルネットワークメモ帳みたいなもんだろ

368:nobodyさん
06/05/03 21:31:31 V5QcZDri
PEARのDB.phpを使って、以下のスクリプトを繰り返したいのだけど
どうすればいいですか?(sqlite)

while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}
ここに一文必要?
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}

369:nobodyさん
06/05/03 22:43:29
>>368
mysqliでしか試してないけど
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}
$i=0;
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC, $i++)){
print $row[id];
}

370:nobodyさん
06/05/04 02:46:46 q11ggjCH
>>369
できました。ありがとうございました。

371:nobodyさん
06/05/04 13:15:32
HTML_QuickFormでのアップロードは今後推奨されないようなのですが、
HTML_QuickFormを使っている人はどのようにアップロードを実装したらよいですか?

372:nobodyさん
06/05/04 15:40:50
>>371
個人的にはQFを捨てるのがいいと思うけど
QF使ってた時はFileエレメント継承して
自前で拡張Fileエレメントを実装してた

373:nobodyさん
06/05/04 16:10:53
>>372
それ公開してもらえないですよね…?

374:nobodyさん
06/05/04 19:09:05
>>371
枯れてるし、特にこだわりや不具合がなければそのまま使ってもいいんじゃない?
今後っていっても大幅な改良があるか分からんし
結構好きなパッケージだったんだけどな

375:nobodyさん
06/05/04 19:44:11
>>373
公開するほどのもんでもないしさ
推奨されてないとはいえアップロード周りの処理自体は
QFのFileエレメントに元から実装されてるし
普通にFileエレメント使えばいいと思う
ただ元のままではfreezeできんから
そこは拡張したってだけで

376:371
06/05/04 20:53:39
推奨されていない理由ってセキュリティ的な問題ですか?

freezeできないと何が困るかわからないので…

QFの説明をあちこちで読んだのですがfreezeってなんですか?


377:nobodyさん
06/05/04 20:58:07
動いたら撃つぞだっけ?

378:nobodyさん
06/05/04 21:11:33
つまんね

379:nobodyさん
06/05/05 03:45:29
>>372
371じゃないけどなぜQFを捨てた方がいいと思ってる??
他にいいのがあるなら知りたいと思って。



380:nobodyさん
06/05/05 05:12:05
>>378
わからずに死んだ奴もいるんだから、それで片付けるなよ

381:nobodyさん
06/05/05 10:40:02
>>376 >>380
>>377は俺じゃねえw
非推奨なのは将来的にサポートされないからだっけ
freezeは各エレメントのリクエストをhiddenで
埋め込んだ状態にする、確認画面とかで使う

>>379
うーん、多機能なだけに全部QFでやろうとすると
QFのコードがMVCの色んなとこに分散しちゃうような気がする
組み方が悪いだけかもしれないけど
チーム内全員がQFを熟知してるならいいけど
0の状態から完全になじむのには時間のかかるパッケージだと思う

382:nobodyさん
06/05/05 16:48:20
>>381
なるほど。細かい説明サンクス。

確かに学習コストは意外にかかるな。
でもjavascriptを自動で吐いてくれる魅力には勝てないww

fileは、セキュリティ的に問題があるのかと想像していたのだが
そういう意味ではなかったのか。


383:nobodyさん
06/05/06 00:29:52
Maple で Filter_QuickForm なんてのを自作してやってるけど
分散するって感じにはならないなぁ
Filter で QF のオブジェクト自体と画面遷移を管理
エレメントはロジックの方で作成〜みたいな
まぁつまりやり方次第であって QF 使ったら必ず MVC が汚くなるとかそういうことじゃないぞと

学習コストがけっこうかかる点は同意
あとJSを自動で吐く魅力にも激しく同意w

384:nobodyさん
06/05/06 22:04:49
>>383
確かにうちでもMVC的には問題ない

それより何かトラぶった時と、何かちょっとしたことをしようとした時に
調べたり面倒なことが多い。
情報も少ないし。

ところでCSRF対策のトークンをhiddenに仕込んでいるのだが受け取り側で
hiddenだけチェックしてくれないのだけどどうしてる?

385:nobodyさん
06/05/06 22:32:16
情報はもうソース読むしかないってのがちょっとね……
まぁほとんどのPEAR物はそんな感じな気もするけど

> hiddenだけチェックしてくれないのだけどどうしてる?

ビミョーに意味がわからないが
フォームの hidden 要素に初めから固定で値を入れておきたい時は
setConstants() を使って入れてる
……ってそういう話じゃなく?

386:nobodyさん
06/05/06 22:47:00
addRule('hidden')って実装されていないらしいので、トークンの照合ができないのです。

ページ1 hiddenにトークンを入れる
ページ2 sessionのトークンとhiddenから送られて来たトークンが同じものかチェック

これができなかったのです。

387:nobodyさん
06/05/07 02:20:02 dJnoXYUq
数値としてのminとmaxのチェックがデフォルトで無いのはなんとかならなかったんだろうか

388:nobodyさん
06/05/07 11:38:03
>>386
理解した
hiddenの値がどうこうというより,
固定値と入力値との数値比較チェックがデフォルトで Rule として搭載されていないってことね

HTML_QuickForm_Rule_Compare や HTML_QuickForm_Rule_Range をベースに
固定値との比較をするような Rule を作ってしまえば簡単なんだけど
いちいち addRule() するだけでも面倒だよね……

389:nobodyさん
06/05/07 22:28:08
むしろちゃんと説明してなかったかも

CSRF対策のためにチケットを発行し、そのチェックをしたいのです。

1. ページ1でチケットを発行。セッションとページ1のhiddenに埋め込む
2. ユーザがPOSTする
3. セッション内のチケットとPOSTされたきたhiddenのチケットが同じであるかどうか
の照合をしたい

ということです。
addFormRule() を使うという手もあるかな?
うーん、よくわかんない...

390:nobodyさん
06/05/07 23:03:47
>>389
たぶんその通りに理解できてると思うが.
addFormRule() なら何でもアリだね.

create_function('$values', 'return $values["ticket"] == $_SESSION["ticket"]')

みたいのを addFormRule() する,と.
(テキトーに書いたので動かして確認はしてません)

391:nobodyさん
06/05/07 23:15:10
>>390
早速試してみましたができませんでした…

マニュアル読んでもaddFormRule()の使い方がわからんのですよね。
引数のmixedはどう使うのかと…

392:nobodyさん
06/05/08 00:01:43
ソース見てやっとわかった。
マニュアル見ても書いてないんだもんなー。

結局ソース読まなきゃいけないという学習コストの高さはやっぱりたまにキズだな
addFormRule
* @param mixed Callback, either function name or array(&$object, 'method')

オブジェクトとメソッドで渡せるようだ

393:nobodyさん
06/05/08 07:44:43 ZvSis4Rx
URLリンク(hatotech.org)

394:nobodyさん
06/05/08 08:17:28
流れぶった切ってすまんが、ドキュメントの有無も
そうなんだけど、Pear パッケージはテストを必ず
つけろってルールにしてくれんかなと思う。

CPAN とのいちばんの違いはもちろん量だけど、
質の違いはテストの有無に起因するんじゃないかと
思う今日この頃。


395:nobodyさん
06/05/08 11:24:03
>>393
Thanx. かなり検索しているけど知らなかったいい資料ですね

tokenのvalidateもfreezeするとhiddenに前のtokenが入ってしまうという
また面倒なことになった

あー、QFってこういうところマンドクセ


396:nobodyさん
06/05/08 12:54:43
>>394
ん、テストは各パッケージについてるよ

397:nobodyさん
06/05/08 18:05:21
>>394

テストあるっつったって、ただのスケルトンの場合も多し>CPAN


398:nobodyさん
06/05/11 13:30:14 0g4oanFp
Spreadsheet_Excel_Writerについての質問です。
(平行してPHP質問スレッドにもマルチしてます。)
・・・微妙に質問内容が違うってことで容赦いただければと思います。ゴメンナサイ。

Spreadsheet_Excel_Writerで、データを落とし込んだファイルにパスワードをつけることはできますか?
要はSaveAsメソッドの設定ができるかどうかってことなのですが・・・
どうにも資料が見当たらないので、何か情報をお持ちの方がいらっしゃったら教えてください。


399:nobodyさん
06/05/11 14:31:52
ソース読んだらいいじゃない。

400:nobodyさん
06/05/11 15:45:09
>>398
ないよ
xlsのファイルフォーマット解析して自分で実装

401:nobodyさん
06/05/11 17:32:00
分からないなら答えなくていい

402:nobodyさん
06/05/11 17:48:52
【意味無し黄金パターン】

質問掲示板に

質問する

「自分で調べろ」

【意味無し黄金パターン その2】
質問掲示板に

質問する

「ソース読め」


403:nobodyさん
06/05/11 18:38:40
>>402
どっちも同じだろ
得意げに知ったかぶりやがってワロス

404:nobodyさん
06/05/11 20:31:52
「PEAR入門」に乗っているQuickForm_Controllerの
wizard.phpの住所のところが文字化けする。

不思議なのは、addressをすべてaddress1とかに変更すると
なぜか直ること。

日本語関係だったらまだわかるんだが。

405:nobodyさん
06/05/11 21:18:03
ソース読んだらほんとにすぐにわかることって多いですよ。
初心者でもトライしてみる価値はあるんじゃないでしょうか。

とか書いてみるテスト

406:nobodyさん
06/05/11 21:21:19
>>405
いや、それマジで勉強になるよ。初心者こそやるべきだと思う。
スポーツの世界でもよく言うが、「見るのも勉強」ってほんとだと思う。
それに、書いてあることが解るようになるとなんだか嬉しいし。


407:nobodyさん
06/05/11 21:35:10
じゃあLinuxのソース読んでバグさがしてくれ。

408:nobodyさん
06/05/11 21:40:27
>>407
お前のような奴がいるからペチパーは馬鹿にされるんだよ・・・。

409:nobodyさん
06/05/11 21:42:53
ピーチクパーチクうるせーぞ

410:nobodyさん
06/05/12 07:32:16
>>407
CのソースでもPHPのソースぐらいならたまに見るけどLinuxは見る気もしないです

411:nobodyさん
06/05/12 14:15:54
ビーチクビーチクなめてーぞ

412:nobodyさん
06/05/12 14:26:06
>>398
そもそもファイルにパスワードを付ける必要性は?
それぞれにパスワードつけて管理できんの?
つーかファイルにつけなくてもいーんじゃね?
そんな大事なもんだったら別の面でセキュリティ考えた方がよくね?
とかどうだい

413:nobodyさん
06/05/12 19:18:04
>>412
念には念つー意味じゃありじゃね?

414:nobodyさん
06/05/13 15:23:27
Spreadsheet_Excel_Writerてもうメンテしてないんじゃなかったっけ

と思って見に行ったら年末にbetaが出てたのね

415:nobodyさん
06/05/15 01:18:18
PHPで片っ端からパスワード試すスクリプトでも書けば突破できそうな悪寒。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4346日前に更新/213 KB
担当:undef