1 名前:nobodyさん [2005/08/01(月) 21:27:12 ID:pG+mahP3] 落ちてたんで立てとく ■PEAR pear.php.net/ ■前スレ Pear pc8.2ch.net/test/read.cgi/php/985665522/
676 名前:551 mailto:sage [2007/01/14(日) 17:44:09 ID:???] >>675 ありがとうございます! dateは便利でどうしても使いたかったので 助かりました!
677 名前:nobodyさん mailto:sage [2007/01/16(火) 06:37:44 ID:???] PHP の拡張って Windows 上では開発できないんだろうか。 いま Linux 上で phpize などを使って拡張を作ってるんだけど、 Windows 上の PHP で使えるバイナリくれといわれて途方に暮れる。 Windows には phpize も autoconf も m4 もないし・・ Cygwin で作るの?
678 名前:nobodyさん [2007/01/16(火) 06:46:23 ID:zR0oRC8J] うむむしかし PECL for Windows なんてのがあるようだぞ? Creating Extensions の vijay によるコメントでは php.benscom.com/manual/en/zend.creating.php config.js が用意されていて、m4 で記述された config.m4 の代わりに JavaScript (JScript ?) で記述された config.w32 が必要なのだそうだ。いずれにしろできないことはないらしい。
679 名前:nobodyさん [2007/01/18(木) 01:48:09 ID:3ixzqDHl] すいません、ちょっとお知恵をお借りしたいのですが。。。 HTTP_Clientにて $client =& new HTTP_Client(); $client->get($url); $response = $client->currentResponse(); こんな感じで、指定URLでのレスポンスが取得出来ると思うのですが 取得した先のURLを得ることは可能でしょうか?
680 名前:nobodyさん [2007/01/18(木) 02:08:14 ID:7qn+G2a8] echo $url;
681 名前:nobodyさん mailto:sage [2007/01/18(木) 09:59:01 ID:???] PEAR DBについてなんですがデータベースへの接続に失敗します echo "1"; $this->db = DB::connect($dsn); echo "2"; if(DB::isError($this->db)){ $this->error = $this->db->getMessage(); return false; } とかやっても 2 が出る前に死んでしまって何も表示されません どんな原因が考えられるでしょうか?詳しい方ご教授お願いします
682 名前:nobodyさん mailto:sage [2007/01/18(木) 10:51:18 ID:???] >>681 ・$dsnが通ってない ・$this->db=&DB::connect($dsn);じゃない?
683 名前:679 mailto:sage [2007/01/18(木) 11:15:02 ID:???] >>680 さん すいません、説明が足りませんでした。 $urlに入ったURLで別のページにリダイレクトされるのです。 そのリダイレクト先のURLを取得したいなと思っています。 リダイレクト先のBODYは取得できるのですが。。。
684 名前:nobodyさん mailto:sage [2007/01/18(木) 16:56:34 ID:???] >>683 http header でリダイレクトされるんなら $response['headers']の中に入ってんじゃね? metaタグなら$response['body'] の中を探すしかないだろうね。
685 名前:nobodyさん mailto:sage [2007/01/18(木) 18:29:17 ID:???] PEAR:Authを使って、ユーザ認証させようとしています。 ストレージドライバがDBの場合は、問題なくできていました。 が、今回、Fileを使う必要がで出てきたんですが、これがうまくできません。 $params = array("type"=>'Cvs',"file" => "/hoge/hoge/passwd.txt"); $mymyAUTH = new Auth( "File", $params, "myLOGIN" ); $mymyAUTH->start(); $loginStatus = $mymyAUTH->getAuth(); としてるんですが、AUTH_WRONG_LOGINが戻ってきます。 passwd.txtの中身は、File_Passwdにあったデフォルト、 ユーザ,パスワード にしてます。 パスワードは、md5ではダメで、 File_Passwd_Cvs::generatePassword( $_POST[ 'passwd' ] ); でもダメでした。。 ぐぐっても、AuthはDBについての情報は多いけど、Fileの情報は見つけきれま せんでした。
686 名前:nobodyさん mailto:sage [2007/01/18(木) 18:59:50 ID:???] username,password って、 その形式は CVS ではなくて CSV ではなかろうか。 書式を直すか、type'=>'Cvs' の代わりに Authbasic、Authdigest、Custom、Smb、Unix のどれかを使ってみたら? どのみち書式もそれに合わせる必要があるけど。
687 名前:nobodyさん mailto:sage [2007/01/18(木) 19:10:14 ID:???] >>685 か、か、解決しますた!! $mymyAUTH = new Auth( "File", $auth_params ); $res = $mymyAUTH->addUser( $_POST[ 'user' ], $_POST[ 'passwd' ] ); で、ユーザー登録したら、認証できた。 ということでお騒がせしますた。
688 名前:nobodyさん mailto:sage [2007/01/20(土) 14:44:06 ID:???] カンマセパレートバリュー。
689 名前:nobodyさん [2007/01/24(水) 21:46:52 ID:cqEVnQIF] age
690 名前:nobodyさん [2007/01/25(木) 13:17:04 ID:diFouhBc] PEARってなんで大文字なんだよ! ホントうんこすぎ pearのライブラリをディレクトリに移動しようとしたら小文字のファイルにリネームしちまうし、 php.iniはみにくいし、そこでのincludepathも大文字小文字間違って書き直しだし もう氏ねやうんこ言語
691 名前:nobodyさん mailto:sage [2007/01/25(木) 13:28:10 ID:???] >>690 それは鯖がクソなだけ。
692 名前:nobodyさん mailto:sage [2007/01/25(木) 14:08:06 ID:???] ファイル名のケースを区別するかどうかなんて PEARやPHPどころかOSの問題じゃん これをプログラム言語のせいにしてる奴とかもう呆れる他ないな
693 名前:nobodyさん mailto:sage [2007/01/25(木) 22:57:10 ID:???] GDをラップしたライブラリってないの? GDいじるの結構面倒くさい(><)
694 名前:nobodyさん mailto:sage [2007/01/25(木) 23:03:10 ID:???] >>693 いや・・・あの・・・ まっいいか・・・
695 名前:nobodyさん mailto:sage [2007/01/25(木) 23:10:41 ID:???] >>693 PEAR行ってImage_ってプレフィックスがつくパッケージ当たってみ
696 名前:nobodyさん mailto:sage [2007/01/26(金) 10:53:30 ID:???] はやくかけや。 こまってんだよ!
697 名前:nobodyさん [2007/01/26(金) 13:24:07 ID:PVZRthFQ] はじめてPEARを使おうと思っているんですけども、 レンタルサーバでも使えるのでしょうか? インストールされてなければ無理なのかな・・? それと、ダウンロードしてきたファイルの使い方がわかりません。 Image-Graphというのが使いたかったのでダウンロードし、解凍したところ、 Image-Graph-0.7.2というファイルがでてきました。 これはいったいどうすればいいのでしょうか?
698 名前:"""""""""" mailto:"""""""""" [2007/01/26(金) 13:34:58 ID:???] 希少もの:中国製無修正 某大陸高校トイレ盗撮ビデオ www.google.co.jp/search?hl=ja&q=%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB+torrent+uppics&lr=
699 名前:nobodyさん mailto:sage [2007/01/26(金) 15:56:55 ID:???] >>697 PEARはPHPで書かれてるから適当なバージョンのPHPが動くサーバなら使える。 依存関係とか自分で解決してやらなきゃならないが。 Image_Graphだと Image_Canvas Image_Color Extension gd が必要。 全部そろえばincludeとかrequireすることで使える。
700 名前:nobodyさん mailto:sage [2007/01/27(土) 05:02:52 ID:???] >>696 >>698
701 名前:nobodyさん [2007/01/30(火) 11:27:14 ID:We8vUN44] pearのインストールをしようとgo-pear.batを起動しましたが何も表示されず何度かEnterキーを押すと 「PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/ Command.php on line 268」 のような表示がたくさん出てインストールが完了できませんと表示されます。どうやったら改善されるのでしょうか?超初心者ですのでわかりやすく説明くださると大変ありがたいです。よろしくお願いします。 PHPは5.2.0を使ってます。
702 名前:nobodyさん mailto:sage [2007/01/30(火) 11:35:02 ID:???] >>701 自分で超初心者とか言うアホにPEARは100年早い。 「俺は超初心者だから、調べるの面倒だし、お前ら!丁寧に分かりやすく解決方法を教えろ!」 って言ってるのか?死ねよ!カス
703 名前:nobodyさん [2007/01/30(火) 11:59:16 ID:We8vUN44] >>702 「超初心者ですのでわかりやすく説明くださると大変ありがたいです。」そういう言い方をしましたので>>702 さんのような捕らえ方をされても仕方ないかもしれません。 ですが昨日から解決方法を調べましたが未だに解決できずにいます。ですので救いの手をいただければと思いますのでどうかよろしくお願いします。
704 名前:nobodyさん mailto:sage [2007/01/30(火) 12:12:05 ID:???] >>701 5.2.0のgo-pear.batは壊れてる ttp://d.hatena.ne.jp/shimooka/20061105/1162714257
705 名前:nobodyさん mailto:sage [2007/01/30(火) 12:15:45 ID:???] >>701 ,703 聞く前に検索しろということだ www.google.co.jp/search?hl=ja&c2coff=1&q=Cannot+use+a+scalar+value+as+an+array+in+phar%3A&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
706 名前:nobodyさん [2007/01/30(火) 22:37:40 ID:bW5fYcLi] PEAR :: DB のパッケージをインストールしたのですが 「tests」というディレクトリがありました。 これは動作に必要なのでしょうか? 必要ないのであれば消したいのですが。そもそも消す必要もありませんかねぇ。 よろしくお願いします。
707 名前:nobodyさん mailto:sage [2007/01/30(火) 22:45:17 ID:???] >>706 何故、消そうと思うのだ? 別にあってもよくないか?
708 名前:nobodyさん [2007/01/30(火) 22:47:55 ID:bW5fYcLi] >>707 そうですね。 そのまんまにしておきます。ありがとうございました。
709 名前:nobodyさん mailto:sage [2007/01/31(水) 10:55:32 ID:???] 必要ないから消してもOK
710 名前:nobodyさん mailto:sage [2007/01/31(水) 11:58:58 ID:???] 虫垂だの農家の四男坊なんてのはやたらに切るもんじゃないだろう
711 名前:nobodyさん [2007/02/01(木) 12:15:21 ID:PAIOYH/b] PECL には GNU libidn を使うための拡張があります。 pecl.php.net/package/idn 同様の拡張が別の場所でも開発されているようです。 php-idn.bayour.com/ インターフェイス(提供される関数)はほぼ同じようです。 これら二つの拡張の間には何か関係があるのでしょうか?
712 名前:nobodyさん [2007/02/06(火) 15:58:18 ID:rVKmLMVv] もう1日かけて調べたり試行錯誤したけど、全然うまくいきません。 環境: OS WindowsXP Home 鯖 anhttpd 142p PHP 5.2.0(cgiの方使ってます) ソース: <? require_once "HTTP\\Request.php"; $req =& new HTTP_Request("yahoo.co.jp/" ); if (!PEAR::isError($req->sendRequest())) { echo $req->getResponseBody(); } ?> 結果: Warning: require_once(Net/Socket.php) [function.require-once]: failed to open stream: No such file or directory in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47 Fatal error: require_once() [function.require]: Failed opening required 'Net/Socket.php' (include_path='.;C:/httpd142p/php5/PEAR/') in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47 INIファイルの該当箇所の設定: ; Windows: "\path1;\path2" include_path = ".;C:/httpd142p/php5/PEAR/" 該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 もう疲れて吐きそうです。。。
713 名前:nobodyさん mailto:sage [2007/02/06(火) 16:22:33 ID:???] >>712 ディレクトリセパレータでは? include_path = ".;C:\httpd142p\php5\PEAR"
714 名前:nobodyさん mailto:sage [2007/02/06(火) 16:30:00 ID:???] "/" を "\" に変えてやってみました。。。 Warning: require_once(Net/Socket.php) [function.require-once]: failed to open stream: No such file or directory in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47 Fatal error: require_once() [function.require]: Failed opening required 'Net/Socket.php' (include_path='.;C:\httpd142p\php5\PEAR\') in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47 ふぅ〜。。どうしたもんですかね
715 名前:nobodyさん mailto:sage [2007/02/06(火) 16:42:08 ID:???] require_once 'Net/Socket.php'; これ一行だけのソースでもNo such 〜になる? C:\httpd142p\php5\PEAR\Net でアドレスバー叩いてちゃんとSocket.phpはあるかい?
716 名前:nobodyさん mailto:sage [2007/02/06(火) 17:02:55 ID:???] あー Socket.phpありませんでした。。。 Socket.phpとURL.phpダウンして入れたところ正常に動きました。 ふぅ〜。ありがとうございましたm(_ _)m。
717 名前:nobodyさん mailto:sage [2007/02/06(火) 17:22:12 ID:???] >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。 >該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
718 名前:nobodyさん [2007/02/06(火) 17:54:04 ID:NJuIco/q] if ( $_SERVER["REQUEST_METHOD"] != "POST" ) { exit( "不正なリクエストでおじゃる" ); } $hoge = $_POST["hoge"] ? $_POST["hoge"] : ""; こういうソースがあったのですが、リクエストのメソッドを調べる 意味ってあるのですか? 万が一、引数が GET で渡されてたとしても、それが $_POST に代入される ということがありえるのでしょうか。
719 名前:nobodyさん mailto:sage [2007/02/06(火) 17:56:37 ID:???] ねーよww
720 名前:nobodyさん mailto:sage [2007/02/06(火) 20:46:38 ID:???] むかーーーしのバージョンのPHPで GET引数に "GLOBALS[_POST][hoge]" とかそんな感じで 外から $_POST に値を入れられちゃう糞バグがあったような気がしんぐ
721 名前:718 [2007/02/06(火) 21:33:11 ID:NJuIco/q] すみません。 >>718 は誤爆です。
722 名前:718 [2007/02/06(火) 21:36:03 ID:NJuIco/q] >>720 そうだったのですか。 もうちょっと調べてみます。ありがとうございました。
723 名前:nobodyさん [2007/02/14(水) 07:44:29 ID:HWr8LnC4] 質問です。 今html_ajaxでいろいろやってるのですが、 html_ajaxでプロキシアクセスをしてる場合のpostで通信してるのですか?getですか? access_logをみてみると、両方のような気がするのですが。 またpostの場合、sessionでの接続ができますか?どのようにsidを送るのでしょうか? よろしくお願いいたします。
724 名前:nobodyさん [2007/02/14(水) 16:20:33 ID:pTwqj5vm] pearのアンインストール方法を教えてね。
725 名前:nobodyさん mailto:sage [2007/02/15(木) 01:48:19 ID:???] まず、どのようにインストールしたかかけや
726 名前:nobodyさん [2007/02/15(木) 02:10:56 ID:202bzPy7] go-pear.orgからインストールしたのよ。
727 名前:nobodyさん [2007/02/15(木) 17:56:46 ID:kYaagmVU] おまえらどんなPEAR使ってるか教えろ。
728 名前:nobodyさん mailto:sage [2007/02/15(木) 18:18:00 ID:???] インフラとして必要で、実用的で、枯れてて、 誰でもすぐに馴染める使いやすいパッケージは ・PHPUnit ・PhpDocumentor ・PEAR ・MDB2(+Driver) ・HTTP_Request ・Cache_Lite ・Log ・Mail あたりとか? もうPHP4でしか使う機会がないな PHP5でいいならフレームワークに付属ので間に合わすか、 ZFのライブラリを使う
729 名前:nobodyさん mailto:sage [2007/02/15(木) 19:29:34 ID:???] Pagerも結構よいよ
730 名前:nobodyさん [2007/02/15(木) 21:50:13 ID:l05otmqr] まだHTTP_Requestしか使ったことないや。
731 名前:nobodyさん mailto:sage [2007/02/16(金) 09:32:26 ID:???] Cache_Liteはめちゃくちゃ重宝する。
732 名前:nobodyさん mailto:sage [2007/02/17(土) 12:31:18 ID:???] HTML_QuickFormで確認ページって出せますか? 入力→確認→登録みたいな感じです。 出せる場合はどのようにしたら良いのでしょうか、、?
733 名前:nobodyさん mailto:sage [2007/02/17(土) 12:33:24 ID:???] freeze使え
734 名前:nobodyさん mailto:sage [2007/02/17(土) 14:54:17 ID:???] 確認画面用に freeze() 使う時は hidden 要素に setPersistantFreeze(true) も忘れないように
735 名前:732 mailto:sage [2007/02/21(水) 05:59:51 ID:???] >733,734 やってみる!ありがとう。
736 名前:nobodyさん [2007/02/22(木) 14:28:49 ID:3Rwtxk4J] PEAR のコーディング規約って、 Java でよく使われているもののほぼコピー?
737 名前:nobodyさん mailto:sage [2007/02/22(木) 18:02:36 ID:???] PHPUnit PEARから外れちゃったんだよなぁ。 PHP4でFirebirdのある限り DBを使いつづける選択肢しかないんだよなぁ。
738 名前:nobodyさん [2007/02/22(木) 22:53:30 ID:Ua9elyJa] MDB2( pear.php.net/manual/ja/package.database.mdb2.php )についての質問です。 スクリプトでMDB2を用いる際に、いちいちDSNやエラーチェックをすると コードが冗長になってしまいます。 みなさんはどうしていますか? 私が考えたのは、例えば 'DataBase' というクラス(MDB2のクラスを継承)を定義して そこから使うのがよいかと思っています。 これについて何か参考になるドキュメントがありましたら ぜひ教えてください。よろしくお願いします。
739 名前:nobodyさん [2007/02/23(金) 23:08:52 ID:yQax9a0k] 無駄なものを覚えるとかえって時間がかかる 何を学ぶかの取捨選択が大事だと思います HTML_QuickFormのほかに、これには手を出すなというのはありますか?
740 名前:nobodyさん mailto:sage [2007/02/23(金) 23:33:13 ID:???] >>739 HTML_QuickForm_Controller/DB/DB_DataObject/Auth/Auth_HTTP/Cache_Lite このくらいかな…
741 名前:nobodyさん [2007/02/24(土) 05:53:48 ID:UYU7E5V9] Authについて質問です。 MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという 単純な認証を試しに作ってみたのですが、どうも巧く行きません。 具体的には、どのような入力をしても、以下の「MyAuth.php」のswitch($status)でdefaultが選ばれてしまうので、困っています。 どなたか、アドバイスをください。 以下、ソースコードです。
742 名前:これらは、全て同じ階層のフォルダに入ってます [2007/02/24(土) 05:57:38 ID:UYU7E5V9] //MyAuth.php <?php $documentroot=dirname(__FILE__) . '/'; require_once($documentroot . 'config.php'); require_once ('Auth/Auth.php'); function loginFunction ($usr,$status){ switch($status){ case AUTH_IDLED : case AUTH_EXPIRED : $err='ログイン期限が切れています。再ログインしてください';break; case AUTH_WRONG_LOGIN : $err='メールアドレス/パスワードが間違っています';break; default: print ("default"); } require_once('login.php'); } $params=array( 'dsn'=> _DSN, 'table'=>'member_table', 'usernamecol'=>'userxxxx', 'passwordcol'=>'password', 'cryptType' => 'MD5', 'db_fields'=>'*'); $myAuth=new Auth('DB', $params, 'loginFunction'); $myAuth->start(); if(!$myAuth->getAuth()){ exit(); } ?>
743 名前:これらは、全て同じ階層のフォルダに入ってます [2007/02/24(土) 05:59:12 ID:UYU7E5V9] //login.php <html><head><title>ログインページ</title></head> <body> <form method =" POST" action ="<?php print ($_SERVER ['PHP_SELF']) ?>" > <table border="0"> <tr><th alight="right">メールアドレス</th> <td><input type="text" name="username" size="30" maxlength="50" /></td></tr> <tr><th alight="right">パスワード</th> <td><input type="password" name="password" size="30" maxlength="50" /></td></tr> <tr><td colspan="2"><input type="submit" value="ログイン" /></td></tr> </table> <font color="Red"><?php print($err); ?> </font> </form></body></html> //config.php <?php define("_DB_USER", "db_user"); define("_DB_PASS", "pass"); define("_DB_HOST", "localhost"); define("_DB_NAME", "db"); define("_DB_TYPE", "mysql"); define("_DSN", _DB_TYPE . '://' . _DB_USER . ':' . _DB_PASS . '@' . _DB_HOST . '/' . _DB_NAME); ?> 以上です。長々とスミマセン。
744 名前:nobodyさん mailto:sage [2007/02/25(日) 00:45:14 ID:???] >>741 PHPの質問スレ行った方がいいんじゃね?
745 名前:>>741-743 mailto:sage [2007/02/25(日) 01:10:29 ID:???] >>744 おっしゃる通りですね。 PHPの下質のスレに行きます。 お目汚し失礼しました。
746 名前:nobodyさん [2007/02/28(水) 08:54:35 ID:ZY+YimwX] SQLビルダーが欲しくて色々さがしてます。 DB_DataObjectがよさげだとおもって、ちょっと読んで 軽く使ってみたのですが これってSQLだけgetすることは出来ないのでしょうか? 接続にはDBとかMDBは遅いのでPDOを使いたいのですけど・・・ 良いのありませんかね? dinolibっていうのも使ってみたけど、古いし、イマイチ。 DB_DataObjectはマジで便利そうなんだけど・・・
747 名前:nobodyさん mailto:sage [2007/02/28(水) 14:56:36 ID:???] 流れはORマッパーなので。
748 名前:nobodyさん mailto:sage [2007/02/28(水) 20:30:47 ID:???] >>746 おれも以前に似たような要求で色々と調べたけど "_" から始まる名前の(PEAR規約で private 扱いの)メソッドやら変数やらをアレコレしないと 生 SQL のみを取得することはできなかったっす
749 名前:745 mailto:sage [2007/02/28(水) 21:39:38 ID:???] ソース見たら出来なさそうですね。 SQL生成から実行まで、一つのメソッドでやってた。 あれを改造しちゃうか・・・ DBかMDB2を使うか 他のSQLビルダを探すか 自分で作っちゃうか とりあえずここ過疎化してるので PHP版に移住します。お騒がせしました。
750 名前:745 [2007/02/28(水) 23:20:38 ID:ZY+YimwX] >>748 すいません。板のURLが変わってたんですね 2chブラウザ使ってるのでレスが付いてないのかと思っちゃいました。 SQLビルダ作るかな〜
751 名前:nobodyさん mailto:sage [2007/03/01(木) 01:32:14 ID:???] DB_DataObjectはORマッパであってSQLビルダでない件に関して
752 名前:745 [2007/03/01(木) 10:39:52 ID:vEHHBeZ0] >>751 純粋にクエリーを発行して配列にオブジェクトを格納するところまでの時間を計測したんですけど PDO::FETCH_CLASSとかpg_fetch_object(postgresqlなら)を使うと シチュエーションによっては10倍近い速さなんですよね。 だからSQLビルダだけ使えないかと思ったわけでして。 ただ、取得するデータ件数が少ないと、速度差はごくわずかなので LIMITで絞ってページングすればほとんど変わらない気もするし・・・ DB_DataObject使うとSQLインジェクションとかプレイスフォルダ使わなくて ばっちり対策済みなんでしょうか? もうちょっと色々試してみます・・・ すごい良く出来てると思うので、気になるのは速度だけなんだよな〜
753 名前:nobodyさん mailto:sage [2007/03/01(木) 11:20:12 ID:???] 今更DB_DataObjectもないだろう PHP4しか使えませんな環境ならしょうがないかもしれんが 最近のフレームワークのO/Rマッパの実装を調べた方がいいと思うよ ZFやsymfonyで使ってるpropelとかもPDOのアダプタが用意されてるだろう SQLビルダならPEARにもDB_QueryToolとかあるけど SQLビルダっつー仕組み自体が古いというかいけてないと思う 基本O/RマッパでシンプルなDBアクセスは SQLなんて一切気にすることなく操作できて 3つも4つもJOINするような複雑なクエリになる場合は SQL書いて取得するっていうスタイルが今の流れで それは理にかなってると思う 実際WEBアプリで必要になるSQLなんてのは 大抵の場合7〜8割方定型でシンプルなクエリだから 複雑なSQLはビルダで組み立てなくても直で書けばいい ビルダでどうやって複雑なSQLを組み立てるか考えるのは本末転倒 オレオレO/Rマッパ書くためにSQL組み立てる層を書くのが面倒だから SQLビルダだけ欲しいみたいな感覚ならまあわかるが INSERT/UPDATE/DELETEは割と簡単に書けるし SELECTはZFのZend_Db_Selectあたりを参考にするといいんじゃない
754 名前:nobodyさん mailto:sage [2007/03/01(木) 11:23:12 ID:???] >>753 あなたの言っている全ての機能はDB_DataObjectにも実装されていますが? それにフレームワーク固有のコードを書いていたら汎用性が全く無くなってしまう。 それこそ、自己満足の時代に逆境したプログラミングでしかない。
755 名前:nobodyさん mailto:sage [2007/03/01(木) 11:29:52 ID:???] じゃあDB_DataObject使えばいいじゃんw
756 名前:nobodyさん mailto:sage [2007/03/01(木) 11:45:56 ID:???] PEAR::DB が遅いってのは抽象化インタフェースなんだからある程度は仕方ないと思うが pdo がいいなら PEAR::DB とインタフェース互換で pdo 直接叩くようなのを書けばいいんじゃないかな てか書いたら公開してくれw
757 名前:nobodyさん mailto:sage [2007/03/01(木) 12:33:14 ID:???] >>754 別にDB_DataObjectが機能不足だなんて書いてないし 俺もDBやDB_DataObjectを経て来た上で書いている あとZend_Dbやpropelにフレームワーク固有のコードとかない それぞれ独立したライブラリとして作られている てかDB扱うライブラリに普通FW固有のコードなんて書かない もうちょっと色んなライブラリ見渡してみてもいいと思うよ
758 名前:nobodyさん mailto:sage [2007/03/01(木) 12:37:31 ID:???] >それにフレームワーク固有のコードを書いていたら汎用性が全く無くなってしまう。 フレームワークをなんだと思ってるんだ?
759 名前:nobodyさん mailto:sage [2007/03/01(木) 15:51:00 ID:???] DBからMDB2に移ろうとしているんですが、 MDB2って、なんかDBに比べて不便になってる 気がするんですが、気のせいでしょうか? insertやupdateの手順がまんどくさくなってるよな。。。
760 名前:nobodyさん mailto:sage [2007/03/08(木) 12:27:01 ID:???] Html_QuickFormでprocess()を2回使用しようとするとエラーになります。 Fatal error: Cannot redeclare callback1() (previously declared in c:\path\file.php:100) 以下のようにしたい場合はどうすればいいでしょうか? if($objForm->validate()){ $objForm->process('callback1'); $objForm->process('callback2'); }
761 名前:nobodyさん mailto:sage [2007/03/08(木) 12:31:50 ID:???] 単にcallback1()を2回定義しちゃってるだけじゃないの?
762 名前:760 mailto:sage [2007/03/08(木) 14:00:23 ID:???] >761 仰る通りでした。ありがとうございました。 補足としては、実はと言っては怒られそうではありますが、 クラス内にprocess()を呼び出すメソッドを作り、その中にコールバック関数を定義しておりました。 このような感じ。 class Form extends HTML_QuickForm{ function actProcess($callbackFuncName){ function callbackFunc1(){...} function callbackFunc2(){...} return $this->process($callbackFuncName, false); } } ですので、actProcess()を2回目に呼び出すと、 callbackFunc1(),callbackFunc2()がもう一度定義されエラーになっていた模様です。 調べたところ、コールバック関数をprocess()呼び出しのメソッド外に置き、 process()の第一引数をarray(&$this, 'callbackFuncName')のようにすると良い事が分かりました。 以下のような感じ。 class Form extends HTML_QuickForm{ function actProcess($callbackFuncName) { return $this->process(array(&$this, $callbackFuncName), false); } function callbackFunc1(){...} function callbackFunc2(){...} }
763 名前:nobodyさん mailto:sage [2007/03/09(金) 15:56:39 ID:???] RedHatES上のPHP-4.3.2で $pear upgrade PEAR をやったら PEAR 1.5.1 stable に無事アップデートできたみたいなんですが、良く見ると /usr/bin/pear が無くなってしまった様です。 /usr/share/pear/pearcmd.php を直接実行しようとしてもエラーが出て、中身を見てみると <?php // // +----------------------------------------------------------------------+ // | PHP Version 5 | // +----------------------------------------------------------------------+ //....' になっています。 一旦phpを再インストールするしか復旧する方法は無いでしょうか?
764 名前:nobodyさん mailto:sage [2007/03/09(金) 16:07:36 ID:???] 今俺も試しにアップグレードしてみたが特に問題ないな whichとfindで探しても全くでてこない?
765 名前:nobodyさん mailto:sage [2007/03/09(金) 16:18:35 ID:???] Html_QuickFormのselectあります。 これにmultiple属性を設定するにはどんな書式にすればいいんでしょうか? $QuickForm->addElement('select',); みたいな書式でできるんでしょうか・・・?
766 名前:763 mailto:sage [2007/03/09(金) 19:18:19 ID:???] >>764 取り合えず、同一構成の別サーバからpearコマンドとpearディレクトリごと持ってきて入れ替えたら $pear list INSTALLED PACKAGES: =================== .... PEAR 1.1 stable .... となっていて、ここから再度アップグレードして見ました $sudo pear upgrade PEAR downloading PEAR-1.5.1.tgz ... ...done: 290,252 bytes upgrade ok: PEAR 1.5.1 $pear list pear: Command not found. Exit 1 で、 $find / -name "pear" してもコマンドは見つからないですね・・・家の環境だけなのか?
767 名前:nobodyさん mailto:sage [2007/03/09(金) 21:25:55 ID:???] pearディレクトリ毎持ってきたりして入れ替えたら そりゃ消えようがしゃあないな アップグレード時にbinにコピーできなかったとか go-pearでPEARだけ入れ直したらいいんじゃね
768 名前:nobodyさん mailto:sage [2007/03/09(金) 22:48:15 ID:???] >>767 おお、go-pearなんて便利なものが・・・ これで無事再インストール出来ました。
769 名前:nobodyさん [2007/03/09(金) 23:08:13 ID:bGciLmRc] Windowsの話?
770 名前:nobodyさん mailto:sage [2007/03/11(日) 00:25:48 ID:???] >>765 ttp://www.townmedia.org/tips/PEAR/HTML_QuickForm.html 2-2 addElementで使える要素一覧 をみるかぎり、select のarg5に入れればなんでもアリじゃないでしょうか?
771 名前:nobodyさん mailto:sage [2007/03/13(火) 18:35:18 ID:???] PEAR::Auth を便利に使っています。 別の場所で別の人が同じ ID/PW でログインできますが、 これを拒否する方法はどういうものがあるでしょうか。 ( 後からログインした人を拒否できると嬉しいです )
772 名前:nobodyさん mailto:sage [2007/03/13(火) 20:09:42 ID:???] ログインユーザをセッションIDと一緒に、DBなりファイルに書き出しとけばいいんじゃないの。 同一ユーザ名ログインの時には、それに対応するセッションIDが残ってるかどうかチェックして なきゃそれでOK。 でも同一ユーザ名・パスワードの複数保持なんていうのがそもそもセキュリティ的にラフすぎ。
773 名前:nobodyさん mailto:sage [2007/03/14(水) 09:34:15 ID:???] >>772 ありがとうございます。 何かの拍子に ID/PW が漏れた場合、 同時にアクセスされたら漏洩発覚!としたかったんです。
774 名前:nobodyさん mailto:sage [2007/03/14(水) 09:44:37 ID:???] >>773 そんなのWWWでやるシステムじゃない
775 名前:nobodyさん mailto:sage [2007/03/14(水) 12:37:17 ID:???] どうやってログアウトをシステム側で察知するかだな。 操作ミスなり回線不良なりでCookieあぼーんすると 直ぐにログインできないってことになる。
776 名前:nobodyさん mailto:sage [2007/03/14(水) 12:59:55 ID:???] つかブラウザ二個起動した時点で終了