Pear
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG0274nobodyさん
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 に格納したりする処理も簡単に対処できるでしょう
重たんが色々つついてくれてるので興味ある人は見てみると良いかも。[email protected]で探すよろし。
> 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 維持のコードが加わった模様.
よかったよかった.
0307nobodyさん
03/11/09 23:44ID:???element配列がname属性のインデックスで取得する事のできる
簡単な方法は今のところ実装されてないんでしょうか・・・
自前でインデックス用の配列作るしかないのか・・・
0308307
03/11/27 02:34ID:???element名をキーにしたelement配列を吐く
レンダラを自前で用意しました
HTML_QuickFormって凄いですね
管理画面とか作る時に
凄い楽になりそうだ・・・
0309nobodyさん
03/12/07 03:50ID:Oq3ugULsPEARMLもサッパリだし
0310nobodyさん
03/12/07 14:52ID:???phpDocumentorを使うのが楽しくって楽しくって。
0311nobodyさん
03/12/08 00:50ID:???Documentorがエラーはかないように
コメント直した方がいいんじゃないのかとちょっと思う
せめてコアなモジュールだけでも
0312nobodyさん
03/12/09 18:18ID:???>>309
話題投入。
大分前にこのスレで晒したケースツール EnterpriseArchitect がマジで PHP に対応してくれますた。
バグ抱えてたりディレクトリまたいだ継承関係の探索が出来ないとか問題多いけどこれでクラス図 <> コード を往復する手段が出来た。
OO ふぇちな人は幸せになれると思われ。
EnterpriseArchitect (30 日試用版有り)
http://www.sparxsystems.jp/ea.htm
コード生成/リバースエンジニアリングの利用には Professional 版以上が必要
スクリーンショット
http://phphp.net/php/archives/sc_ea_phpreng.gif
http://phphp.net/php/archives/sc_ea_inherit.gif
0313nobodyさん
03/12/10 05:15ID:???0314nobodyさん
03/12/12 22:18ID:???pecl.php.netって紫なのね。
緑のPECLバナーはいまのうちに拾って置かないと無くなるんだろうな。
php.netも
www,
gtk.
smarty.
qa.
pear.
pecl.
とカラフルになってきたね。次は赤かな?
0315nobodyさん
03/12/13 01:27ID:???0316nobodyさん
03/12/13 15:44ID:???0318nobodyさん
03/12/14 03:36ID:???bugs ってのもありますえ.
色よりも虫が気になるデザインですがw
ところで Web+DB Vol.18 っていつ発売なんでしょーか.
まだ Vol.17 の情報しか載ってないや > ttp://www.gihyo.co.jp/magazines/wdpress
0319nobodyさん
03/12/15 15:51ID:???どーしてHTML_Template_IT(X)にはgetBlockTemplate()とゆーメソッドが存在しねーのだ!
0320nobodyさん
03/12/15 20:54ID:???英語マニュアルを読むか、今月中に翻訳の予定があるのでまたーり待ってください。
0321nobodyさん
03/12/22 16:36ID:???PHP-users 19438 の話題は、 ピアソンの J2EE パターンの 5.1.2 「同期トー
クンを導入する」に詳しいですが (例として Struts のコードが載ってい
ます) 、こういう簡単なユーティリティクラスが PEAR にあれば皆様は使いた
いと思われますか?皆が一様にこういうのを作るのはアホらしいと感じている
今日この頃です。
最近 Mojavi (http://mojavi.org/) を実践投入しました。 Pharme よりかゆ
いところに手が届いて良い感じです。
雑感を列挙しますと、
- Filter の実装は素晴らしい。
- Forward もリダイレクトを使っておらずスマート。
- 中途半端な RBAC 機構 (User.class.php) が辛い。 LiveUser 等を使用した
ければ User.class.php を書き換える必要がある。
- 更に上記 User.class.php で session_start() がハードコードされている
のが辛い。 HTTP_Session + LiveUser + Mojavi だと結構書き換える必要が
ありそう。
- 辛いところもリファクタリングすれば素晴らしいものになりそう。
といったところです。
http://mojavi.org/diagrams/action_sequence.png
http://mojavi.org/diagrams/filterchain_sequence.png
あと (M)DB_QueryTool はクエリ構築やクエリの保存等に適しておりなかなか
良いです。
フレームワークとか CMS の実装が多すぎるのが一番辛い...
0322nobodyさん
03/12/22 17:11ID:???辛いっすねぇ. そのくせ決め手が無いような.
たまたまフレームワークの誕生シーンをヲチしてると
・自分が欲しいのは Web アプリケーション開発時に必要なお決まりツールのお膳立て
でもデベロッパーが作りたがるのは
・発想やアイデアの検証/実装としてのフレームワーク
ってな感じで. その辺がギャップなのかもと思った事があります.
0323321
03/12/22 17:49ID:???そうですね。面白くもないビジネスロジックを書くよりフレームワーク書く方
が楽しいのは解りますけど。どこかの CMS か ERP 系の紹介サイトのトップに
でかでかと、「これ以上新規のものを作らないで下さい」と書いてあるのには
笑ってしまいました。
とにかくある程度のリソースの集中が望まれますね。
面白そう。
Smarty連携も出来るみたいだし、ちょっとさわってみてます。
ただ、自分みたいに英語苦手だとやっぱ苦しいです(苦笑
// 根本的にMVCモデルに対する理解が浅いし…
0327321
03/12/24 17:35ID:???Smarty 連携は SmartyRenderer.php を見れば解りますが固定で Smarty クラ
スを呼び出していますので、 Smarty の派生クラスを呼び出したい場合は少し
改造が必要です。ドキュメントはそのうち邦訳して Wiki にアップしておきま
す。下の即席パッチの場合は Smarty (派生) クラスは webapp/config.php で
自前でロードしておいて下さい。本家にも提案してみます。
--- mojavi-1.0.orig/lib/SmartyRenderer.class.php 2003-11-07 13:05:48.000000000 +0900
+++ mojavi-1.0/lib/SmartyRenderer.class.php 2003-12-24 17:30:04.317000500 +0900
@@ -20,14 +20,17 @@
* @param params Smarty initialization parameters.
* @param template Template file.
*/
- function SmartyRenderer (&$controller, $params, $template = NULL)
+ function SmartyRenderer(&$controller, $params, $template = NULL,
+ $class_name = null)
{
parent::Renderer($controller, $template);
- require_once(SMARTY_DIR . 'Smarty.class.php');
-
- $this->_smarty =& new Smarty;
+ if ($class_name === null || !class_exists(strtolower($class_name))) {
+ $this->_smarty = &new Smarty;
+ } else {
+ $this->_smarty = &new $class_name;
+ }
// apply Smarty settings
$keys = array_keys($params);
0328321
03/12/28 21:55ID:???http://www.mojavi.org/
2.0b1使ってみようとしたけど、
ドキュメントも見あたらず手が出せず(苦笑
おとなしく1.0さわりながら様子見しようかなぁと。
0330321
03/12/29 18:16ID:???先程 1.0 => 2.0 b1 の移行が終わりました。
2ch PEAR Wiki にいい加減なチュートリアルを掲載しておきましたので参考にして下さい。
質問があればなんでもどうぞ。
おお、素早い。
早速見てきますねー。
どうやらPHP5だと駄目っぽい?
Fatal error: Class 'Filter' not found in /home/hogehoge/mojavi/mojavi-all-classes.php on line 6
こんな感じ。
0333nobodyさん
03/12/30 02:37ID:???なにやら新しいテンプレート(名前わすれた)とかコードを暗号化する
やつとか色々あってよさげでしたよん。あの雑誌最近 JAVA ばっかだし
値段もあれなんで買ってないんだけどね。その割に MDB とか興味ある
記事がちょぴっとだけ載っててほんと困ったもんです。。
0334nobodyさん
03/12/30 08:03ID:???今号はPostgreSQLのコネクションプーリングの話とかも乗ってる。
PEARも第2特集だし買ってもいいのでは?
あと俺は著者ではない。
立ち読みでなく買ってほしいなぁ(苦笑
売れ行きが良ければ、頻繁にPHPのこと掲載されるかも?
自分は著者の一人なので露骨な宣伝ですが。
0336nobodyさん
03/12/30 11:28ID:???それが無理なら PHP のとこだけまとめてムック化してほしい。
0337nobodyさん
03/12/30 13:46ID:???のんのん、月刊専門誌創刊ですよ。
入門/初心者記事切り捨ての歯ごたえ抜群なヤツ。
カナダ、フランス、ドイツじゃぁ専門誌出来てるんだし。
# まぁ無理てのは解ってるけど (´・ω・`) 言わせるだけは言わせて
0338nobodyさん
03/12/30 13:56ID:???0339nobodyさん
03/12/30 19:24ID:???それの元はカナダの php|architect
アシアルさんが改訂加えたりオリジナル記事を入れたりといった事があるようなのでその辺期待したいけど。
0340nobodyさん
03/12/30 19:25ID:???新しいテンプレート,「Flexy」ですな。
買って読んだけど,結構面白かった。
しかし・・Web+DB,1480円はちょっと高いよ・・・
0341nobodyさん
03/12/30 19:57ID:???3食 袋ラーメンにして買いますた。
今号が特別に高いワケではなくコンスタントに \1,480 なんだよね。
まぁマイナー雑誌の宿命というか。
LinuxJapan を思い出した。
0342nobodyさん
03/12/30 22:47ID:???誤解を招くような表現でごめんなさい。今回の特集はさすがに
立ち読みで済ませられるような量じゃないしちゃんと買います
よん。英語のドキュメントすら乏しい状況であそこまで記事書
くのって並大抵の苦労じゃないと思いますし。
別に JAVA が嫌いなわけじゃないけど PHP の記事がもっと増
えるといいですね。ムック化されたら絶対買います。
0343nobodyさん
03/12/31 03:15ID:???あとPEARって腐るの早いからムック化作業も死ねそう。
PHP子供相談室の Template_IT 記事とかもう遅れちゃってるし。
修正が多いって事はその分買う価値もあるって事なんだけど。
# 雑誌に \1,480 無理ーってのはよく解る。
# 筆者の人数増やして青マンモス形式で緑マンモスとか?
# 雑誌/出版の業態が合致してないんかな。いっそアシアルさんで出版とか。
1. Smartyでプリフィルタ/ポストフィルタ使いたい時はどうする物?
派生クラス作ってそこで書き換えようと思ったら
compile_dirは書き換わってるんだけどフィルタが効いてない様子
2. 他のページへのリンク
Aタグとかで他のページに飛びたい時に
<a href="/index.php/module/ModuleName/ActionName/">
とかそのまま書いてしまう物なんでしょうか?
// というか、これをPEARスレに書くってのも何か違うかな(苦笑
0345nobodyさん
04/01/03 13:38ID:???0346nobodyさん
04/01/05 10:46ID:???ムック化は別に連載じゃなくてもいいと思うよ。
PHP 記事は無差別にページスキャンでもして PDF 化、で十分。
日経ソフトウェアも PDF 化してるね。>>336
0347321
04/01/05 15:45ID:???1 についてです。どういう動作を期待されているのか把握できていませんので推測に
なります。ご了承下さい。
確認のために書きますが、現状のコードでは View の子クラスから Renderer の子ク
ラスのインスタンスが戻ってきた直後に $renderer->execute() によって変数の展開
が行われます。 (ExecutionFilter.class.php の 157 行目以降を参照。)
なのでポストフィルタで $smarty->compile_dir 等を変更することは (可能だとして
も) 意味を持たないように思えます。
Smarty の設定や変数を自由に設定しながらフィルタを使用して最終的に表示させるた
めの私の考えつく要件は、
1. SmartyRenderer (またはその派生) クラスに対して singleton() メソッドを実装
したクラスを用意する。
2. SmartyRenderer (またはその派生) クラスで execute() メソッドで何も行わない
ようにする。あるいは少なくとも $smarty->fetch() メソッドを呼び出さないよう
にする。そして元の execute() 相当のメソッドを別に用意する。
長いので次に続きます。
0348321
04/01/05 15:46ID:???3. Smarty 用のフィルタを作成する。
3.1. プリフィルタを実装する。
3.1.1. この段階で singleton メソッドを呼び出しレンダリングモードを RENDER_VAR
に設定する。現在のところ何故かレンダリングモードを設定する箇所が 2 つ
あります。 $controller->setRenderMode($mode) と
$renderer->setMode($mode) です。 2 つうちどちらかが RENDER_VAR になっ
ている場合は $renderer->_result に結果を格納するようです。このプロパテ
ィは $renderer->fetchResult() で取得できます。デフォルトは、
$renderer->_mode => RENDER_VAR
$controller->_rederMode => null
です。
3.2. ポストフィルタを実装する。最後に 2 の execute() 相当のメソッドを呼び出し
てから $renderer->fetchResult() を使用して結果を出力させるようにする。
Note. View 派生クラスの execute() メソッド内では上記 singleton() メソッドを使
用して必要な操作を行う。
長文申し訳ない。あと勘違いしていたらすみません。
0349321
04/01/05 15:59ID:???2 についてです。
現状では下記のメソッドが用意されています。
$controller->getRequestModule()
$controller->getRequestAction()
$controller->getCurrentModule()
$controller->getCurrentAction()
決めうちする場合は現状では便利なものは用意されていません。
自前でユーティリティクラスを用意すると便利かもしれませんね。
関係ないですが、 ActionChain クラスは現在のところ使われていませんね。
あと重複しているメソッドもどうにかしないと混乱を招くと思う...
>// というか、これをPEARスレに書くってのも何か違うかな(苦笑
一応 2ch PEAR Wiki の趣旨には沿っていると思いますが、皆さんいかがでしょうか?
332 の件はもう解決されました?
う、ちょっとわかりづらかったですか。
えっとやりたいことはテンプレートファイルの文字コード変換で
プレフィルタでテンプレートファイルをUTF-8に変換。
ポストフィルタでSJISに変換、という感じです。
SmartyRendererクラスから派生させたMySmartyRndererクラスを作り、
その中で
$this->_engine->register_postfilter('postfillter01');
とかしてみたんだけど、変化無い様子・・・。
// $smarty->compile_dirの件は一緒に書くべきじゃなかったですね。
// こちらは解決してます。
>現状では下記のメソッドが用意されています。
このメソッドで返ってきたアドレスを
setAttributeメソッドでセットする、というのであってるでしょうか。
>332 の件はもう解決されました?
とりあえず時間無かったので環境の方をPHP4に入れ替えてしまい、
原因追いかけてません(苦笑
また時間のあるときに見てみます。
0352321
04/01/05 17:48ID:???なるほど Smarty のフィルタのことでしたか。 Mojavi のフィルタのことだと勘違い
してました。 Smarty のフィルタに関しては素人なので残念ながらアドバイスできま
せん...
>>351
それで良いと思います。
0353nobodyさん
04/01/05 23:16ID:???>>350
Smartyのフィルタ関係は、mojaviでもちゃんと動作するようです。
文字コードを変換する目的となる仕様が分からないので何とも言えないんですが、
適用するフィルタの使いどころが適切じゃないかも。
フィルタ動作に関しては、
・prefilter -> {}タグを含む素のテンプレートに対して何かする。
・postfilter -> テンプレートタグがSmartyによってパースされ、php構文とスタティックなhtmlが混在する。
./templates_cに保存される寸前の内容、これに対して何かする。
・outpufilter -> Smartyがdisplay()またはfetch() した時の出力に対して何かする。
(※補足: テンプレートで{include ...}した場合にも、その度にprefilter, postfilterが呼ばれる。)
だと思うので、文字コードをそれらのフィルタで変換するのはマズそう。
文字コード変える目的は、
テンプレートをSJISで書いていてその場合一部の文字の中に
Smartyにとって意味のある文字(中括弧とか)が含まれてるらしく、
エラーになってしまうのですよ。
// http://ns1.php.gr.jp/pipermail/php-users/2003-February/013595.html
で、普通にSmarty使ってる時には正常に動いてるんだけど
mojavi組み込みでregister_*メソッドによるフィルタの登録が
うまくいってない気がしたので何故かなぁと。
0355nobodyさん
04/01/09 23:38ID:???0356nobodyさん
04/01/11 14:40ID:???perldoc h2xs にある、
h2xs - convert .h C header files to Perl extensions
という機能が Pear にあるかということでしたらありません。
PEAR パッケージは現在のところ Perl のような C エクステンション混在型で
はなく Pure PHP のものばかりです。
スケルトンファイル生成のコマンドも私の知る限りはないようです。
もし C エクステンションに関して知りたいなら PECL の方を調査なさった方
がよいと思います。
お役に立てずに申し訳ない。
0357nobodyさん
04/01/11 20:06ID:???pear install hogehoge
としてインストールした時とディレクトリ構成が違います。
HTML_Menu というふうに1つ1つディレクトリが存在してるん
です。これってそのままコピーしても問題ないんでしょうか。
0358nobodyさん
04/01/11 20:23ID:???PEAR CVS はパッケージごとにディレクトリが作成されています。
PEAR CVS のパッケージをインストールしたい場合は、下記のようにして下さ
い。
1. インストールしたいパッケージのディレクトリに cd する。
$ cd /path/to/CVSWORK/pear/HTML_Menu
2. pear install package.xml とする。
$ pear install package.xml
あとは同じように使用できます。
0359nobodyさん
04/01/11 23:57ID:???ありがとうございます。pearのマニュアルで cvs installer の項目が
まだ完成してないみたいで困ってました。
ところで、sourceforge が死んでるみたいで
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=dl
にある htmltemplate がダウンロード出きまえん。どこかに二次配布
してるところないでしょうか。説明を見た感じだと smarty より100倍
単純っぽいので使ってみたいなと思ったんですが。。
0360h2xsの件
04/01/12 00:20ID:???Cならext_skelでひな形には十分なんだけど,
pure PHPなパッケージなひな形あるのかなって疑問でした。
sakuraエディタのマクロにPEAR互換のひな形を生成するものがあったので,
とりあえず,それでよしとします。
0361nobodyさん
04/01/12 00:21ID:???pear install package
じゃいけんのけ?
0363nobodyさん
04/01/12 19:23ID:???Changelog によるとリリース 1.2 から導入されたようです。
http://pear.php.net/package-changelog.php?package=PEAR
PHP にバンドルされている PEAR のバージョンがそれより古いのではないでし
ょうか。
0365nobodyさん
04/01/20 12:16ID:nITe0q1Vrequire_once "HTML/QuickForm.php";
$form =& new HTML_QuickForm('form', 'post');
$form->addElement('select', 'test', 'Select:', array('A'=>'A', 'B'=>'B','C'=>'C','DEFAULT'=>'--選択してください--'));
$form->addElement('submit', 'mode', 'submit');
$defaultValues['test'] = 'DEFAULT';
$form->setDefaults($defaultValues);
$form->display();
submitボタンを押してページが遷移した後に、
再びDEFAULT(--選択してください--)を選択させたいのですが、
setDefaults()が有効にならずに、前の画面で選択された項目が表示されてしまいます。
何か別の方法があるのでしょうか?
0366nobodyさん
04/01/20 13:53ID:???$form =& new HTML_QuickForm('form', 'post');
$form->addElement('select', 'test', 'Select:', array('A'=>'A', 'B'=>'B','C'=>'C','DEFAULT'=>'--選択してください--'));
$form->addElement('submit', 'mode', 'submit');
$element =& $form->getElement('select');
$element->setValue('DEFAULT');
$form->display();
当然、このままだとひたすら DEFAULT になるんで
validate() が true なら本処理、false なら getElement, setValue で値を狙い打ち
みたいな形になるかと。
というか、値を戻したい理由が validate false くらいしか思いつかんのだが。
0367365
04/01/20 17:11ID:???ありがとうございます。うまくいきました。
選択肢を「初期値に戻すボタン」をつけてみたかったのです。
で、実際にはフォームのオブジェクが複数あるので、
こんな感じにしてみようと思うのですが、_defaultValues使うのは反則ですよね、、、
function setMyDefaults(&$form) {
__foreach ($form->_defaultValues as $key => $var) {
____$element =& $form->getElement($key);
____$element->setValue($var);
__}
}
なにか良い方法をご存じの方いらっしゃいましたらアドバイスお願いします。
0368nobodyさん
04/01/20 17:15ID:???setDefaults() の代わりに setConstants() を使いましょう.
Defaults は SubmittedValues で上書きされますが,Constants は上書きされません.
>>366の提案の setValue() を使うのとほとんど同じ効果になりますが,
getElement() する手間が省けます(w
ちなみに getSubmittedValues() や process(),validate() 等に渡される値は
setValue() しても setConstants() しても,POST で渡された値になります.
っつーか一番の疑問は,なんで DEFAULT に戻したいのか?ですが……
0369368
04/01/20 17:25ID:???初期値に戻すボタンなら,
$defaultValues['test'] = 'DEFAULT';
$form->setDefaults($defaultValues);
のトコを
$defaultValues['test'] = 'DEFAULT';
if ($_POST['default_button']) { // 初期値ボタンが押された
$form->setConstants($defaultValues);
} else {
$form->setDefaults($defaultValues);
}
って感じでしょーかね.
0370nobodyさん
04/01/20 19:13ID:???ありがとうございます。setConstantsがまさに望んでいたものです。
アドバイスくださった366さん、368さん、どうもありがとうございました。
以下、同じ悩みに直面した人用のサンプルです。誰かのお役に立てば幸いです。
$form =& new HTML_QuickForm('form', 'post');
$form->addElement('select', 'max', '閾値', array('10'=>'10%', '20'=>'20%','30'=>'30%'));
$form->addElement('submit', 'mode', '設定');
$form->addElement('submit', 'mode', '初期値に戻す');
$defaultValues['max'] = '20';
if (isset($_POST['mode']) && $_POST['mode'] == '初期値に戻す') {
$form->setConstants($defaultValues);
} else {
$form->setDefaults($defaultValues);
}
$form->display();
0372365=367=370
04/01/20 22:33ID:???レスありがとうございます。
submitする前ならresetで元に戻せば良いのですが、
submitしてページが遷移した後に、再びデフォルトの値に戻したかったのです。
わかりにくい説明ですみません、、、
0373nobodyさん
04/01/22 11:38ID:???どんどん進歩に取り残されていく実感.
どなたか使用されてますか? 安定性は実用レベルでしょうか?
0374nobodyさん
04/01/22 11:53ID:???安定性が云々って話じゃないか(実際に安定してるかどうかは別として).
■ このスレッドは過去ログ倉庫に格納されています