Pear
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG0521nobodyさん
04/06/14 04:04ID:???Warning: mb_strpos(): Unknown encoding or conversion error. in /usr/local/lib/php/HTML/Template/Flexy/Compiler/Standard.php on line 667
Warning: mb_strpos(): Unknown encoding or conversion error. in /usr/local/lib/php/HTML/Template/Flexy/Compiler/Standard.php on line 675
その後でこんなエラーが出ます
Parse error: parse error in /home/httpd/hoge/compiled_templates/flexy-static.html.en.php on line 51
これはテンプレートにマルチバイト文字が含まれてる場合だけに発生して
全部英数字の場合はうまくいきます。
php.ini で str* 関数をオーバーロードするように設定してたので、一旦
それを外したら上手く動きました。文字化けもしてないようなんで一安心
なんですが、mb_strpos じゃなくて素の strpos を使っててそのうち問題が
起きないか心配です。
このエラーはうちの環境だけで皆さんは普通に動いてますか?
mb_系関数でのオーバーロードは使わないのが基本だと思う・・・。
mb_系使うときは明示的に指定すればいいわけで、
素の状態の関数が使えないのはやばい。
0524520
04/06/15 11:29ID:???うちの環境では以下のコードで期待通りに動きます.
<?php
require_once 'HTML/QuickForm.php';
$form = &new HTML_QuickForm('test');
$elementValid[] = &HTML_QuickForm::createElement('radio', null, null, '確認済み', 'yes');
$elementValid[] = &HTML_QuickForm::createElement('radio', null, null, '未確認', 'no');
$form->addGroup($elementValid, 'valid', '確認:', '?');
$form->setDefaults(array('valid' => 'no'));
$form->display();
?>
これでダメなら H_QF のバージョンが古いとかですかね……
0525nobodyさん
04/06/15 12:45ID:???使えない。
0526nobodyさん
04/06/15 12:47ID:???0527nobodyさん
04/06/15 13:29ID:???0528nobodyさん
04/06/15 13:51ID:???$form->accept($qf);
$smarty->assign('form', $qf->toArray());
これだけでわかりますかねぃ。
$smartyがsmartyのオブジェクト。
$formがaddElementとかしたQuickFormのオブジェクト。
んで、テンプレート側では
<form {$form.attributes}>
{$form.name.label} : {$form.name.html} {$form.name.error}
{$form.submit.html}
</form>
みたいに記述。
0530nobodyさん
04/06/16 11:06ID:???HTML_QuickForm のドキュメント,ごたごたして見づらいけど,
先頭の方の addElement() とかしてる部分を読み飛ばせば解りやすいかと.
ttp://cvs.php.net/co.php/pear/HTML_QuickForm/docs/renderers/SmartyDynamic_example.php?r=1.2
ttp://cvs.php.net/co.php/pear/HTML_QuickForm/docs/renderers/SmartyStatic_example.php?r=1.2
つってもあたしゃお手軽な HTML_Template_Sigma 使いなので Smarty 使ってねーのですけどね(w
0531nobodyさん
04/06/16 21:13ID:???こういう風に使う場合、
TML_QuickForm_Renderer_ArraySmartyのコンストラクタって
smartyオブジェクトが引数になってるけど、
水面下のレンダラのクラス内でsmartyオブジェクト使って何やってるんだろう
今ソース追いかけてるんですけど今いちピンとこない・・・
0532531
04/06/16 21:16ID:???HTML_QuickForm_Renderer_ArraySmartyです
0533nobodyさん
04/06/16 22:38ID:???便利だなぁ。
pearのテンプレートもみてみます。
0534nobodyさん
04/06/17 20:20ID:???テンプレートにはブロックやプラグインの機能が追加され、
Smartyのassign()のようにデータを登録するメソッドも追加された模様。
プラグインで変数の修正子を拡張できるようになったのが面白いけど
とりあえず今作りかけの2chビューワは0.8.2までのAPIだけで行こう。。。
0535nobodyさん
04/06/20 06:04ID:???いろいろありますけど、
それぞれの違いを解説したサイトなんてありますか?
0536nobodyさん
04/06/20 08:35ID:???というのも、鯖によってPEARがインストールされているかどうかがまちまちだからです。
それなら、配布パッケージにPEARをはじめから添付させればいいじゃないかと
思われるかもしれませんが、
そうすると、
Fatal error: Cannot redeclare class pear in /usr/local/lib/php/...
といったエラーがでる可能性があります。
従って、PEARを使う場合にはユーザーにわざわざPEARが
インストールされているかどうか確かめてもらって
それによってスクリプトの設定を修正してもらう必要がでてきてしまいます。
まぁ、class_exists関数をいちいち書いてやればいいのですが・・
とにかく、何かと面倒ですよねぇ。。。
0537536
04/06/20 08:48ID:???0538nobodyさん
04/06/20 09:34ID:???ファイル検索パスをちゃんと設定してやれば無問題。
$_base_dir = dirname(__FILE__);
$_include_path = $_base_dir . PATH_SEPARATOR . $_base_dir . '/lib';
ini_set('include_path', $_include_path);
0539536
04/06/20 09:55ID:???ありがとうっ
0540nobodyさん
04/06/20 22:06ID:???ドキュメントが全くないんじゃないかな・・?
みんなどうしてるの。
わざわざコード読むなら、
自分にあった小規模なフレームワークを
自作しちゃえばいい気がするし・・・。
0541nobodyさん
04/06/21 00:45ID:???配布じゃなくてレンサバでなんだけど
.htaccess でinclude_pathを設定して/usr/lib/php/の下を丸ごとうpしたことがある
php_value include_path /home/sites/users/acount/web/lib
0542nobodyさん
04/06/22 16:20ID:s1sNH/ZvPearインストール後、DB接続をしようとすると
Call to undefined function: setfetchmode()
と出るんですが、setfetchmode()が定義されてないってことですよね?
setfetchmode()ってわざわざ手動で定義する必要があるんでしょうか?
原因のわかる方、教えてください。
関連するソースコードは以下の通りです
require_once("DB.php");
$config = "mysql://mysql接続設定";
$db = DB :: connect( $config, true );
$db->setFetchMode( DB_FETCHMODE_ASSOC );
0543nobodyさん
04/06/22 16:24ID:???接続に成功しているかどうかを確認するのが先でしょう。
echo DB::isError($db) ? '成功': '失敗';
0544nobodyさん
04/06/22 16:26ID:???0546542
04/06/22 16:40ID:???その通りでした。
今回Pearを初めて触ってみたんですが、素のPHPと違って
DB接続エラーとかデフォルトで吐き出してくれないんですね。
ありがとうございました。
0547nobodyさん
04/06/22 17:24ID:???エラー時の振る舞いをこれで変更できます.
0549nobodyさん
04/06/22 17:55ID:???0550nobodyさん
04/06/22 23:08ID:???DBクラスの使い方についてはここが参考になると思う。
ttp://dokokano.com/php/php_pear_db.html
0552nobodyさん
04/06/23 13:34ID:???DB クラスは PEAR クラスを継承していないという驚きの事実
DB_xxx を返す factory のためだけのクラスだからですかね.
$db = DB::connect() して $db->setErrorHandling() なら可能なんでしょうかね.試してないけど.
0554nobodyさん
04/06/26 23:01ID:???0555nobodyさん
04/06/27 00:20ID:???0556nobodyさん
04/06/27 17:11ID:???0557nobodyさん
04/06/27 19:38ID:???0558nobodyさん
04/06/27 19:39ID:???0559nobodyさん
04/06/27 19:43ID:???0560nobodyさん
04/06/27 19:45ID:???0561nobodyさん
04/06/27 22:13ID:???0562554
04/07/01 14:18ID:???先日PHP質問スレでHTML_QuickFormの話がちょろっと出てて、
てか、前々から「便利だよ」と再三再四出ていた訳なんだが、
気にしつつ、マニュアルを見たらサクッと使える気がしなくて
敬遠してた。オサーソはなかなかついていけません。orz
んで、ちょっと使ってみた。スンゲー便利やん。
吐いたHTMLを見ると、タグの属性でalignやvalignを使ってるのねん。
別にW3C信者ってほどではないが、一部はCSSで指定しているんだし、
どうせならここらあたりもstyle属性で指定してくれりゃ... と思うのは
おらだけじゃないはず。きっと、デフォルト設定用メソッドが用意されているとは
思うが、もうどこかに、W3C信者用設定一式みたいなのはどこかに転がって、
Viewクラスのコンストラクタ辺りでHTML_QuickFormのインスタンス生成→Myデフォ設定
ってやってる方も居るはず。
そんなわけで、そこら周りのスクリプトだれか晒しぎぼんぬです。
0563554
04/07/01 15:29ID:???あーなるほど。
0565554
04/07/01 16:38ID:???うぃうぃ、そのようですな。
そして、Smarty用レンダラのtoArray()で吐く変数を見るとheader関係とエレメント関係の配列が
同じ次元に格納されている。つかえねぇー。
エレメント部分だけ一つ掘った配列にしてくれりゃ、{section}でループさせるのに...
submit辺りは自分で書くからさぁ。
もうちっと格闘するか。
0566564
04/07/01 18:52ID:???上手な使い方がどーにも思いつかない orz
Default レンダラで使うならともかく,テンプレエンジンと組ませると,かなーり不要な気がする.
header を活用しまくってるって人いたら使用例を公開きぼむ.
0567554
04/07/01 22:23ID:???チョト言い方悪かった。
headerエレメントというより、form全体のfrozen、javascript、attributes等と
同列の配列に、各エレメントの配列が並んでいるんですよ。
んで、素のtoArrayをみれば、ちゃんとエレメントは一つ掘っていました。
ちょっと何の為にSmarty用のレンダラが用意されているのか疑問。
正しい活用方法があれば教えて欲しい。
それか、toHtmlを書き直してごっそり押し込む方が楽が出来そう。
0568nobodyさん
04/07/01 22:54ID:???おそらく全く同じ疑問で悩んでる人発見
同列に並んでるからエレメントをループして表示させようとすると
いちいちfrozen、javascript、attributesを判断して抜かないとダメじゃん、
ってことですよね
結局俺もこれを解決する事ができずArraySmartyレンダラを諦めて
Arrayレンダラでやってます
ArraySmartyレンダラでこの問題を解決する方法ないもんでしょうか
自前でレンダラ書き直した方が速いのかな・・・
0570nobodyさん
04/07/02 03:14ID:???is_array($element) && isset($element.html)
とかやってたかも
スマートじゃないですか、、そうですか |出口| λ............
昔あった SmartyDynamic レンダラとかはそういう仕様だった気がする。
0571570
04/07/02 03:18ID:???> んで、素のtoArrayをみれば、ちゃんとエレメントは一つ掘っていました。
のことね。
> ちょっと何の為にSmarty用のレンダラが用意されているのか疑問。
ってのは Smarty だけじゃなく、他のテンプレートエンジンを考慮した時に生きてくるんじゃないかなと思ったり。
# 酔いどれ中につき、いろいろと失礼。
0572nobodyさん
04/07/02 09:56ID:???ArraySmarty ってソースにも書いてある通り ITStatic をベースにした static レンダラだから,
{section} で回せるものを吐くようにはそもそも出来ていない(使い方が違う)ってことではないかと.
テンプレートにエレメント名の項目をずらっと書いておけば accept() 一発でいけるわけで,
汎用テンプレートを使えるようにするには SmartyDynamic のようなものが必要,と.
どうして SmartyDynamic がなくなって代わりが用意されなかったのかは謎ですが.
0573554
04/07/02 10:59ID:???今form入力ページがたくさんある業務用サイトを作っていて、
数ページ程度ならエレメントをずらずらと並べるけど、なんだか
QuickFormの利点一つ(サンプルスクリプトを動かしてみたときの感動)が
スポイルされる気がするし、数十ページになるとループで回せるところは
テンプレート側で回したいので、現段階での結論は、汎用テンプレートを
用意しViewクラス内で素のQuickForm::toArray()で得た変数を元に
form部分をくみ上げて、メインのテンプレート内に押し込むことにします。
きっともっと便利な方法があるかもしれないけど、これだけ大きなクラスを
掌握する頭も時間もねぇー。
お付き合いありがとうございました。
0574nobodyさん
04/07/02 11:16ID:???|_・) 何かのフレームワークですか、、もじゃ?
0575nobodyさん
04/07/02 11:29ID:???確かにそういう用途だと Dynamic レンダラじゃないとやってられんですね……
今の作業が終わって手が空いたら SmartyDynamic を新たに作ってしまうと後が楽かもです(w
ArraySmarty を継承して,toArray() をうまいこと自作すれば,意外に簡単にいけそうな気がする.
0576554
04/07/02 15:23ID:???addRuleに独自のものを追加するには、
QuickForm::registerRule()で独自ルールチェック関数を追加する。
最終的にはcall_user_func()を使っている。
addRuleの第4引数はcall_user_funcの第3引数に渡るので、
汎用的なルールチェック関数も書ける。
んだが、QuickForm::registerRule()はViewクラスにあって、
ルールチェック関数はDBに問い合わせる都合上Modelクラスにあって、
スタティックコールできないメソッドの場合、どうすればいい?
強引にViewクラス内から
$this->form->registerRule('isUsed_Check','callback','isUsed_Check',&$GLOBALS['model']);
として、Modelクラスのメソッドを呼び出すことは出来て、結果正しく動いてますが、
こんなWarningが出ます。
Warning: Call-time pass-by-reference has been deprecated - argument passed by value;
If you would like to pass it by reference, modify the declaration of [runtime function name]().
If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file.
However, future versions may not support this any longer. in /usr/local/apache/htdocs/************* on line 34
とりあえず、.htaccessに php_flag allow_call_time_pass_reference On と書けば
Warningは出なくなりますけど、こんなんでいいのか?
0577nobodyさん
04/07/02 15:39ID:???自分は QF を extends して CommonForm.class.php を作成し、registerRule はそこでやってる
0579nobodyさん
04/07/02 16:06ID:???PHP5 で pass by reference が標準になることを考えれば,
allow_call_time_pass_by_reference が true なのが邪道とは言いかねると思う,個人的には.
で,そのフレームワークの構造がわからないとなんともだけど,
DB_DataObject が DB クラスを singleton 的に保持するように,
$GLOBALS をうまく使ってやれば,static に呼んでも動作するチェックコードを書けるのではないかと.
0580554
04/07/02 16:17ID:???レスどーもです。
どこかのフレームワークを使っているとかじゃないです。
独りでチマチマやってます。
独学なんでやり方そのものが怪しいのかもしれんが、
siteAを作る場合、それようのVIEWとMODELクラスを作りますが、
必要最低限のCommonViewとCommonModelはあって、それぞれextendsしてます。
QFは今回初めてだし、Form入力の無いページもあるので、
必要なときにだけ生成させようかと。siteA_View->Qfrom
なんで、siteA_View->Qfrom->registerRule() でルールチェック関数に
siteA_Model->isUsed_Checkを指定したいということです。
ご理解いただけましたでしょうか?
> DB_DataObject が DB クラスを singleton 的に保持するように,
> $GLOBALS をうまく使ってやれば,static に呼んでも動作するチェックコードを書けるのではないかと.
うげ、意味がわかんね。orz
0581nobodyさん
04/07/02 16:54ID:???あーなるほど.
とりあえず,
関数名のトコに 'isUsed_Check' でなく array( &$GLOBALS[ 'model' ], 'isUsed_Check' ) を指定すると,
正しくそのオブジェクトのメソッドを叩くようになるんではないでしょーか.
<?php
$this->form->registerRule('isUsed_Check','callback',array( &$GLOBALS[ 'model' ], 'isUsed_Check' ));
?>
みたいな.
でも QF の Rule はある意味でビジネスロジックだから Model に入るのは良いとして,
それなら Model が QF 全部を生成し,それへの参照を View が持つようにする方が良いのではないか,とか,
漠然と思いましたです.
0582554
04/07/02 17:35ID:???あーそっかー。
QFのコードを追っかけながら書いてたから、バカ正直に第4引数を使うことしか頭になかった。
と、言い訳を言ってみたが、あったまかてーわな。
allow_call_time_pass_referenceをoffにしてもエラーが出なくなりました。どうもです。
QFをModelで生成するかどうかは、もう少し様子を見ます。Smartyとの連携もあるし。
あと1点気にしているんですが、そもそもあるメソッドから別クラスのメソッドを呼ぶのに
call_user_func(&$GLOBALS[ 'class_name' ], 'method_name' ); というように、
$GLOBALSを使うのって「あり」ですか? てか、これ以外の手法って知らないんですけど。
1.あり
2.別の正しい方法がある
3.別クラスのメソッドを直接呼び出すのがそもそも邪道。
4.スタティックコールできるように組む。
5.他
独学なんで、ナニが王道なのか気になる。
0583nobodyさん
04/07/02 18:06ID:???あるクラスのインスタンスを共有して使いたい時に $GLOBALS を使う例は PEAR にも多々あります.
例えば DB_DataObject は内部で DB クラスのインスタンスを使うんだけど,
$GLOBALS[ '_DB_DataObject_connection' ] みたいのに DB オブジェクトを入れておいて,
DB_DataObject クラスの各インスタンスから共通で使用したりしてます.
ただ,$GLOBALS の乱用はコードを超見にくくするので,
上記のように特殊かつ限定された利用法に留めるのがよろしいかと.
話それるけど、ちょっと気になったので。
DB_DataObjectのインスタンスを共通で使うのは何故でしょ?
DB_DataObjectで使っているPEAR::DBのインスタンスはGLOBALSに保持して
中で共通の物使ってるからあまり意味ないような気が・・・。
(DB_DataObject::debugLevel(5)とすればわかるんだけど、
既に一回DataObject(からfactoryした場合も)を使った後は
既に生成済みのDBインスタンスを使ってます。
デバッグメッセージには「Cached Connection」とかそれっぽく出るはず)
0585nobodyさん
04/07/03 04:10ID:???DB_DataObject の複数のインスタンスがひとつの DB のインスタンスを共有する,
って意味のことを書きたかったんで……
おっしゃることと同じ意味のことを書きたかったんですが,文が変でしたかね.すんまそん orz
自作の DB_DataObject 拡張クラスで _connect() を override して ALTER SESSION したりしてるんで
その辺の動作は理解してるつもりですが,説明するための文にするのって難しいですね orz
0586554
04/07/03 09:17ID:???なんどか読み直しているうちに>>579の意味(手法)がなんとなくわかってきた。
DB_DataObjectを細かく見ていないので、勘違いしているかもしれませんが。
>>582に対して反論はなさそうだけど、汎用性を考えれば>>582の4ってことかな。
いろいろどーもでした。m(_._)m
0588554
04/07/03 10:20ID:???Rule/Callback.phpのvalidate()は、registerRuleの第4引数がある場合のみ
call_user_funcで呼び出していて、なければ直接呼び出しているようです。
だから、
$this->form->registerRule('isUsed_Check','callback',array( &$GLOBALS[ 'model' ], 'isUsed_Check' ));
だとFatal errorがでる。やっぱり、
$this->form->registerRule('isUsed_Check','callback','isUsed_Check',&$GLOBALS['model']);
こうかかないと、ダメみたいっす。
やっぱstaticで呼び出せるようにしないとあかんのか。
そう思いつつ、今回はこれで逃げる。
0590554
04/07/03 16:03ID:???素のtoArray()は添字配列なんで、単純にループさせる場合はそれでいいが、
ループで済まされない場合は属性(name)を使った連想配列の方が、
やっぱ何かと都合がいい。
そんなわけで、エレメントだけ一つ掘った配列になるよう
Smartyレンダラ(ArraySmarty)を継承して作ってみました。
<?php
require_once 'HTML/QuickForm/Renderer/ArraySmarty.php';
class HTML_QuickFrom_Renderer_ArraySmarty2 extends HTML_QuickForm_Renderer_ArraySmarty{
function _storeArray($elAry)
{
if ($elAry) {
$sKeys = $elAry['keys'];
unset($elAry['keys']);
// where should we put this element...
if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) {
$toEval = '$this->_currentGroup' . $sKeys . ' = $elAry;';
} else {
$toEval = '$this->_ary[\'elements\']' . $sKeys . ' = $elAry;';
}
eval($toEval);
}
return;
}
}
?>
[\'elements\']を追加しただけですけどね。とりあえずこれで動いた。
0592554
04/07/03 16:30ID:???typoしてました。
×class HTML_QuickFrom_Renderer_ArraySmarty2 extends HTML_QuickForm_Renderer_ArraySmarty
丸class HTML_QuickForm_Renderer_ArraySmarty2 extends HTML_QuickForm_Renderer_ArraySmarty
あと、やっぱりこれだけだと、getElement()等が使えません。orz
0593nobodyさん
04/07/06 19:41ID:???自分の使いやすいようにレンダラ修正すりゃいいっちゃいいんだろうけど、
正直これくらいはパッケージ側でクリアにして欲しいよなあ
せっかく凄くいいライブラリなのにここだけが微妙に融通利かないってのが歯痒い
作者さんにメールすれば考慮してくれるもんですかねぇ。。
0594554
04/07/06 19:50ID:???とりあえず、>>590のコードは使えます。(typoはおいといて)
レンダラ側ではtoArray()しか使ってないけど、QuickFrom側は
addGroup,addGroupRule,getElement,createElement等は問題なし。
よくよく考えれば、レンダラ側を弄っただけなんで、本体は関係ないのよね。
Group化が出来れば、自分が作っているフォームならほぼテンプレート側で
ループさせるだけで済みそうです。
0595nobodyさん
04/07/06 22:18ID:???0596nobodyさん
04/07/07 10:50ID:LF3NmbpZてことはできないんですかね?
極端な例では、ボタンAをクリックしたときにはvalidateするけど、ボタンBをク
リックした時にはvalidateしない。みたいなことです。
Documentを見てみたものの、そういった情報が見当たらなかったので。
何か情報があったらお願いします。
0598nobodyさん
04/07/07 17:43ID:MesltrHSすみません。ちょっと言葉が足りませんでした。
client側でのRuleチェックをしようかと思っているんですが、
何がうまい方法はないかな、と考えているんです。
Ruleをカスタマイズしようか、と思ってのですがもしもQuickFormで
うまい方法があれば、と都合のよいことを考えています。
0599nobodyさん
04/07/07 19:31ID:???Ruleのclientで吐き出してくれるjavascriptコードに満足いかないなら
もう自分でjavascript書いちゃった方がいいんじゃないかな
HTML_QuickFormのclientチェックはあくまで付加的なものかと
0600nobodyさん
04/07/08 11:54ID:???client side のチェックは,全く動かなくてもサイトとして完動するものじゃないと,ね.
で,submit ボタンにしないで,button オブジェクトに自前で onclick に JavaScript 指定し,
その中で,onSubmit を無効にしてから form.submit() するようにすれば,
期待の動作をするのではないだろーか.
0601nobodyさん
04/07/10 08:38ID:???どうすればいいんですかね。
マニュアル読んでも何も書いていないし。
ご存じの方教えてください。
0602nobodyさん
04/07/10 08:38ID:???モース腰シンプルな可憐d−あクラスないかな。
0603nobodyさん
04/07/10 08:54ID:???IE糞だな。
operaも糞だし。
糞だらけだ。
0605nobodyさん
04/07/10 11:27ID:???先ずは[PHP-doc ML]に参加する。で、アーカイブで流れを見る。
# [PHP-doc 213]のツリー辺りからで良いと思う。
0606nobodyさん
04/07/10 15:54ID:???http://pc5.2ch.net/test/read.cgi/software/1086500384/855-857
0607nobodyさん
04/07/10 18:44ID:???PHP.net、php-doc-jp を漁って下さい。
実作業に関する情報は
http://elf.no-ip.org/wiki/?PHP%2Fphpdoc
作業内容を把握して出来そうだなと思ったら、
参加したい旨を php-doc-ja に投げれば誰かが面倒見てくれます。
0608nobodyさん
04/07/12 19:02ID:???setするのはないんだろう?
0609nobodyさん
04/07/13 11:53ID:???0610nobodyさん
04/07/16 13:35ID:???0611nobodyさん
04/07/16 15:01ID:???フォーラム漁るかコード読むか。
8月末の神ムック発売まで待て。
0612611
04/07/16 15:34ID:???http://ad.hominem.org/log/2004/06/tutorial_on_mojavi.php
とかあるが、分かりやすいとは言えない罠。
0613nobodyさん
04/07/19 03:08ID:???でも pear upgrade SQLite-1.0.3.tgz だと
sqlite.so の移動に失敗するんでtarballを解凍して
手動でmake installしないといけませんでした。(なぜかこの場合はOK.)
PHPのバージョンは4.3.8, OSはMacOS X 10.3.4 と FreeBSD 5.2.1-p9
0614nobodyさん
04/07/19 08:17ID:???確かに、pear upgrade SQLite では、置き換えに失敗して、sqlite.so が消えていた。
こちらは Linux だったけど。
結局、アンインストールしてからインストールした。
pear uninstall SQLite
pear install SQLite
0615nobodyさん
04/07/22 09:56ID:???Mojavi って、
module/***/action/***
っていう形でアクセスするから、どうもURLが長くなりがちだよね?
パラメータを渡そうとするとさらに長くなるし、これは、module action の部分を
短くするとかしか、短くする手段ってないのかな?
今まで、
***.php?para=***
みたいなカンジだったから、一気にURLが長くなるので気になってしまって..
0616nobodyさん
04/07/22 10:15ID:???二通りの対処ができます。
* module, action の部分を変更する。
config.php の MODULE_ACCESSOR, ACTION_ACCESSOR を変更して下さい。
* ページコントローラとして Mojavi を使う。
ディレクトリ毎にコントローラ index.php を置いて、モジュールとアクションを固定しておく。
$controller->dispatch('TargetModule', 'TargetAction');
0617nobodyさん
04/07/22 10:40ID:???dispatch に直接モジュールとアクションを渡せばURLで渡す必要はないのね。
ってことは、別名のファイルでモジュールとアクションを固定してしまえば、
前みたいに、
***.php?para=***
ってこともできますね。感謝!
0619nobodyさん
04/07/31 23:59ID:???ところで本の名前とかはまだ分からないんでしたっけ?
0620nobodyさん
04/08/01 02:08ID:???少し記事が載るってだけなんだよね?楽しみな事に違いはないが。
■ このスレッドは過去ログ倉庫に格納されています