ZendFramework Part2
レス数が900を超えています。1000を超えると表示できなくなるよ。
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/
0809nobodyさん
2009/02/14(土) 15:08:04ID:???Zend_Http_CookieJar
0810nobodyさん
2009/02/14(土) 15:10:30ID:???0811803,806,808
2009/02/15(日) 00:18:09ID:???さっぱり判んねぇっす。
>>810
ち、違うんですか。
すみません、どなたかクッキーの使い方の簡単なコード書いてもらえないでしょうか。
公式のマニュアルだけでは、すみません、
未熟な者でよく判らないです。
例えば >>803 みたいにカウントさせて、
有効期限切れたら0からスタート、みたいな・・・。
つーか、何回もすみません。
ほんっと、どうしたら良いか判らなくて。
0812nobodyさん
2009/02/15(日) 00:50:34ID:???0813nobodyさん
2009/02/15(日) 07:50:07ID:???クッキーを受け取る(アクションコントローラー内)
$this->getRequest()->setParamResource(array('_GET', '_POST', '_COOKIE');
としておくか
$this->getRequest()->getCookie('hoge',false);
みたいな。
クッキーの発行は標準関数のsetcookie
掲示板の入力項目の記憶ならZend_Sessionで、覚えててねフラグを立てる。
短いセッションを別に作りたいときは、Zend_Sessionのnamespaceを使う
0814nobodyさん
2009/02/15(日) 13:32:31ID:???0815811
2009/02/15(日) 23:27:17ID:???ありがとうっす!!
できました!!!
Zend_Http_Cookieにばかり目がいってしまい、
リクエストオブジェクトのgetCookie見落としてました。
発行もZF専用のがあるかと思ったんですが、
setcookieでいけるんですね!!
前やった時できなかったので、
なんか間違えてたのかもしれません。
$_COOKIEもちゃんと入ってました。
おかげ様でスッキリ爽快!!
これでバリバリ勉強できます!!!!
>>813さんは良い人!!!!!
ありがとうございました!!!!
0816nobodyさん
2009/02/16(月) 18:56:57ID:???0817nobodyさん
2009/02/16(月) 20:05:34ID:???0818nobodyさん
2009/02/16(月) 20:06:04ID:???0819nobodyさん
2009/02/17(火) 14:02:49ID:???ここにいる人はコマンドからインストールだろうけど
ウェブからやっちゃう人向けにスクリプト書いてみました。
<?php
include_once 'Archive/Zip.php';
define('ZEND_ARCHIVE', './ZendFramework-1.7.5.zip');
define('INSTALL_DIR', '/php/includes/');
$path = basename(ZEND_ARCHIVE, '.zip') . '/library/';
$param = array(
'by_preg' => '#' . $path . 'Zend/#',
'add_path' => INSTALL_DIR,
'remove_path' => $path
);
$zip = new Archive_Zip(ZEND_ARCHIVE);
$zip->extract($param);
echo $zip->errorInfo();
0820819
2009/02/17(火) 14:06:50ID:???by_pregにはi修飾子つけないと一部のファイルが抜き出せないみたいです。
#' . $path . 'Zend/#i
0821nobodyさん
2009/02/17(火) 23:39:53ID:???0822nobodyさん
2009/02/18(水) 00:28:23ID:???0823nobodyさん
2009/02/18(水) 01:25:20ID:???http://framework.zend.com/manual/ja/zend.wildfire.html
画面に出すデバッグメッセージより制約が無くて便利じゃないか
0824nobodyさん
2009/02/18(水) 01:30:40ID:???0825nobodyさん
2009/02/18(水) 01:51:37ID:???任意のデバッグメッセージやSQLトレースをクライアントに送りつけるものであって、
そういうのは対象じゃないと思うんだけど
0826nobodyさん
2009/02/18(水) 13:24:49ID:OeM2TrBc複数で取得するにはどうすればいいか教えてくれ。
0827nobodyさん
2009/02/18(水) 13:45:55ID:???0829nobodyさん
2009/02/18(水) 21:32:31ID:???ZFは疎結合とか言われてる割に、シンプルなMVCとして使えることも分かった。
ただ、ZFって提供してくれる実際の機能の少なさの割りに
工程数がアホみたいに掛かっててどうしょうも無く重い。
しかも、その工程数が、おかしな挙動と
(個々のコードではなくクラス全体の)見通しの悪さに繋がっている。
まるでたらい回しにされたあげく、大した事もしてくれず
時間とコストばかり掛かる日本の地方のお役所みたいなFWだと思う。
コードが綺麗だから一見、しっかりしてそうに騙されるんだけど
体裁だけ整えた役所のレポートと同じで内容が駄目だよ。
ドキュメントも量ばかり多くて重要なところが省かれてるし
英語の方のドキュメントの質もアスペルガーの人がわめいてる並に
分かり難いから翻訳者が困ってるのが見て取れる。
0830nobodyさん
2009/02/18(水) 22:05:10ID:???>分かり難いから翻訳者が困ってるのが見て取れる。
ってどの辺?
0832nobodyさん
2009/02/19(木) 19:04:32ID:aKK5Rtx4selectオブジェクト渡せるらしいだが、使い方がわからん。
そのテーブルに対するselectになるの?joinも書かないとダメなの?
0833nobodyさん
2009/02/19(木) 22:32:45ID:???0834nobodyさん
2009/02/19(木) 22:37:20ID:aKK5Rtx4だけど、そこから条件指定したり、並び替えしたりしたくて、selectオブジェクト使いたいんだけど、
どうやって使えばいいかわからない。
第5引数のselectは一体、どうやって使うのかわからないんだ。
どのテーブルに対してのselectオブジェクトを渡しても、期待通りの動きをしてくれない。
0835nobodyさん
2009/02/20(金) 01:02:36ID:???ZFは好きなんだ。
MVCモデルで作っていくのはいいんだけど、重さはいかんともしがたい。
Zendの有料ソフトをそろえたら少しはマシになるの?
大規模なプロジェクトの場合には、その辺が簡単に解決できるのかな?
ZFで作るとMVC設計の考え方がわかるので、
そこで理解した設計法を元に、オブジェクト指向(的も含む)スクリプトを書くのが
いいんじゃないかと思う。
そんなのが許されるのがPHPだし、
もしかしたら、それがPHPを一番活かせるのでは?と思ってしまう。
ビシっとガチっと設計したいなら
ほかの言語とフレームワークの方がいいのでは?と思ってしまう。
間違ってますかね・・・?
0836nobodyさん
2009/02/20(金) 01:24:33ID:???徹底入門はイケてる書籍
MVCの参考サイトはhttp://zendframework.com/
このスレでは定説。
0837nobodyさん
2009/02/20(金) 02:15:17ID:???作業少しでも減らしたいならCakeでも使えばいい
0838nobodyさん
2009/02/20(金) 02:26:32ID:???0839nobodyさん
2009/02/20(金) 08:13:11ID:???0840nobodyさん
2009/02/20(金) 08:38:29ID:???見た目は綺麗な箸とか食器とか並んでるけどさ
隣の席じゃ美味そうにケーキ食ってる奴がいて
じゃあ俺も、と食ってみるけど
いかんせん不味いんだな
向こうの席じゃヘッドフォンで楽しそうに音楽聴いてる奴がいて
何聴いてるのか尋ねると「クラシックだ」って言うんだけど
どう聴いてもパンクなんだな
参ったな
0841nobodyさん
2009/02/20(金) 09:00:44ID:LxVU4MGc入門書を読めば機能(例えば会員管理とか)ごとにコントローラ
を作成して複数アクションを定義しているみたいだけど機能が増え
たときにすごい大きくなりそうだし1画面1コントローラにしたほう
がよいのかなあ。。
0842nobodyさん
2009/02/20(金) 09:19:35ID:???0843nobodyさん
2009/02/20(金) 10:34:33ID:???取得してくるのはrowsetだし、selectを渡すのはmatchTableに対してだから、
たぶん、あなたの思い通りにはならないかと。
関係テーブルをSELECTでいじりたいなら、ベタにSQLでやったほうがよいと思います。
0844nobodyさん
2009/02/20(金) 10:46:25ID:???正しくこれだよな。
Frameworkって言っても、型にはめてもらえず、
右往左往してる内にとても面倒と感じてしまう。
俺はつまみ食いできるところが気に入ったんで馴染めたけど、
名前から期待する姿とのギャップに、ヘコタレる奴が周りにめっちゃいる。
スカッフォルドなりと、標準的な設計パターンのドキュメント充実したら、
良いと思うんだけどな。
0845nobodyさん
2009/02/20(金) 10:54:43ID:???Zend_Applicationとか。そういう意図なんだと思うけど、
結局これがリリースされると、好きに使ってくれっていうスタイルじゃなくて、
こういう風に使うのが王道みたいになると、オレオレなオレにはちょっとさびしい。
0846nobodyさん
2009/02/20(金) 11:03:19ID:???0848nobodyさん
2009/02/20(金) 15:26:22ID:???DBとか運用中のがあってそれに合わせないといけない場合とか
0851nobodyさん
2009/02/23(月) 02:15:47ID:???なんでプリペアードステートメント使わないでwhere句が直実行なんだろ?
あとreplace構文がないのは仕様なのか
0852nobodyさん
2009/02/23(月) 21:06:56ID:???0853nobodyさん
2009/02/23(月) 21:12:36ID:???0854nobodyさん
2009/02/24(火) 00:57:20ID:???未だにSID引き回せってこと?
最近だとiモードIDとかいう固定識別番号とDB連動でセッション管理するのが普通?
しょっちゅうDB覗きに行くのはなんだかなぁ・・・
0855nobodyさん
2009/02/24(火) 01:07:00ID:???0856nobodyさん
2009/02/24(火) 01:16:46ID:???0857nobodyさん
2009/02/24(火) 01:41:36ID:???iモードIDは後から出来た規格だからSSL領域で送信されない
よって、SSLでのログイン等が必要ならiモードIDだけでセッション管理は無理
というか、他のキャリアの端末でも識別番号はHTTPでも送信されちゃってるから、
Amazonみたいな仮ログインぐらいにしか使えないよ
> しょっちゅうDB覗きに行くのはなんだかなぁ・・・
Zend_Session_SaveHandler_Interface実装したMemcachedアダプタとかどうよ
0858nobodyさん
2009/02/24(火) 03:06:14ID:???Zend_Sessionとか思想はいいんだけど実装が重すぎるのが気になるよね。
0860nobodyさん
2009/02/24(火) 10:49:14ID:???> Docomoの糞仕様のせいでセッションが使えないけど
> 未だにSID引き回せってこと?
↑ドキュモがCookie使えないから、URLかHiddenにセッションIDくっつけて引き回さないとセッション使えないって意味としか見えないが
0861nobodyさん
2009/02/24(火) 19:07:39ID:???mysql_set_charsetとか使えんのかね。そもそもSET NAMESってセキュリティ
的に大丈夫なのかな
0862nobodyさん
2009/02/24(火) 19:10:53ID:???やっぱり別々に覚えるべき?
0863nobodyさん
2009/02/24(火) 19:23:31ID:???連鯖でEUCとかやってるところがカスなだけで文字コード変換なんて文字化けの原因にしかならん
0864nobodyさん
2009/02/24(火) 20:10:59ID:???0865nobodyさん
2009/02/25(水) 02:21:28ID:???> PDOに自作クラス
さーせん!こないだそれで済ませちゃいました。
正直ORMとか利点が理解できてません!さーせん
だれかおしええt
0866nobodyさん
2009/02/25(水) 03:21:37ID:???SQLインジェクション対策とかキャッシュ機構とか。
インピーダンスミスマッチの解消ってのは実際にはそんなに意味がない場合が多い。
あとEFやLINQ、SubsonicならIntellisenseが効くとか。
0867nobodyさん
2009/02/25(水) 03:48:08ID:???丁寧にありがとう。
小規模チームが多いせいか、あんま要らね。って思っちゃうなぁ。
でもキャッシュを隠蔽するにはいいかも。もしかしてZFにもあるの?
ちょっとマニュアル読んでくる。
0868nobodyさん
2009/02/26(木) 16:43:37ID:z2y5dmsnできればdispatchするファイルに設定しちゃいたい。
0869nobodyさん
2009/02/26(木) 16:57:38ID:???やりたいことがいまいち読めない
0870nobodyさん
2009/02/26(木) 16:58:47ID:???それならレスポンスオブジェクトの範疇だけど
0871nobodyさん
2009/02/26(木) 17:23:49ID:z2y5dmsnheader()のことです。
モジュールが増えてきてさらに各コントローラごとにinit()で出力いているので効率が悪いです。
できればZend_Controller_Frontをdispatchするあたりで設定したいです。
0872nobodyさん
2009/02/26(木) 17:28:50ID:???プラグイン書くほどじゃないし。
アクションコントローラーのスーパークラスとか書いてないの?
0873nobodyさん
2009/02/26(木) 21:57:21ID:z2y5dmsnどうもです。
bootstrapってのはbootstrap.phpなりを作ってインクルードってことでしょうか?
というかそもそもの設計が間違えている気がするんですが、
通常は各コントローラごとにヘッダを設定するものなんでしょうか?
0874nobodyさん
2009/02/26(木) 22:07:31ID:???$response->setHeaderでセットしてるよね?
逆に言えば、$responseに干渉できる場所ならどこでも好きな場所でやればいい。
実際、generator ZFってぐらいならbootstrapでもいいわな。
共通なものは基底クラスのinitでもいいし、
個別コントローラーでセットするものがあってもいいんじゃない?
0875nobodyさん
2009/02/26(木) 22:33:02ID:z2y5dmsnはい。
$this->getResponse()->setHeader()でセットしてます。
class Header extends Zend_Controller_Action{}に__autoload
というのを作成して
class IndexController extends Test{}
で継承していく形にします。
0876nobodyさん
2009/02/26(木) 23:03:36ID:???後半がよく分からない
Zend_Controller_Actionを継承した俺俺コントローラ作って
そこのinitメソッド中に書くとかではだめなの?
0877nobodyさん
2009/02/26(木) 23:14:34ID:z2y5dmsn失礼しました。
autoloadではなくinitですね。
init使えるの忘れてました。
フロントにheader()使いたくなってきた。。
0878nobodyさん
2009/02/26(木) 23:15:37ID:???フロントにheaderって?$this->getResponse()->setHeader()で駄目なの?
0879nobodyさん
2009/02/26(木) 23:20:37ID:z2y5dmsndispatchするファイルの先頭あたりに直接header()で出力した方が楽な感じ勝手ことです。。
0880nobodyさん
2009/02/27(金) 01:40:29ID:???bootstrapに書くのは気持ち悪すぎる。
0881nobodyさん
2009/02/27(金) 03:04:34ID:???納得できる説明しような
0882nobodyさん
2009/02/27(金) 08:06:09ID:???例外的にその共通処理をさせたくない場合に面倒
ましてやレスポンスヘッダの処理を
bootstrapに書くとかありえないだろ
BaseになるControllerに書いとけば
その例外的なControllerのinitで
共通処理をしないように上書きするだけだ
これで納得できるか?
0883nobodyさん
2009/02/27(金) 09:36:32ID:???どこに格納してる?models?それともviewsの下?
0884nobodyさん
2009/02/27(金) 10:16:53ID:???0885nobodyさん
2009/02/28(土) 19:04:24ID:???別に気持ち悪くないなら、bootstrapに書いてもいいわけだし、
気持ち悪いからって評価基準は普通だと思うが。
0886nobodyさん
2009/02/28(土) 19:12:28ID:???0887nobodyさん
2009/02/28(土) 19:29:47ID:???フレームワークじゃなくてもいいじゃんみたいなことになってしまう
0888nobodyさん
2009/02/28(土) 22:09:51ID:???気分的じゃない問題があるの?
たとえば、サーバー情報をheaderに入れるっていう方針ならbootstrapでもいいんじゃね?
気分以外の理由があるんなら知りたいなぁ
0889nobodyさん
2009/02/28(土) 22:21:53ID:???0890nobodyさん
2009/02/28(土) 22:23:13ID:???>別に気持ち悪くないなら
>>886
>気持ち悪いからって
>>887
>気持ち悪くてもいいからって
なんか>>887とか完全に意味を穿き違えちゃってるよな。
面白い。
0891nobodyさん
2009/02/28(土) 22:30:14ID:???symfonyでPDF、ajax、html、svg、csv、ファイルダウンロードを扱ってるが、
こういったファイル形式でヘッダ変えたい場合不便だぞ。そんなことすると。
任意の場所でシングルトンでレスポンスオブジェクト呼び出して、いじくり
まわせる便利さを体験するといい。
0893nobodyさん
2009/02/28(土) 22:33:30ID:???そういうケースもあるってだけよな
だいたい、headerの処理を1か所でまとめてやらんでもいいわけで。
まさか、header追加したらすぐにheaderが飛ぶと思ってるわけでもないんだろうけど。
0894nobodyさん
2009/02/28(土) 22:35:03ID:???何でも詰め込むのが正しい。
0899nobodyさん
2009/02/28(土) 23:02:14ID:???個人的にはbootstrapには最低限のコードしか書かないけどね。
0900nobodyさん
2009/02/28(土) 23:03:28ID:???ダイジェスト認証やリダイレクト、キャッシュの有無やら、OpenID認証やら、
もし、コンテンツヘッダのみならコンテキストスイッチでいいだろうけど。
こいつらひっくるめて一か所で処理はまず無理。
0901nobodyさん
2009/02/28(土) 23:16:01ID:???「headerの処理」?
ごめんheaderの処理ってのが、出力のことなのか、
吐き出す内容の決定のことなのかで全然回答が変わってくる。
0902nobodyさん
2009/02/28(土) 23:17:26ID:???0903nobodyさん
2009/03/01(日) 06:56:58ID:???$response->setHeader()をどこでやるかっていう話なんだから、
どこで内容をセットするかってことでしょ、普通
0904nobodyさん
2009/03/03(火) 08:29:52ID:???ところで、こういうマイナーバージョンの変更点をダウンロードせずに
ウェブから確認できるページってありますか?
0905nobodyさん
2009/03/03(火) 08:42:58ID:???http://framework.zend.com/download/latest
0906nobodyさん
2009/03/03(火) 08:52:05ID:???0907nobodyさん
2009/03/03(火) 09:12:52ID:???分かりにくすぎ…
0908nobodyさん
2009/03/03(火) 11:09:39ID:???例外とかはErrorControllerでキャッチしてるし
実行時間なんかはFireBug自体で計測できるし・・・
変数の中身を見たいとき用とか?
0909nobodyさん
2009/03/04(水) 00:09:05ID:???JavascriptやCSSをレンダリングするときとか。
まぁTextにログ出せばいいんだろうが、FirePHPの方が見やすいしね。
レス数が900を超えています。1000を超えると表示できなくなるよ。