Pear
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG0207nobodyさん
03/07/19 01:29ID:???ライターさんが自分で最も価値が高いと思うアウトプットをくれると私的には一番楽しいっす。
媒体の性格もあると思うので難しいのかも知れませんが。
> 実はこの記事を書くために本格的にMDBのコードを読み込んだんだけど、
> イヤーよくできてるわホントに。
とか もっと語って語ってって感じっす。発売楽しみにしています。
PHPプログラマーズマガジンで一番読んでいるのは
Tips &Tricksだったりする(^^;
なんかこう、自分が求めるものと外れてるんですよねぇ・・・。
>>206
本人降臨ですか(笑
記事の方楽しみにしてます〜。
メソッドごとの説明とかは本家マニュアル
( http://pear.php.net/manual/en/package.database.mdb.php )
にも載ったし別にいいんじゃないかと。
それにしても、発売日遠いです(苦笑
そろそろ使おうと思ってるんだけど、
「MDBならでは」って部分を知りたい・・・
自己レス。
本家マニュアルに載ってるのはまだMDB_Commonだけなのね。
もうちょっと情報がほしい・・・。
0210nobodyさん
03/07/19 21:16ID:???http://www.backendmedia.com/MDB/docs/
http://www.backendmedia.com/MDB/docs/tutorial.html
http://www.php-mag.net/itr/online_artikel/show.php3?id=283&nodeid=114
http://enzo.bz/phpdoc/pear/mdb/datatypes.html
http://enzo.bz/phpdoc/pear/mdb/xml_schema_documentation.html
http://enzo.bz/phpdoc/pear/mdb/
enzo.bz ドメインのドキュメントはバージョン遅れてる (´・ω・`) 他の場所見つけるか自分で PhpDocumentor 動かせば無問題
0211210
03/07/19 21:20ID:???もう長いこと情報集めるのサボってるので。
0212nobodyさん
03/07/24 09:37ID:???PEAR API docs
http://phpdorks.net/docs/api/
http://marc.theaimsgroup.com/?l=pear-general&m=105828607323612&w=2
0213nobodyさん
03/07/24 09:50ID:???少し前のことなので状況が変わっているかもしれませんが、以前に Lukas さ
んが同様のことにお答えになっておりまして、現時点の解としては PEAR DB
との違いを PHP Magazine の記事を参考に認識した上で PEAR DB のチュート
リアルを読めということです。
http://marc.theaimsgroup.com/?l=pear-general&m=105174372631369&w=2
0214nobodyさん
03/07/27 05:34ID:???PEAR::DB + Metabase なので PEAR::DB 代わりに使うには
> 違いを .. 認識
すればokですね、、
つまらない事聞きました。多謝です (_ _)
どもっす。
時間をかけてじっくり読み解こう・・・。
それはそうと、Auth1.2.2でましたね。
変わっているところをチェック中・・・。
0216nobodyさん
03/07/29 14:27ID:???DBつかうとコネクション余計に張らなきゃならんし、
start()でlogin用画面function呼ばなきゃならんとかいうのも気に入らん。
0217nobodyさん
03/07/29 21:12ID:???こんな感じでいけませんか?
DB:
$dbh = &DB::connect(...);
$auth_options = array(
'dsn' => $dbh,
'table' => ...,
'cryptType' => ...
);
$auth = new Auth('DB', $auth_options, 'showLoginForm', true);
$auth->setSessionname(...);
$auth->start();
MDB:
$dbh = &MDB::singleton(..., ...);
$dbh->setDatabase(...);
$auth_options = array(
'dsn' => $dbh,
'table' => ...,
'cryptType' => ...
);
$auth = new Auth('MDB', $auth_options, 'showLoginForm', true);
$auth->setSessionname(...);
$auth->start();
0218nobodyさん
03/07/29 21:20ID:???ちょっと前に Auth のメンテナが交代されたようですので今後に期待しましょ
う。
http://marc.theaimsgroup.com/?l=pear-general&m=105764685524935&w=2
0220nobodyさん
03/07/31 17:41ID:???$db->getAssoc($sql);
とかしたい場合、
$sql = $db->executeEmulateQuery($stmt,array($id));
とかでrealqueryを取得してるんですが、
executeEmulateQuery()ってprivateなんですね。
今はいいけど、PHP5とかになったとき、呼べなくなったら困るなぁ。
0221nobodyさん
03/07/31 22:24ID:???CVS HEAD の DB/DB/common.php の getAssoc() を見てみると、
function &getAssoc($query, $force_array = false, $params = array(),
$fetchmode = DB_FETCHMODE_ORDERED, $group = false)
{
settype($params, "array");
if (sizeof($params) > 0) {
$sth = $this->prepare($query);
if (DB::isError($sth)) {
return $sth;
}
$res = $this->execute($sth, $params);
$this->freePrepared($sth);
} else {
$res = $this->query($query);
}
となっていますので、
$query = 'SELECT ... FROM hoge WHERE ... = ? AND ... = ?';
$data = $dbh->getAssoc($query, false, array('...', '...'));
でお望みの動作になるかもしれません。prepared query が破棄される分効率
悪くなると思いますが。
0222nobodyさん
03/07/31 23:35ID:???0223山崎 渉
03/08/02 02:26ID:???( ^^ )< ぬるぽ(^^)
0224ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:56ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0225nobodyさん
03/08/06 15:45ID:???オープンソースな PHP は商用 DB とは相性よろしくないのかしら。。。
0226nobodyさん
03/08/06 16:12ID:???恐らく MySQL と PostgreSQL 以外はほとんどテストされていないのでしょう。
どこがどのように動かないのでしょうか?
バグ等は見つけたらとりあえず報告しておくのが吉です。
友人に教えて使ってるのを見たんだけど(自分で使ってる時間が無く・・・(苦笑
SmartyArray使うとどうも面倒そう。
特にテンプレートファイル側見るとひたすら
{$form.address.label}<br>{$form.address.html}
とか並んでいてテンプレートの意味あるの?という感じ。
ならQuickForm使わなきゃいいじゃん、って話だけど
やっぱり値チェックとかは強力だと思うし・・・。
Smartyのプラグイン作るとかですかね?
0228225
03/08/12 13:39ID:???oracle がカラム名とかを大文字で返すのがしばしば問題な模様ですね.
まず DB_oci8 の options が 'optimize' => 'portability' でないと動かないってのと,
その状態でも DB::TableInfo() が大文字で返すので createTables.php が動かない,とか.
でも,しばらくいじってみたら,「ほとんど動かない」ってほどでもないようです.
上記の点をクリアすれば基本的な部分はだいたい動きました.
バグとか報告したいんですが,どこにどう送ればいいものやら.
やっぱ英語書かなあかんですかね.読めるけど書けない典型的日本人.
0229226
03/08/12 15:48ID:???それでしたら CVS HEAD へのパッチの形にして PEAR developers list
に投げるといいでしょう。パッチは本文に貼っておけば OK です。
英語は趣旨が伝われば十分ですので簡潔なもので結構だと思います。
Subject: [PATCH] ...
代わりに投げてもいいですけど、私の名前をコミットログに入れられたりしま
すのでなるべく本人の方が良いと思います (笑
0230225
03/08/12 21:31ID:SbJBYfdHなるほど,ありがとうです.
今の仕事が片付いたらその間に見つけたのをまとめて送ってみることにします.
あぁー getLinks() もおかしいな.
_link_loaded が true になる条件を満たしてても true にせず return してる線がある...
0231あさがお
03/08/12 22:10ID:NKV0QIKc0232226
03/08/13 16:00ID:???一部 PHP Bugs に上がってきました。
http://bugs.php.net/bug.php?id=25067
225 さんですか?
0233山崎 渉
03/08/15 22:36ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0234nobodyさん
03/08/19 23:12ID:???た。 Solaris ユーザはほとんどおらんのか...
http://pear.sakura.vg/index.php?%5B%5BWAF%2FCMF%2FCMS%5D%5D
ところでページ上部のバナーが見つからなくなっているようです。
お疲れ様です〜
>ところでページ上部のバナーが見つからなくなっているようです。
どうやら相手サイトが原因の模様。
バーチャルドメインの設定間違えたか
DNSの設定間違えたか。
0236nobodyさん
03/08/23 13:40ID:???# pear install apd
(snip)
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
/tmp/tmpmW3Ano/apd-0.4p2/ltconfig: Can't open /tmp/tmpmW3Ano/apd-0.4p2/ltconfig:
No such file or directory
configure: error: libtool configure failed
`/tmp/tmpmW3Ano/apd-0.4p2/configure' failed
ってなってしまうんです
libtoolだとかってよくわかんないんだけども、これってどこに問題があるんでしょうか。
autoconf,automakeだとかは新しいの入れてるし・・・
つか、そもそもltconfigって誰が作るものなんですか?
OSも書いた方がいいと思う。
うちのFreeBSDだと最初から入ってるlibtoolが1.3系だから
configureでひっかかる。
圧縮されてるファイルを拾ってきて展開。
phpizeしてconfigure開いて「--no-verify」を削除後、
configure -> make
で、make通るけど。
0238236
03/08/24 05:20ID:???FreeBSD4.8-RELEASE-p3
libtool 1.5
automake 2.53
autoconf 1.5
そんな感じです。
全部portsで入れてます。
--no-verifyで引っかからなかったのは、
やっぱりlibtoolのバージョンっぽいですね。
うーん、理由が見えないなぁ。
configureの中身見てみるとよさげだけど。
力になれず申し訳ない。
話変わって。
待ちに待ったWEB+DB Press16買ってきました。
PEAR MDBの解説、結構しっかり載ってます。
// さりげなくbenchmarkクラス使ってるところが流石というか
残念なのはXMLベースのスキーマについて
例が無かったこと。
しばらくはよりパフォーマンスが高いDBクラスとして布教活動かなぁ・・・。
あと、Postgresでのコネクションプールとか
興味惹かれる記事が多かったので久々に買ってよかったと思ったよ。
0240nobodyさん
03/08/26 14:25ID:???0241nobodyさん
03/08/26 14:59ID:???www.php.netはミラーがある(jp.php.net)からいいんだけど、
pearのほうはそういうの用意する予定ないのかねぇ・・・。
今の状態だとpear.php.netが落ちるとそれで終わりだから非常に怖い。
0243nobodyさん
03/08/29 01:19ID:???エッジの宮川氏のRSSのところでもさり気なくPEAR使ってましたな。
XMLといえばSimpleXML、チョー良いです。
http://www.sitepoint.com/article/1192/16
な感じ。
なかなか認知されないけど、
このまま少しずつでも広まっていけばいいよね。
海外みてるともっと話が盛んな気がする。
ちょっと質問。
Date_CalcクラスのnextDayOfWeekメソッドとかの第一引数、
$dowってなんだろ?
0246245
03/08/29 14:02ID:???あー、なるほど。
どもっす。
また時間見つけてwiki更新しときます。
PHPUnit1.0.0 alpha1でたとおもったら、
PHP5でないとインストールできないんだね。
LiveUserの新バージョンも追いかけたいけど、
時間足りない・・・。
PEAR::MDB+PostgreSQL7.3.4という構成で、
最初のうちはいいんだけど何回か繰り返してると
突然「MDB Error: unknown error」と言われ接続不能に。
一度エラーが出るとpostgresを再起動するまででるっぽいです。
(あと、エラーオブジェクトをvar_dumpしてみたら
「Setup: could not execute BEGIN」って言われています)
接続数の関係かな?と思い、上記エラーが出るようになってから
PEAR::DBで同じDBに繋ぎにいったら、こちらは正常に接続出来ました。
原因、なんなんでしょうか・・・。
0249nobodyさん
03/09/10 09:53ID:???ひとつ推測できるのはトランザクションがアボートしている状態です。
その状態で何かクエリを発行するとすべて無視されますので、 MDB 周りのト
ランザクション処理が原因かもしれません。
ちょっとコード追ってみた。
接続するときにtemplate1データベースに接続にいってるのが原因っぽい。
自分が接続したいDB名がhogeで、
hogeに対してpconnectしているとすると
・pg_cmdTuplesが使えるか確認
・使える場合、template1データベースに接続しにいく
・が、hogeに対しての持続的接続により接続数が足りない
・接続失敗
って感じらしい・・・。
というか、これはいったい何をしたいのだ?
pg_cmdTuplesって古い関数名だし・・・。
これってAffectedRowsとれるかどうか判断してるだけなのだろうか。
しかしそれを判断するのに何でわざわざtemplate1に接続しにいってるんだろう。
とりあえず適当に修正・・・。
話はわかりますが、
pear.php.netの構成が少し変わって日本語のドキュメント消えてますね。
このあたりの動向ってどうなってるんだろうか。
0252249
03/09/10 12:58ID:???> ・が、hogeに対しての持続的接続により接続数が足りない
というのはちょっと意味がわかりません。 PostgreSQL 側の接続数制限なのか
pgsql.so の接続数制限なのかのいずれかだと思いますが。
いずれにも該当しない場合は持続的接続を行っている Apache プロセス内で別
の接続を行うことは問題ないはずです。
ということではなかったらごめんなさい。
日本語ドキュメントについては元のドキュメントの構成が変化しているのでそ
れに追随できていない状態だと思います。今は廣川氏ひとりでがんばっている
状態です。ここの方々で協力できる人がいれば CVS アカウントを申請して参
加して下さい。とはいっても皆さん忙しそうですね...
ちょっと自分でもわかりづらい書き方だなと思った(汗
すみませんです。
>接続数が足りない
postgres側の制限(今はpgpool使ってるからそっちの制限)ですね。
16接続出来るように許可している状態で、
hogeデータベースだけで16接続pconnectしているから
template1に接続しにいっても出来ない状態。
>今は廣川氏ひとりでがんばっている状態です。
うあ、それは大変だ・・・(汗
協力出来ればいいんですが、ちょっと今私生活のほうが
ばたばたしていて手が出せない状態(苦笑
0255249
03/09/10 21:49ID:QKM7iw+wある程度の部分ごとに訳がある方が良いですが、訳があるだけましという現状
では役立つのではないでしょうか。
後々は対訳表やルールが必要になると思いますが。こんな感じで。
http://cvs.apache.jp/docs-project/
0256nobodyさん
03/09/15 19:03ID:HzcwV9T4なんか入力→終了なら簡単にできるけど間に確認はさむと難しい。
0257181
03/09/16 12:15ID:???少し前に同じようなことで悩んだんですが...
結局,HTML_QuickForm だけではうまくいかない,という結論に達しました.
で,hidden エレメントでフォームの遷移をステータス管理して,
> if( validate() ){
> if( 確認から POST された ){
> process();
> } else {
> freeze();
> }
> } else {
> // フォーム画面表示
> }
って動作をするようにしました.
でもって,HTML_QuickForm オブジェクトに寄生してこういう管理をしたり「次へ」「戻る」ボタンを追加したりする別のクラスを作ったりしました.
これ使うと,使う側のコードはスマートだけど,そのクラスのコードがとってもダーティ(w
最近になって HTML_QuickForm_Controller という PEAR クラスも出てきたんですが,
これはマルチ画面フォームの制御には向くんですが,同一フォームの確認画面には向いてないみたい.
0258nobodyさん
03/09/16 20:37ID:bh8H+vxmお、ありがとう。なるほど、分かりました。
「次へ」「戻る」クラスのサジェスチョンもキボンヌ!
0259189
03/09/17 15:10ID:???HTML_QuickFrom_Controller なんてあったとわ。今度見てみまつ。情報ありがとう。
自分は $form->validate() しちゃうと addRule が評価されるので
$form->addElement('submit', 'preview', 'ぷれびゅ〜');
とか submit オブジェクトの押し下げで遷移状態が判定できるようにしといて
遷移状態判定 -> (必要なら) validate() しています。
if (!empty($_POST['preview']))
{
// snip
if ($form->validate())
{
if 文の中では画面遷移状態の判定だけ行って $mode に preview や entry といった値を設定し後で switch 文で分けてます。
あまりスマートぢゃない、、
何か勘違いしてたら指摘したってください。
ところで
$var = $form->getSubmitValue('obj_name');
if (!empty($var))
だと判定出来るのに
if (!empty($form->getSubmitValue('obj_name')))
だと parse error, unexpected '(', expecting ')' になってしまうのは一体、、
getSubmitValue の存在意義も今ひとつ分かってなかったりします。 $_POST ぢゃダメなのかよ、みたいな。
0260nobodyさん
03/09/17 15:16ID:???関西で PEAR や Xoope ネタ握ってる人、少なくないのにちと寂しいです
昨年はまつもとさんが Ruby 公演を打って撃沈された人が続出、
OS+FW 以降、某メールマガジンの某連載が Ruby 一色に染まったりとか、、
影響力のある良い舞台だと思うので布教にはもってこいですよぅ
|_・) とか呟いてみるテスト
0261avx
03/09/18 02:30ID:???中・大規模のPHPを使ったWebアプリ開発には、
PEARは欠かせませんね。
MVCモデルでModelとControllerは全てクラスで設計/構築し、
PHPUnitを使ってXPを実践しました。
ドキュメント化にはPHPDocは重宝しますしね。
DBなどボトルネックとなるものに対してはCacheが
非常に有効です。
DBキャッシュでSQL結果をキャッシュしたり、
Output(Compression)キャッシュで生成した出力をキャッシュしたりするとかなりパフォーマンスがあがります。
Logクラスを継承した独自のログクラスを作ればかなり便利です。
あとPEARのコードみるとデザインパターンとかが実践されているので、とても良い勉強になりますよ。
PEAR SOAPは開発時のデバッグが大変ですが、ちゃんと動きます(笑)
随分前にPEAR SOAPを使ってつくった課金システムが10万/月くらいこなしてるし。
0262nobodyさん
03/09/18 03:57ID:???雑誌や BOF を利用して是非話を伺いたいところ。
開発スタイルと PEAR のつかいどころがとてとて興味深いです。
PHPUnit は挫折しました。検証コード書く手間が、、
PhpDocumentor は使ってますがおざなり。
企業規模は存じませんが、SOAP っていうかそもそも Webサービスで利益出してるってのが興味深く。
PEAR::Log ってのも知りませんでした。フレームワークなのか、、LiveUser と使い比べてみたいかも。
中・大規模で使えるってのも興味深いです。
PHP 自体、今安心して使えるのは中規模までとか思ってましたので (PHP-load-test でみんな頑張ってくれてますが)
私は PEAR は専ら開発コストを落とし質を保つために使っています。
一人で、繰り返し押し寄せる自社案件をこなす業態に問題があるのかな、、
# 頑張って開発しても _| ̄|◯ 営業さんが目標達成率 2% とかやってくれて
0263nobodyさん
03/09/18 14:29ID:???empty( ) は言語構造であり,変数以外のものに対して使用しても意味がない,と書いてありますね...
> ttp://www.php.net/manual/ja/function.empty.php
> if ((bool)($form->getSubmitValue('obj_name')))
だと動くのでしょうかね.
// 以下オフトピ
perl やってたせいか,キャストって概念自体がいまいち好きになれない...
が,ひとつ発明(?)した使い方で,
true/false を引数で受け取るメソッドをコールする時に意味がわかるよう
> $DataObject->find( (bool)'fetch first result' );
なんて書き方をして,読む時に「この true はどういう意味だっけ?」とならないようにしてますが,却って読みにくい気も少ししてきた(w
0264259
03/09/18 18:33ID:???ありがとうございます。
0266259
03/09/19 03:58ID:???PHP ってマニュアルの出来いいっすよね。
あと PEAR なら Read The Source, Ruke.. とか。
0267nobodyさん
03/09/19 13:52ID:???ソースのコメントにすら説明が書かれてないですね。解読するしか
ないのか。。
0269nobodyさん
03/09/19 14:11ID:???HTML_QuickForm は Read The Source しても意味わかんねーことが多いっす(w
ほんの2〜3ヶ月前までは PEAR のマニュアルにも載ってなかったんですよね.
ひたすら docs を CVS から見て勉強したりしました...
> ttp://cvs.php.net/cvs.php/pear/HTML_QuickForm/docs
example4 辺りが,もっともシンプルでとっつきやすいサンプルになっていると思います.
0270nobodyさん
03/09/19 14:24ID:???今はpearのマニュアルかなり整備されてるみたいでした。
メソッドごとの解説とかあるし。かなり便利になったん
ですね。ただ量が膨大です。
テーブルを使わないでフォームを出力したいんですが、こ
れは rendler ってのを使えばいいんですかね。しばらくは
マニュアル解読に時間を割いてみようと思います。きっと
それだけの価値があると信じつつ。。
教えてくれたアドレスも今から見てみますね。
0272nobodyさん
03/09/19 21:28ID:???あと、解ってる人の解ってる人へのメモで可用性イマイチな気がするが
http://enzo.bz/pearwiki/?%5B%5BPEAR%2FHTML_QuickForm%5D%5D
とか。
本家 ML 漁れば結構 HTML_QuickForm 絡みの質問は出てくる。
0273nobodyさん
03/09/20 03:23ID:???setElementTemplate() を使ったサンプルが docs に入ってるのでそれを参照すると良いです.
デフォルトの Renderer なら,HTML_Template_IT 風に指定できますね.
> ttp://cvs.php.net/co.php/pear/HTML_QuickForm/docs/renderers/labels-default.php?r=1.1
わかりやすいのはこの辺でしょうか.
BEGIN〜END のブロックは数種類あって,
・required → addRule() で required を設定した項目の時だけ表示されるブロック
・error → validate() でエラーになった時に表示されるブロック
・label_2 → addElement() する際に $label に string でなく array を指定した際に,2番目の文字列が入るところ
って感じですね.
...こうやってひとつひとつをサンプルや各 Web や試行錯誤で会得していかないとならないのが残念なところ.
0274nobodyさん
03/09/20 05:45ID:???PEAR インストールディレクトリの docs/renderers にも同じ物がインストールされているよー
と、そういう話が無いまま流れてきたので一応フォロー。新しいパッケージをインストールした時は docs をチェック。
0275nobodyさん
03/09/20 07:09ID:???どうもです。pearの各ライブラリにdocsディレクトリがあって
そこにサンプルがいっぱいあるなんて知りませんでした。
さっそく cvs co pear しちゃいました。
試行錯誤が必要なのは残念ですよね。ただ、それをする価値は
あると思うので頑張ってますが。1年後ぐらいにはpearもメジャ
ーになって翻訳じゃなく、ちゃんとした日本語の解説書なんか
も発売されると嬉しいです。
0276nobodyさん
03/09/20 21:13ID:???フォローありがとうです.
Web で参照できる URL の方が貼りやすかったのでそちらを使ってました.
# という他に,ssh 越しで docs 見るより Web の方が見やすい(色分けされるし)という大きな理由も(w
0277nobodyさん
03/09/20 21:21ID:???禿同!
てか漏れPHP会得するのにほとんどマニュアルしか見てなかったよ。
0278275
03/09/20 21:25ID:???ですよね、ポインタ入れてくれるのって嬉しいっす。
知らない人いたら何かなーとか思ったのでちとお節介でした。
レス楽しみにしてます、これからもがんがってくださいー。
0279nobodyさん
03/09/25 02:03ID:???XMLライクなマークアップを吐き出すスクリプトを作っています。
まぁ,RSSみたいな文書構造だとおもってください。
PHPのクラスの中にマークアップ自体を取り込んで書いてしまうのは邪道でしょうか?
あくまでも,文書構造自体は外部参照させたほうがコードはきれいなのでしょうが,
めんどくさいのと,モジュール化しにくいというのが理由です。
PEARのコーディングではどうなっているでしょうか?
0280nobodyさん
03/09/26 11:07ID:???自分的には全然困らないのですが、これでまた認知/浸透に一つ隔たりが出来ちゃったのかと思うと辛い部分も。
PEAR の各クラスを使ううちにメモ取りして時々公開もしてたんですけど、それを続けていくと「一番いいのは邦訳チームに参加する事」に行き当たって…
参加に際してまとまった時間が作れない事と、プログラマ/Unix歴1年生なので遠慮してましたが、、出来ることあるかな、、
0281nobodyさん
03/09/26 11:18ID:???人手は多いにこしたことないですし経験はあまり気にせずにチャレンジしてみ
てはいかがでしょうか。出来ることはたくさんあると思いますよ。
0283nobodyさん
03/09/29 05:42ID:???フォームの出力形式をいじるにはrendererを使えばよく、
rendererには5種類あるらしいというとこまでは分かりま
した。テーブルタグを使わないで出力したいんですが、そ
れってDefault rendererで出来ますか?英語が苦手なもの
で全て読むのがつらいです。どこを読めばいいかだけ教え
てもらえないでしょうか?
0284nobodyさん
03/09/29 09:43ID:???renderer って配列作って渡してるだけなので中見たら解るよ。
取り敢えず Smarty 用のレンダラは行ける。 Dynamic より Static の方が構造がシンプル。
0285nobodyさん
03/09/29 13:58ID:???table タグを使わないで出力ってのも Default_renderer で出来ます.
>>273 を参照しつつ,HTML_QuickForm オブジェクトを new して,ひとまず getElementTemplate() の出力を見てみてください.
で,それ見ながら何となーく理解した気になってテキトーに HTML を書き,setElementTemplate() して,
addElement() して display() して,出力された HTML を眺めると,簡単に解るんじゃないかと思います.
# でも,PEAR のマニュアルとかは難しい英語は使われていないので,練習して読めるようになる方がオトクでっせ(w
0286nobodyさん
03/09/29 14:21ID:???レスサンキューです。ちょっと今から試してみてまた結果
書き込みますね。遅くなるかもしれないですけど。
# 最近がんばって読むようにしてます。マニュアルとかに
よく使われる単語(implementとか)が染みついてきてなんと
か読めるようになってきました。
0287nobodyさん
03/10/07 11:09ID:???APC-2.0をインストールしてみたのですが、php.iniに
extension="apc.so"
とだけ書いて、apacheを起動したところ、ログに
PHP Warning: Unknown(): Unable to load dynamic library './apc.so'
- Cannot open "./apc.so" in Unknown on line 0
と表示されてAPCが有効になりません。なにか対処方法はありますでしょうか。
環境は
FreeBSD-4.8-RELEASE
Apache-1.3.28
PHP-4.3.3
です。
0289287
03/10/07 21:38ID:???extension_dir(手元の環境だと/usr/local/lib/20020429)にapc.soはあります。
パーミッションは、次の通りです。
-rwxr-xr-x 1 root wheel 217706 Oct 7 10:57 /usr/local/lib/php/20020429/apc.so
よろしくお願いします。
0290nobodyさん
03/10/09 10:04ID:???extension_dirが
"./"
と、なってません?
0291nobodyさん
03/10/09 15:22ID:???問題のページと同じ場所で phpinfo() して include_dir に /usr/local/lib/php/20020429 が含まれているかどうか確認されてみてはいかがかと.
# 既に確認済みだったらすんまそん
0292nobodyさん
03/10/10 00:38ID:???php.iniにinclude_dirというdirectiveは、そもそもありません。
include_pathあるいはsafe_mode_include_dirはありますが、
いずれにせよ、それらは、ここで質問されているモジュール(loadable
extensions)のディレクトリとは無関係です。
仮に、php.iniのパス関係directiveをチェックするのであれば、
extension_dirを確かめなければなりません。
0293287
03/10/10 11:01ID:???php.iniを確認したところ、
extension_dir = "./"
になっていましたので、
extension_dir = "/usr/local/lib/php/20020429/"
に書き直して、httpdを再起動したところ、無事にAPCが動き出しました。
本当にどうもありがとうございました。
0294nobodyさん
03/10/24 15:39ID:???0295nobodyさん
03/10/24 18:02ID:???何するもんなの?>PHP_Parser
0296nobodyさん
03/10/24 21:41ID:???ちょうど php-users ML でこれを必要としてそうな人がいたので投稿してしまいました.
「他人の褌で相撲」たぁこのことだ.
しかし,すごいんだけど,使うシチュエーションがあまり思い浮かばないな(w
0297nobodyさん
03/10/24 22:25ID:???前に誰かどこかで話してたよな。と思って、、発見。
[pear-php:0057] PHP のリバースエンジニアリングツール
元々はコードからUMLを生成するツールを探していたみたいだけどyacc, lex, javaccとかに話が及んでコードパーサーあると便利だねって話になってる。
上のリバースエンジニアリングの話もあると思うけど、あとはDoxygenのようなツールが出来るよね、とか。
> また、ちょっと複雑な定型フォーマットを汎用的なフォーマットに変換したり、
> DB に格納したりする処理も簡単に対処できるでしょう
重たんが色々つついてくれてるので興味ある人は見てみると良いかも。pear-php@freeml.comで探すよろし。
> PHP_Parser の説明にあった phpJay をググってみると phpLex というのがある
> ようですが…
とかも。
ついでにMLに振った話ならヲチスレの方で話題になってます。話題というか餌というか。
あれダメこれダメ言って今の方法にこだわらないならもっと良い方法はいくらでも学べると思うんですよ。
テストやりたいならPHPUnitでいくらでもサンプルがあってもっとスマートでノウハウが公開&共有された方法が構築できるわけで。
何故みんな各論で駆け込んでくるんだろう。せっかくML使うなら達人の考え方や持ってる物を最大限に引き出してパクろうとすればいいのに。
0298nobodyさん
03/10/24 23:26ID:???そういえばそんな話をしてたなぁ,と過去ログ漁り.
こういうメタなツールは必要とする人間も少ないのか,話題がぷっつり切れてますね.
面白そうな話題だけに,ちと残念.
各論で来るのは,それ以外の方法を知らないんでしょうねきっと.周囲に「きちんと出来る人」がいないと,きちんとした方法を知ることもできず,かといって考え出すこともできない人たち.
この辺について書こうとしたら pear と全く関係ない上にただの愚痴になったので省略(w
>>297さんの考えにほぼ同意です.
0299nobodyさん
03/10/25 00:24ID:???つまりこのクラスは PEAR自体がPHP5(betaだけど)に対応するためのツールなのだ。
0300nobodyさん
03/10/25 00:37ID:???ってあれ?
PHP5とPHP4で差違を吸収するって方向で話が進んでいたような。
ネームスペース廃止で結局どうなったのか知りませんけど。
0301nobodyさん
03/10/25 00:51ID:???といいつつ,大抵のコードは implicit_clone さえあれば何とかなる気がしますが(w
# っつーか,なきゃ死ぬ
0302nobodyさん
03/10/25 03:30ID:???表示して遊んでるけどなんか楽しいなコレ
phpDocumentorと合わせて
何もかもドキュメント化したくなる・・・
0304303
03/10/30 10:47ID:???0305nobodyさん
03/11/01 14:59ID:???0306nobodyさん
03/11/02 02:21ID:???ちと不安に思ってたら,最近 BC 維持のコードが加わった模様.
よかったよかった.
■ このスレッドは過去ログ倉庫に格納されています