ZendFramework Part2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/03/05(水) 23:21:24ID:???http://framework.zend.com/
マニュアル
http://framework.zend.com/manual/ja/
m-takagi ver(↑よりたぶん新しい)
http://www.m-takagi.org/docs/php/zend/
API
http://framework.zend.com/apidoc/core/
0545nobodyさん
2008/11/26(水) 09:03:28ID:???あれだよね。
ZFのコントローラーを実装するのにmod_rewriteの設定が必要で
mod_rewriteのスレで聞いたらあとは自分でやれと言われてここに来たって感じっしょ。
とりあえず、がんばれ
0546nobodyさん
2008/11/26(水) 11:18:20ID:???してるんですが挙動が変なんです
>>545
そんな感じです。
.confだけでOKとわかって安心しました、ありがとうございます。
0549nobodyさん
2008/11/27(木) 21:41:31ID:nkJ4I6fbページ全体の要素や構成を決めるのではなく、たとえばグローバルメニューや
フッタ部分など複数のページで使いまわされるパーツを作るのに使うのも
ありなんでしょうか? それはモデルで定義するべきなのかな?
0550nobodyさん
2008/11/27(木) 21:50:53ID:???0551nobodyさん
2008/11/27(木) 21:54:35ID:???まぁ、だいたい設計は自由だけど、たとえば、
全体の構成ならZend_Layout
共通のメニューやフッターはviewのpartialヘルパーで、
モデル=データ由来のメニューであれば、
コントローラーで準備しとくとか。
もちろん、専用のコントローラを用意しておいてアクションヘルパーを呼ぶとか
そりゃまったく自由なわけで
0552nobodyさん
2008/11/27(木) 22:14:33ID:KUrXy2lE使い分ける必要性出てきますか?
間になにか挟まる事がありえるんでしょうか。
0553nobodyさん
2008/11/27(木) 23:12:04ID:???どうもありがとうございます。テンプレートってsmartyとかかな?
Zend_Layoutてのがあるの初めて知りました、使ってみます
0554nobodyさん
2008/11/27(木) 23:29:14ID:DhKL8FdT_forward
0555nobodyさん
2008/11/28(金) 02:51:15ID:???Flexとの連携は面白そーですね。
0556nobodyさん
2008/11/28(金) 11:48:11ID:???おまいらはどんな何系のシステムでZF使ってますか?
0557nobodyさん
2008/11/28(金) 13:54:54ID:???0558nobodyさん
2008/11/28(金) 21:28:14ID:???Zend_Amf_Server試してみたけど未完成過ぎる印象。
・提供していないPHPメソッドを実行できる(不具合?仕様?)
以下のコードでZend_Json::encodeをFlashから実行出来てしまう。
connection.call("Zend_Json.encode", responder, params);
これは Zend_Amf_Server::_dispatch() の実装が原因
・ネームスペースが機能していない
$server->setClass("Hoge", "Namespace");
としてもNetConnection.call("Namespace.method") が呼ばれない。
これも Zend_Amf_Server::_dispatch() / _handle() あたりの実装が原因
・エラーが起こる
Zend_Amf_Server::_dispatch() 150行目あたりに、
PHPのWarningが発生する箇所がある為、Flash側で不正なAMFパケットとみなされてしまう事がある。
例)存在するクラスの存在しないメソッドをコールすると起こる
connection.call("Zend_Json.hoge", responder, params);
不具合なのか、仕様なのかわからんので修正する気にならん。
Parser系は普通に使えそうなので自前でサーバ部分(リクエスト受けてレスポンス返すだけ)を作れるならいいかもね。
0559529
2008/11/29(土) 09:54:36ID:???initは初回だけ実行すれば良いもの、たとえばデータベースへの接続作成とか
preDispatchはアクションを呼び出すたびに(どのアクションかにかかわらず共通で)実行したいものに使うと便利です
>>558
ソース見てみましたが、Unimplementedと記載されているfunctionたちが目に付きますね
0560nobodyさん
2008/11/29(土) 12:15:11ID:Q7h0AD5b物件IDが存在しない時なんかに、「該当の物件は存在しません」みたいに
使えばいいのかな?
0561nobodyさん
2008/11/29(土) 22:57:14ID:???物件を検索したけど、該当するIDが存在しなかったのかによる。
0562nobodyさん
2008/11/29(土) 23:00:44ID:???0563nobodyさん
2008/11/29(土) 23:04:37ID:???好きなように使えばいいんでは?
物件IDが存在しないときに、例外を投げ、かつエラーコントローラーにわたるように
設定し、エラーコントローラーでcatchすればそれに応じたエラーメッセージは出せるだろうけど、
物件IDが存在しない程度で例外か?ってのは気になる。
普通は、DBから不正な値が返ってきたとか、想定外を想定して作るもんじゃない?
検索でヒットしないってめっちゃ普通の現象のように思うけど。
まぁ自由なので個人的な感覚にすぎないけどね。
0564nobodyさん
2008/11/29(土) 23:08:12ID:???0565nobodyさん
2008/11/30(日) 01:05:31ID:???へんに機能として用意されてる分「使わなきゃ」って気になっちゃうなぁ
妙に考え込んでナチュラルじゃない処理をわざわざ作らないようにしよう、、ありがとうございました
0566nobodyさん
2008/11/30(日) 02:05:35ID:???エラーコントローラに投げて
このページは削除されました->TOPページのリンクへ誘導でOK。
もし、そういう意味じゃないならフレームワーク以前の問題だな。
0567nobodyさん
2008/11/30(日) 15:03:50ID:???URI、GET、POST、COOKIEなど外来ではないデータで、たとえば認証済みのユーザーIDなど、
クライアントが自由にセットできるわけではないが、クライアント固有のリクエスト情報を
格納・取得するための仕組みはないでしょうか?
リクエストオブジェクトを拡張するか、レジストリやフロントコントローラーに保存などを
使った方がいいでしょうか。
Zend_Controller_Request_AbstractにあるgetUserParamというのが使えそうかと思ったのですが、
実質的にgetParamとほとんど変わらない実装になっていますよね。
Zend_Controller_Request_HttpではgetParamでGET POSTから取得できるできないの違いは
ありそうですが、/controller/action/key1/val1/userid/hoge/
みたいな感じでgetParamに混入できる可能性を制約したいと思っています。
0568nobodyさん
2008/11/30(日) 15:06:57ID:???0569nobodyさん
2008/11/30(日) 15:27:55ID:???リクエストの方がTestがやりやすいかと思って検討していたのですが、
セッションを使う方がすっきりしそうなので、セッションで行きたいと思います。
ありがとうございました。
0570nobodyさん
2008/12/01(月) 22:10:13ID:???ソースを絞れるっぽいけど。
0571nobodyさん
2008/12/01(月) 22:28:42ID:???paramsに入ってしまうのでparamSourceじゃ絞れないですよね。
インフレクター側で何を受け入れるか、もしくは受け入れないという設定をしたものを
使えば制御できることはできるんですけど・・・
0572nobodyさん
2008/12/01(月) 22:57:39ID:???0573nobodyさん
2008/12/01(月) 23:08:10ID:???getUserParam?みたいな名前の奴は、アクションとパラメータ?か
こっちでセットしたデータしか入ってないんじゃなかったっけ?
何か使い分けられるみたいなのをどっかで見た覚えがあるけど。
0574nobodyさん
2008/12/02(火) 07:54:53ID:???そうですね。状況によってはリクエストを自作する方向で考えたいと思います。
ユーザーIDについてはZend_Auth::getInstance()->getIdentity()でいいやってことで
リクエストからの取得はあきらめました。自動的にセッションに保存されるようですし。
>>573
getParamとgetUserParamの違いは、Zend_Controller_Request_Abstractの段階では
$request->_paramsから返すだけで、ほぼ同じコードなので同じデータのようです。
セットされるのはルーター由来の値で、まぁ、リクエストオブジェクトなんだから当然といえば当然ですね。
マニュアルを読んだ時は、getUserParamってコントローラーでセットしたり
ルータでもルートで明示的に受け入れ設定した変数だけかな?
と誤解してしまったので、>>567みたいな質問をしてしまったのですが、
リクエストオブジェクトはリクエストなんだなと、今は理解しております。
テストが簡単だからという理由で、別の情報や機能をリクエストオブジェクトに
含めようという方が邪道だったと反省しています。
0575nobodyさん
2008/12/02(火) 12:22:41ID:X8fwryD+モジュールを使うことで、どんなメリットがあるんですか?
「モジュール自体が一つの完結したMVCアプリケーション」という解説を見ましたが、
それではモジュールをまたいでmodelのincludeやクラスのextendsをしては
いけないのでしょうか?
ディレクトリがまとまるからそこそこ大規模なサイトになったら見やすい・管理しやすいのかなと
は思うんですが、モジュール不使用と比べた大きな長所があれば教えてください
そういう経験談を聞かせてくれたら嬉しいです。
0576nobodyさん
2008/12/02(火) 12:32:04ID:???0578nobodyさん
2008/12/02(火) 12:45:00ID:???includeやextendsは自由に使っていいと思うよ。
Zend推奨のディレクトリ構成だと、モジュール単位で独立しちゃってるイメージだけど
自分は /controllers/ModuleName/ でディレクトリ掘って、サブモジュール的なイメージで使ってる。
サイトに大きめの機能追加をする時にモジュールを分けておくと、
ネームスペースが独立してコントローラ名の競合が防げるメリットがある。
0579nobodyさん
2008/12/02(火) 12:46:57ID:???0581nobodyさん
2008/12/03(水) 01:29:21ID:???http://framework.zend.com/manual/status
0582nobodyさん
2008/12/03(水) 14:09:39ID:C1dbydXA負荷とか大丈夫なの?教えて
0583nobodyさん
2008/12/06(土) 02:47:49ID:???各コントローラーの各アクションに、select()->from()->
where->leftJoin()->leftJoin()・・・以下略と書きまくっている
のだが、これでいいのだろうか?
俺の理解だと、コントローラーはリクエストパラメーターにより
上で書いたような処理をモデルで行ったり、その結果をビューに
返したりするものだと思うのだが。
さらにいうと、ModelでForm部品用の設定をしている。DBの項目が
フォームの項目だからだって。
0584nobodyさん
2008/12/06(土) 02:50:09ID:???0585nobodyさん
2008/12/06(土) 02:53:01ID:???規模が膨らめばそれこそMVCに属さないコードとか出てくるしさ。
長期稼働させない一時的なシステムとか、叩き台程度の作成ならそのやり方でサックリ作るのもありでしょう。
そうじゃないなら、炎上する前に転職すれw
0586583
2008/12/06(土) 03:22:51ID:???MVCじゃない、ライブラリ的なクラスを切り分けるくらいのことを
したいとは思う。
でも、一時的なシステムじゃなくて、今後うちの会社の核になる
システム。多分炎上はしないかな。メンテしにくそうだけど。
0587nobodyさん
2008/12/06(土) 06:50:07ID:???てか、それが普通だろ
ウェブフレームワークのMVCと言われている処理の主流はそんなのだよ
モデルはDBをオブジェクト指向で操作するインターフェイスを提供、
actionはそれをドライブって感じ
0588nobodyさん
2008/12/06(土) 07:11:45ID:???普通では無いだろw
そのAction内でしか使わないDBクエリならActionに直書きでいいだろうけど、
複数Actionから参照されるようなDBクエリなら、普通はモデルなりライブラリなりに切り分ける。
0589nobodyさん
2008/12/06(土) 08:36:08ID:???ここではactionにモデル操作を書くことの是非が問題になっているんだろう。
0590nobodyさん
2008/12/06(土) 08:42:45ID:???ActionControllerからモデルを利用するにしても、newしてメソッドを呼ぶとして
そのアクション固有のパラメータはやっぱりコントローラーで設定するんだよね。
境界線をどこに置くかっていう問題のような気はする。
0592nobodyさん
2008/12/06(土) 17:18:11ID:???コントローラで操作するやり方は、railsとその影響を受けたFWでは一般的じゃね?
ZFを実際には使ってないからZend流の普通は知らないが。
Zend流ではZend_Dbをいわば広義のモデルでラップするの?
0593nobodyさん
2008/12/06(土) 18:22:58ID:???Zend_Dbでselect()とか使ってるのであれば、SQL直書きとなんら変わらないんだぜ。
オブジェクト指向でDBへのコネクションを管理できるだけであって、
データの操作は最低限のAPIしか無い。
モデルを作るためのDBアダプタって感じかね。
Zend_Db_Tableなら低レベルO/Rマッパとして機能するけど、
やはり1枚ラップしてやらないとコードが汚れる気がする。
0594nobodyさん
2008/12/08(月) 21:32:33ID:???0595nobodyさん
2008/12/10(水) 02:51:00ID:???モジュール別に404エラーの出力内容を制御したいのですが、
現状ではErrorControllerが全てのエラーをcatchしてしまう為、処理が無駄に入り組んでしまっています。
0596nobodyさん
2008/12/10(水) 20:56:49ID:???0597nobodyさん
2008/12/10(水) 21:23:54ID:???コントローラと名前が被った場合は
モジュールが優先されて、次にコントローラ。
だから、モジュールと同じ名前のコントローラを作って、
__callから飛ばせば良いんじゃないかな。
モジュールにアクションが無い→同じ名前のデフォルトコントローラのアクションを探す
__callで引っかかる。
__callがモジュールのエラーコントローラへ_forward
やってみてないからわからないけど。
0598nobodyさん
2008/12/11(木) 18:56:21ID:???ドキュメントでは
----------
Zend_Loader_PluginLoader には、 複数のプラグインの間でオブジェクトを共有する機能もあります。
その際にシングルトンインスタンスを作成する必要はありません。
この機能は、静的レジストリを用いて実現しています。
インスタンスを作成する際に、 コンストラクタの 2 番目のパラメータでレジストリを指定します。
// プラグインを静的レジストリ 'foobar' に保存します
$loader = new Zend_Loader_PluginLoader(array(), 'foobar');
PluginLoader がインスタンス化したその他のコンポーネントで このレジストリ名を使用すると、すでに読み込まれているパスやプラグインを使用できます。
----
と書いてあるのですが、オブジェクトを第2パラメーター付きでnewすると、
スタティックプロパティは初期化されてしまって、次にインスタンスをとった
時に再利用できるようには思えないんですが違いますか?
再利用するのであれば、シングルトン等で独自にインスタンスを保持
しないとだめなように思うのですが・・・
0599nobodyさん
2008/12/11(木) 21:25:11ID:???ソース読んでないけど、例えば、Zend_Loader_PluginLoaderが
シングルトンのフロントコントローラにプラグインオブジェクトを
預けたりしてるか、独自のシングルトンを作ってそこに保存してれば大丈夫だろうし。
0600nobodyさん
2008/12/11(木) 21:40:05ID:???$loader = new Zend_Loader_PluginLoader(array(), "hoge");
forwardedController:
$loader = new Zend_Loader_PluginLoader(array(), "hoge");
たぶん、こんな感じで2か所で呼ばれても同じ名前を使っていれば
同じプレフィックスパスやクラスが使えるという意味だと思うんですが、
実際には
public function __construct(Array $prefixToPaths = array(), $staticRegistryName = null)
{
if (is_string($staticRegistryName) && !empty($staticRegistryName)) {
$this->_useStaticRegistry = $staticRegistryName;
self::$_staticPrefixToPaths[$staticRegistryName] = array();
self::$_staticLoadedPlugins[$staticRegistryName] = array();
}
foreach ($prefixToPaths as $prefix => $path) {
$this->addPrefixPath($prefix, $path);
}
}
こうなってて、new したときに
self::$_staticPrefixToPaths[$staticRegistryName] = array();
self::$_staticLoadedPlugins[$staticRegistryName] = array();
これで、スタティックに登録されたプレフィックスパスやプラグインが初期化されてしまうんですよ・・・
で、それをZend_Registoryにでも保存してるのかと思いきやそんな形跡はないんですよね・・・
レジストリ名一つにつき、自前でインスタンスを一つにしぼって、インスタンス化させないルールにすれば、問題ないんですけど、
ドキュメントの解釈が違うのかなぁ・・・
0601nobodyさん
2008/12/11(木) 22:13:41ID:???この後も変更しないだろうし、入れ物は単に配列なので
addPrefixPathとかget|set|clear PrefixPathとかを作って、
作り変えちゃえば大丈夫じゃないかと。
それかバグ報告ですかね。
ドキュメントの方が予定されていた物っぽく感じるので。
0602nobodyさん
2008/12/11(木) 22:49:49ID:???ちょっとSVN確認してみます。
if (!isset(self::$_staticPrefixToPaths[$staticRegistryName]))
を加えればいいんだと思うんで・・・
0603nobodyさん
2008/12/12(金) 16:18:51ID:5OtupgTiたとえばヘッダとフッタを定義したテンプレートファイルがあるとして、
これを取り込む各ページごとにユニークの<title></title>情報を入れようと思ったら
どうしたらいいんですか?
<html>
<head>
<title>ここを変えたい(例:12月13日の日記 / 「秋刀魚を食べた」)</title>
</head>
<body>
<img src="header.jpg" />
↓この下が各ページのコンテンツだよ
<?php print($this->Layout()->content); ?>
<img src="footer.jpg" />
</body>
</html>
っていうテンプレートです(現状)。
0604nobodyさん
2008/12/12(金) 16:27:45ID:???0605nobodyさん
2008/12/12(金) 16:41:39ID:???$this->headTitle()
などとする。
特殊なやつはレイアウトオブジェクトにアサインしてもいい。
その辺はドキュメントに出てるよ
0607nobodyさん
2008/12/13(土) 13:52:16ID:???Zend Frameworkには同等のクラスライブラリ無いよね?
みなさんどうしてる?
0609nobodyさん
2008/12/13(土) 18:02:07ID:???さんくす。
XML_Serializer/Unserializerの手軽さはないが、これ使ってグリグリするかな。
どもでした。
0610nobodyさん
2008/12/14(日) 17:48:13ID:???まさか確認画面なんていらないよ!てことじゃないですよね。
0611nobodyさん
2008/12/15(月) 14:05:56ID:???preDispatch内で認証をしており、
未認証のユーザはエラー画面を表示したいのですが…
0613nobodyさん
2008/12/15(月) 14:23:56ID:???使ってるんだけど_forwardのほうがいいの?
0614nobodyさん
2008/12/15(月) 14:26:57ID:???0615612
2008/12/15(月) 14:38:58ID:???で、>>611なんだけど、エラー画面に飛ばしっぱなしなら_redirect()の方がいいかもね。
俺は認証後に本来表示すべき画面に戻したいから_forward()使ってるけど。
0616nobodyさん
2008/12/15(月) 14:54:53ID:???でも、_forwardだと共通の画面しか出せませんよね?
状態によって、エラーメッセージを振り分ける必要がある場合はどうするのがベストでしょう?
理想としては
public function preDispatch()
{
if (!$auth) {
// ここで認証状態を判別して、個別のエラーメッセージを表示
// dispatchループを抜けて、継続するActionは破棄する
}
}
みたいな処理にしちゃいたいのですが…。
0617612
2008/12/15(月) 15:21:23ID:???> でも、_forwardだと共通の画面しか出せませんよね?
> 状態によって、エラーメッセージを振り分ける必要がある場合はどうするのがベストでしょう?
個別メッセージがどのような条件で切り替えられるのかにもよるが、
preDispatchで処理するぐらいだからそれほど細かいものでも無かろう?
で、_forward()してもUriは変わらない、$this->_getParam()でcontrollerやactionを取ると元のままなので、
それらで判別してエラーアクション内でメッセージを切り替えるってのはどうよ。
#ただ、コントローラの独立性が少し失われてしまうが...
他には、Zend_Registryに格納するしかないかなぁ。
0618nobodyさん
2008/12/15(月) 15:27:35ID:???レスポンスオブジェクトに設定して_forward
0620nobodyさん
2008/12/15(月) 15:58:13ID:???やはりAction間で値を受け渡す変数は必要になるんですね。
色々試してみます。
0621nobodyさん
2008/12/15(月) 23:23:41ID:???ZFがフレームワークとしてユルイってのを実感してるよ。
Action中に十何個ものswitch caseがあってメンテする気起きねえ。
0622nobodyさん
2008/12/15(月) 23:49:09ID:???0623nobodyさん
2008/12/16(火) 02:34:01ID:???0624621
2008/12/16(火) 02:49:58ID:???switch case文の嵐以外の方法を知りたいだけ。
0625nobodyさん
2008/12/16(火) 03:05:05ID:???0626nobodyさん
2008/12/16(火) 03:24:54ID:???という事に気づけない621が腐ってる。
って事でおk?
0627621
2008/12/16(火) 03:53:21ID:???単にZF使っただけってシステムで・・・。
設計なんて誰もやってないさね。力技で作って・・・。
0628nobodyさん
2008/12/16(火) 11:53:37ID:???0629nobodyさん
2008/12/16(火) 13:05:30ID:???0630nobodyさん
2008/12/16(火) 13:20:56ID:???どんどん条件が複雑になっていってactionが腐れた
というよくある失敗例に見える
0631nobodyさん
2008/12/16(火) 13:37:31ID:Rl9W2bGtどこに問題があるんでしょうか? よろしくお願いします
//IndexController アクション
require_once 'Zend/Controller/Action.php';
class IndexController extends Zend_Controller_Action{
public function indexAction(){
echo date('U');
} //不要な場合は、メソッドの中は空でも構いません
public function helloAction(){ //helloアクションメソッド
Zend_Registry::set('testParam' ,'12345test');
$this->view->testP = "設定したテストパラメータは".Zend_Registry::get('testParam')."です";
}
}
//テンプレ
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<?php print($this->escape($this->testP)); ?>
</body>
</html>
0632nobodyさん
2008/12/16(火) 14:46:08ID:???$front->throwExceptions(true);
等でエラーの情報を提示してみたらどうでしょう。
0633nobodyさん
2008/12/16(火) 20:56:47ID:Rl9W2bGtどうもありがとう
viewRendererは無効にしてないんです
根本的に書式とか構造とかに問題があるのかなと思ったんですが
指摘がないってことはそうでもないんですよね? なんでかなぁ…
0634nobodyさん
2008/12/16(火) 21:59:57ID:???ローダー使ってないと想像するけれど、
require_once 'Zend/Registory.php';はどこかでしてるの?
0635nobodyさん
2008/12/16(火) 22:23:00ID:Rl9W2bGtお恥ずかしい!忘れてました、コンポーネント呼び出すの!
このZend_Registryコンポーネントって、変数や配列の宣言に使うんですよね?
スクラッチで書くときみたいに $hoge = "変数です"; みたいな定義はZendFWじゃやっちゃいけないのかな
引数が2つしかないけど、変数の型(数値・文字列)は気にしないってことでしょうか
0636nobodyさん
2008/12/16(火) 22:23:38ID:???0637nobodyさん
2008/12/16(火) 22:45:02ID:???各アクションでプロパティ名が被りそうで怖くて
フレームワークの意味が無さ過ぎるNE。
0639nobodyさん
2008/12/16(火) 23:37:13ID:???0640nobodyさん
2008/12/16(火) 23:41:05ID:???http://framework.zend.com/manual/ja/requirements.html
ってなってるけど、いつから? 俺が使い出したときは5.1.xだったと思うんだけどな。
CentOS5.2は5.1.6で、個人のリポジトリで5.2.6を公開しているところがあることは知ってるんだが、
何となく躊躇してる。
とりあえずPHP5.1.6とZF1.7.1でも、今使っている範囲では問題なく動いているっぽいが、
どういったところでPHP5.1系で問題があるのか知っている人いる?
0641nobodyさん
2008/12/16(火) 23:44:16ID:???ZFはコントローラクラスのアクションメソッド内に記述するのがメインだから
ベタ書きと違って、変数作っても全部がローカル変数になるよね。
だから、別のアクションメソッドで
同じ名前の変数作ってしまっても被らない。
逆に言えば、他のクラスからは、意図的に変数を渡さなきゃ、
値が受け取れないって事でもある。
ビューで変数の値を出力するために
$this->view->hoge = 'hoge';ってしなきゃいけない様に。
主にビュー以外の用途で、変数を運ぶトラックがZend_Registory。
フロントコントローラなんかで、サイトのタイトルとかDBの情報みたいな
各コントローラで共通する情報を登録しておいたりするのが普通かな。
ベタ書きからのフレームワーク移行は最初は大変だと思うけど頑張ってなー
0643nobodyさん
2008/12/17(水) 00:23:34ID:???ZFは知らないけど、PHP自体のPDOのバグとかいくつか修正されてるし
Zend_Dbの中身はPDOだから、ZF動いてても気持ち悪ければUPじゃね。
設定地獄で逆に動かなくなるかもしれないけど…。
0644nobodyさん
2008/12/17(水) 03:31:33ID:???PDOのバグとかクリティカルな問題はディストリがメンテしてないかなぁ。
本当は ttp://www.jasonlitka.com/ から5.2.6を入れてみたんだが、
マッチパターンに日本語が混じる正規表現がうまく動かないというのが手元の環境で出て、
mb_ereg、ereg、preg全てダメだった。5.1.6やソースからビルドした5.2.5はちゃんと動いた。
環境の設定がらみかなと思ったんだが解決せずじまい。
jason のビルドに問題有りと決めつけているわけじゃないのだが、
さらに検証するのも面倒なんで、本鯖では避けてる状態。
ソースからビルドしてもいいけど、後々メンテ面倒だし。
つっても、jasonビルドも5.2.6で止まってるがなぁーw。
0645nobodyさん
2008/12/17(水) 16:28:02ID:Fnh4GsCx基本的にデザインの構成はテンプレートファイル(.phtml)でやるわけですが、
パラメータを受けて同じページでも画面の一部が切り替わることってあるじゃないですか
たとえば、ポータルサイトでよくある
・ログイン済みならメールの受信状況
・ログインしてなければアカウント作成への誘導
みたいに。
ああいうのって、表示切替の規模や内容が単純ならテンプレ中で.phtmlの中でif文で
振り分ければいい気がするけど、実際にはパターンごとに別々のクエリを動かす可能性も
あると思います(上の例だとメールの新着確認するとか)
その場合、タイプごとにモデルを作ってその中でクエリからhtmlの部分的な書き出しをして
テンプレの中に出力するようにするんですか?
みなさんどんな風に処理してますか? ご意見お願いします。
■ このスレッドは過去ログ倉庫に格納されています