Zend Framework Part3
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2009/04/10(金) 08:35:00ID:???http://framework.zend.com/
マニュアル
http://framework.zend.com/manual/ja/
(有力翻訳者のm-takagiさんのver)
http://www.m-takagi.org/docs/php/zend/
バグ報告
http://framework.zend.com/issues/secure/Dashboard.jspa
API
http://framework.zend.com/apidoc/core/
前のスレッド Zend Framework Part2
http://pc11.2ch.net/test/read.cgi/php/1204726884/
0812nobodyさん
2010/01/03(日) 00:00:40ID:quLBmdEYresources.modules[] =
お騒がせしてすいません。。
0813nobodyさん
2010/01/03(日) 05:37:52ID:???ZFに限っていえば、その辺の作法は自由でいいんじゃないかな。
他のフレームワークの多くはFWが用意するアーキテクチャ以外は邪道だけど
ZFの場合はアーキテクチャが緩いから、自分好みに設計すればいいよ。
ただ、モジュール別のレイアウトファイルを使うだけなら、
モジュール別Bootstrapというより、Layoutパスの与え方だけで済むと思う。
0814nobodyさん
2010/01/03(日) 23:51:26ID:GumIc7qR共通設定みたいなので
My_Application_Resource_Configって作ろうとしたら
init()が呼び出されないんですけど
Configって名前なんで使えないんでしょうか?
0815814
2010/01/04(月) 00:14:31ID:???Bootstrap.phpに_initConfigがいたせいでした
ごめいわくおかけました
0816nobodyさん
2010/01/05(火) 04:24:32ID:OIqW2mkQ空白の場合は「名無しさん」になるようなことをしようとしたのですが
そうするとgetValue()がフィルターを通す関係で
デフォルトの空白が「名無しさん」に変換されてしまいます
これを打開するにはどうしたらよいでしょうか
0817nobodyさん
2010/01/05(火) 04:30:13ID:???0819nobodyさん
2010/01/07(木) 09:06:02ID:7Y5nOQnh$db->fetchAll(
"SELECT hoge FROM hoget WHERE var = :v",
array('v' => 'Sir')
);
どうも不慣れというか面倒なので普通に
SELECT hoge FROM hoget WHERE var=$v
とかのクエリ書いてしまってるけどこれだとどういう問題があるんでしょうか?
SQLインジェクション対策を自前でやらなきゃいけなくなるってことですか?
0820nobodyさん
2010/01/07(木) 09:31:31ID:???exprを動的に投入しないならどっちでもいいわよ。好きにして
0821nobodyさん
2010/01/07(木) 14:02:33ID:7Y5nOQnhどうもありがとう
もう一つ聞きたいんですが、バーチャルドメインで siteA.com, siteB.comの2つを運用してて
両方でzendFWを利用する場合どうしたら良いんでしょう?
FWのソフトのインストールを一つだけし、それぞれのフロントコントローラでapplicationディレクトリを
別々に指定すれば独立したアプリケーション構造を持たせることが出来るんでしょうか?
0822nobodyさん
2010/01/07(木) 14:14:33ID:???微妙に意味がわからないが、エスパーしてみると。
モジュールを共有しないで独立で作成するなら、
moduleディレクトリを独立で作成してエントリポイントで振り分けるといいかも。
モジュールを共有するなら、ドメインでルーティングするだけでOK
つ Zend_Controller_Router_Route_Hostname
0823821
2010/01/07(木) 16:22:54ID:7Y5nOQnhありがとうございます。
なるほど、ドメインでルーティングすることが出来るのか〜。助かりました。
では、さらにまた少し違う質問ですが siteA.comで携帯版サイトを作るとします。
ドメインは mobile.siteA.comです
この場合、apacheの設定でサブドメインでフォルダ振り分けという良くある方法と
zendFWのルーティングでコントローラ名(mobile)を実行する方法とどっちが良いんでしょうか?
この2つはどう違うのか、そもそもわからないんです…
フォルダ振り分けってことは、zendFWが動いてる以上任意のコントローラーに委譲することとほぼ同じですよね?
(mod_rewriteの例外指定してなければ)
現在、コントローラ(仮にmobileコントローラ)に委譲するのが気が進まないのですが、その理由として
PC版サイトに profileコントローラ(indexアクション/editアクション)、searchコントローラ…て風に
複数コントローラがあってそれを携帯版でも実現しようとすると、コントローラはmobileコントローラで
「固定」(確定?)しているために、PC版で独立したコントローラとして動いてたものをその中の細かいアクションとして
動作させなきゃいけない気がするためです。
profileコントローラのindexアクションは -> profile_indexアクション(mobile.siteA.com/profile_indexにアクセス)
searchコントローラのshopアクションは -> search_shopアクション(mobile.siteA.com/search_shopにアクセス)
…と言う感じに。。
つまり、全部のコントローラとそのアクションを全部mobileコントローラにまとめて書かなきゃって
思い込んでるんですが、勘違いでしょうか? 解決方法あれば教えてもらえると嬉しいです。
長くてすみませんが宜しくお願いします
あと、>>822さんに教えていただいたドメインを使ったルーティングって、ドメインが存在してないと
テストできないのですか?
自宅サーバのlocalhostで動かしている環境で、この機能を試すことは出来るんでしょうか?
0824nobodyさん
2010/01/07(木) 18:36:43ID:???hostsに書くといいよ
0825821
2010/01/08(金) 03:09:11ID:???凄い! hostsなんて知りませんでした。疑問がわいた部分もありますが、それは別板で質問します。
>>823の前半部分の、
「apacheの設定でサブドメイン用ディレクトリにリンクさせるのと、任意のコントローラにroutingする場合の違い」
「mobileコントローラに全部のコントローラ+アクションをまとめて記述しなきゃダメなのか?」
という部分はどうなんでしょうか?
繰り返しですみませんが、気が向いた方回答いただけると嬉しいです
0826nobodyさん
2010/01/08(金) 09:11:27ID:???モバイル版でもPC版と全く同じコントローラ/アクションを使用したいのであれば、
コントローラ自体はPC版と共有し、ビューのみモバイル版を用意すればいい。
PCとモバイル版でロジック自体が変わるのであれば、mobileコントローラを作り必要なアクションを記述する事になるかと。
ページ数が多いのであれば、Mobileモジュールにしちゃうかな・・・
PC版と共有する処理は基底クラスに記述しておき、両方のモジュールから使用出来るようにしておく。
>apacheの設定でサブドメイン用ディレクトリにリンクさせる〜
複数ドメインで同じシステムを使い回す場合、
ルーティング処理で振り分けるか、ブートストラップをドメイン分用意して処理をわけるかしか無いんじゃ?
難しく考えすぎている気がするw
0828nobodyさん
2010/01/08(金) 23:32:05ID:FFzCAEUMRADとして使用するのであればCakePHPが〜といった風潮が現在はありますが
ZFでもzfコマンドがもっと強化されたり、modelがもっと簡単に実装できたり、
最終的にscaffoldがついたりすると本当に良いフレームワークになりますよね。
勿論そういったRADのガシガシの堅さがなく、緩くて自由度が高いのが
ZFの良さでもありますがZend_Applicationなんかが出たときからは
ある意味、作り方のルールみたいなのができたりしてますしね。
早くより、便利になりませんかね。
皆さん、ブログとかでもっともっとZFの情報を増やしていきましょい。
0829sage
2010/01/08(金) 23:46:30ID:FFzCAEUM0830nobodyさん
2010/01/09(土) 04:18:51ID:???SymfonyかCakePHPだけでいいよ。
0832nobodyさん
2010/01/09(土) 10:13:26ID:???ZFが何物かは知っておいた方がいいってのは言えるな。
疎結合のおかげで相互運用がやりやすくなっているときに
どちらかに加担する発想自体が無意味
ってのを理解しているのがZF使いの基本だと思う。
0833nobodyさん
2010/01/09(土) 16:19:07ID:???cakeはそんな印象。
0834nobodyさん
2010/01/09(土) 20:27:55ID:eC7071whModelとValidateをCakeに似た感じにしてうまく自動化すればCakeイラネ!
0835nobodyさん
2010/01/09(土) 20:59:10ID:???Cakeイラネ≒ZFを使いこなせていないに、1000カノッサ
0836nobodyさん
2010/01/09(土) 21:55:20ID:???0837nobodyさん
2010/01/09(土) 22:13:46ID:eC7071whZFはライブラリの集まり
使いこなす=どのコンポーネントを使えば使いこなすことになるの?
0838nobodyさん
2010/01/09(土) 22:39:20ID:???ZFが使いこなせてくれば、CakeイラネではなくCake連携になる
Cakeの良さを引き出すのがZF流
>837
ZFはライブラリの集まりというのは使い方の一つにすぎない
使いこなすということは、ライブラリの使いかたもあるし、
他のFWとの連携、単独使用もありうる
"use-at-will"の言葉通り、どう使うかは自由ってのはまんまだが、
"use-at-will"を支える技術的背景や方法論を理解しながら使えれば
使いこなしたことになるというのが、俺流の「使いこなし」キリッ
0839nobodyさん
2010/01/09(土) 22:40:53ID:28GW/CcG{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; ZFはライブラリの集まり
ヾ;;;ハ ノ .::!lリ;;r゙
`Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f 俺にもありました
~''戈ヽ `二´ r'´:::. `!
0840nobodyさん
2010/01/10(日) 00:15:46ID:???現実的にも技術者の趣味にしてもな。
0841nobodyさん
2010/01/10(日) 11:23:46ID:JyYQK5lUなんでそう思ってんのか書かないと、なんかの信者かただの工作員だ。
たしかに、ZFWのこれから先はは自分で考えてねって感じは、急いでる人や
無能なエンジニアにはちょっと不向きかもね。
0842nobodyさん
2010/01/10(日) 12:26:33ID:IYuPCGtSZFが使いこなせてくれば、CakeイラネではなくCake連携になるとは
具体的に?
他のFWとの連携、単独使用もありうるとか
これこそライブラリの使い方だろ
0843nobodyさん
2010/01/10(日) 12:36:39ID:IYuPCGtSCakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
Cakeの良さを引き出すのがZF流
0844nobodyさん
2010/01/10(日) 12:48:47ID:???単独使用のどこが、ライブラリの使い方なの?
連携のどこがライブラリ(ZFを)の使い方なの?
> 具体的に?
ZFのMVCを使い、脇にCakeをセット、ドメインは自前で用意しつつ、
簡易実装でいいところは、ビヘイビアをBakeryから入手して動かすとかね。
DDDはZFを基軸にしたほうがやりやすい。
0845nobodyさん
2010/01/10(日) 13:48:49ID:IYuPCGtS普通無理に連携しないだろwwww
ZF使いこなしてるのは具体的に
Controller、Applicationを軸に、実装したい機能をコンポーネント
から探してマニュアルやソースコードみて
すばやく実装できるかどうかがポイントだろ?
しょせんWEBアプリ作るためだけなんだから
0847nobodyさん
2010/01/10(日) 14:53:33ID:???0848nobodyさん
2010/01/10(日) 14:59:10ID:IYuPCGtSほかに使いこなせてる例をあげてみて
0849nobodyさん
2010/01/10(日) 15:09:16ID:???でっかい釣り針すなあ。
0850nobodyさん
2010/01/10(日) 15:30:00ID:???細かいライブラリは逆に使ってないわ
0851sage
2010/01/10(日) 21:08:02ID:???担当が変わった場合も引き継ぎ等を含めた保守性も上がりますよね。
MVC部分だけだと勿体ないですよ。
オレオレフレームワークにならないように徹したほうが
良いことが多いですけどね。
特に経営なども絡む管理者層になれば従業員の査定なんかも
しやすいですし、工数も見えやすい。
ZFはZend_Appliationを出したなら、もっとガシガシに固めてくれると
助かるんですけどね。
0852nobodyさん
2010/01/10(日) 21:45:17ID:???特に携帯サイト兼用してたりメール送信絡んだりするシステムは
0853sage
2010/01/10(日) 21:53:16ID:???メールはQdMailのライブラリが良いかもですね。
モバイルについては、、フレームワークだけじゃキツイですね。
絵文字が本当にウザイですね。
0854nobodyさん
2010/01/10(日) 23:24:54ID:IYuPCGtSガシガシ固めるとは?
0855nobodyさん
2010/01/10(日) 23:32:58ID:???撹乱情報が入るが、惑わされないことだぜ
0856nobodyさん
2010/01/14(木) 22:49:08ID:IR5dAcANたとえば
localhost/school/index/ken/tokyo で東京の学校一覧を表示するとして、
localhost/tokyo でも同じことが出来るように設定することは出来ました
(schoolコントローラの indexアクションへのアクセスです)
が、これにさらにパラメータがついたとき(または何もつかなかったとき)に
効率的にルーティング設定するにはどうしたら良いですか?
school/index/ken/tokyo/type/j(中学校の一覧を作る)、school/index/ken/tokyo/type/h(高校の一覧を作る)
みたいにパラメータがついた時でも、一つのルーティング設定で対応することは出来るでしょうか?
routes.search.route = "/:ken/type/:type"
routes.search.defaults.controller="school"
routes.search.defaults.action="index"
routes.search.reqs.ken="\w+"
routes.search.reqs.type="\w"
routes.school.type = "Zend_Controller_Router_Route"
上記で良いのかなと思い試したんですが、これだと最初に出来ていた
localhost/tokyo での学校全体一覧が出来なくなりました。
どうしたらパラメータが(複数)ついてもつかなくても各条件で適切に動く設定が出来ますか?
お手数おかけしますが宜しくお願いします
0857856
2010/01/14(木) 22:51:09ID:???0858nobodyさん
2010/01/15(金) 03:18:03ID:???先に、:ken/type/:typeでのルートを書いといて、
次の条件に:kenでヒットするのを書けば?
どっちを先に書くか忘れたから逆かもしれないけど
0859856
2010/01/15(金) 06:31:19ID:Ze0M8NRbありがとうございます。そのやり方で考えたんですが、それだとパラメータが増えた時に
その分だけ設定を無限に増やしていかなければならなくなりますよね?
それだと非効率という気がするんです
たとえば、中学校で、かつ女子校のみに限定して絞り込むとき
/:ken/type/:type/joshiko/:joshiko っていう専用のルーティングをまた作らなければならなくなるし
男子校のみなら男子校用、私立のみなら、、それらが組み合わさったら…と無限にパターンを書き加えてくのは
おかしいのではないかなと。まとめて一つで、各要素があってもなくても動く設定は無理なんでしょうか?
そんなはずないと思いつつわからないのです、正規表現を使ったやり方かなと思ってるんですが難しくて…
どなたか、お知恵を頂けると嬉しいです。すみませんが宜しくお願いします
0860nobodyさん
2010/01/15(金) 07:08:02ID:???自前でルートを書いてスクリプトで判定するというのが早そうだよ
matchとassembleを書くだけだから難しくないし
0861856
2010/01/15(金) 10:37:20ID:???ありがとうございます。あれから色々迷ってたんですがあっさり解決しました。
標準のルーティングが/module/controller/action/var1/val1/var2/val2…で動くように
/:ken/type/:type/* の形でワイルドカード(*)を使って任意変数の繰り返しを表現できるのに
気づきました。どうもすみません、ありがとうございました
0862nobodyさん
2010/01/15(金) 17:09:04ID:???まぁ、色々と自分で調べまくって自分にはFWはZFが一番合ってると思って始めたから最期までやり通すけど
0863nobodyさん
2010/01/15(金) 17:23:47ID:???日記書くとこ間違ってるよ。
ここは2ちゃんねるといって不特定多数が読む掲示板なんだよ。
わかったらさっさとお帰り。
0864nobodyさん
2010/01/15(金) 17:55:06ID:???Live2chで見てるからレスが良く付いて活況だなと思っていたら・・・
もうずっとくだらん論争ばかりが続いていたんだな
CakePHPよりもいつも上にあったし
てっきり内容が濃いのかと思ってたらコレだ
0865nobodyさん
2010/01/15(金) 18:13:34ID:???うっかり使いまくりそうなのですが・・・
0866nobodyさん
2010/01/15(金) 18:22:07ID:???素直に入門本を買って順にやって行けば順に解説してくれてますよ、
自分はzendframework徹底入門ての買ったけど。
今までの通常のやり方でいいじゃーんって気分になること多いけど、結局素直に従った方が合理的だったり…
安くはないけど買った方が良いんじゃないかなぁ
0867nobodyさん
2010/01/15(金) 21:36:40ID:???0869nobodyさん
2010/01/16(土) 00:16:45ID:???ばんばん批判し合って風通しよくしようぜ
0870nobodyさん
2010/01/16(土) 00:28:29ID:???そうでもないか
0871nobodyさん
2010/01/16(土) 01:00:40ID:???なんかうまい方法ないかね
0872nobodyさん
2010/01/16(土) 01:52:38ID:???0873nobodyさん
2010/01/16(土) 03:42:16ID:???0874nobodyさん
2010/01/16(土) 08:00:44ID:???issue tracker への投稿なり、 下記URL で紹介したフォーラムでの議論なり、翻訳なり、ぜひ御参加よろしくお願いします。
http://www.zend.co.jp/tech/index.php?cmd=read&page=%A4%BD%A4%CE%C2%BE%2FZend%20Framework%2FFAQ
0875nobodyさん
2010/01/16(土) 08:54:30ID:???0877nobodyさん
2010/01/16(土) 10:30:24ID:???私も知りたいです。ただし、下記にあげた以外のコンポーネントで。
・Zend_Filter/Validate の alnum や alpha : あらかじめ Zend_Locale の setLocale で日本を指定してね。
・Zend_Pdf : IPA フォントファイルを使えます。
IBM の i5/OS の人は残念ながら PHPExcel / TCPDF を使ってください。(i5/OS 用の iconv 関数が対応していないため)
・Zend_Mail/Mime : setHeaderEncoding で Base64 を指定して、 なおかつ各種関数に与える日本語文字列をあらかじめ ISO-2022-JP に変換しておいてください
(mbstring エクステンションをコンポーネント内で使ってはいけないルールになっているため、ご面倒ですがあらかじめ変換をお願いします)
・Zend_Mail の携帯電話への対応 : われはと思わん人の contribute を望みます!
0878nobodyさん
2010/01/16(土) 12:08:21ID:???BootstrapでビューのSuffixをPCはphtml、携帯はhtmlとすると同じアドレスで運用できるし、
分岐処理の追加が1つだけになるから楽。
0879nobodyさん
2010/01/16(土) 18:17:12ID:???ただ文章をツラツラと述べているだけ(その中にたまに簡潔に関数の説明があるだけ)だし
主立ったようなサンプルコードもPHPやPEARのマニュアルに比べても充実していないし
公式運営者達はもっと頑張るべきだな
せめてPHPやPEAR程度のマニュアルにしてほしい
0880nobodyさん
2010/01/16(土) 18:21:35ID:???見てみたらZendと変わらんレベルだったわ
あれじゃ初心者に受け入れられないだろう
0881nobodyさん
2010/01/16(土) 18:27:06ID:???APIの方見てる?
0882nobodyさん
2010/01/16(土) 18:31:16ID:???そんなに困ったことはなかったな
もちろん絵文字関連は独自実装したけども
0884nobodyさん
2010/01/16(土) 18:58:55ID:fYNXcpFq端末判定してviewのみ切り替えてますか? それとも専用のコントローラ書いたりしてるの?
0886nobodyさん
2010/01/16(土) 19:40:42ID:???苦言。
「公式運営者」というものは存在しません。
Zend Technology がお給料出して、開発をバックアップしてください、と依頼した数人は別として、
それ以外はほとんどがボランティアです。
何か足りないものがあると感じたら、
他の誰かがやってくれるのを待つのではなく、
まず「あなた」自身が何かできることがないか考えて見てください。
0887nobodyさん
2010/01/16(土) 20:34:09ID:SFBSLYpyコントローラの中で
$this->view->headLink()->appendStylesheet('/css/index.css');
を指定して、レイアウトでheadLinkを呼び出した際に
example.com/zend_index/css/index.css
が呼ばれるようにするにはどうしたらいいでしょうか?
0888nobodyさん
2010/01/16(土) 20:34:56ID:???Base64 エンコードした後の文字列に <や>(の半角)記号が混ざっていると、サニタイズのための処理で除去されて、結果として文字化けしてしまう、という件ですね
mb_strstr 関数の代わりを実装する方法をまだ思いつけないので、この件とまったままになってます。ごめんなさい
0889nobodyさん
2010/01/16(土) 20:41:59ID:???うろ覚えのまま書いたのでマチガイました。この件ですね。ただいま保留中。。
http://d.hatena.ne.jp/localdisk/20090621/1245611453
0890nobodyさん
2010/01/16(土) 21:33:43ID:???そうだよ、同レベルだよw
しかも俺がザッと見たところ、ZFはまだ関数の説明が文章中たまにされてるし、トピック化されているけれど、CakePHPとSymfonyはそれすらないw
わかりにくいよなw
0891nobodyさん
2010/01/16(土) 21:42:23ID:???0892nobodyさん
2010/01/16(土) 21:54:52ID:???いやスレでの話じゃなくて社内でFWどれ採用するか議論したときの話
未経験者に教えるのに本一冊渡してその通りチュートリアルやってもらうのと
公式ドキュメント見て調べてやってねってのじゃ手間が10倍違うから
0893nobodyさん
2010/01/16(土) 22:57:15ID:???本で勉強するのであれば、主な3つのFWのうち、Zendが圧倒的にいいと俺は思うね
Cakeとか全然じゃん
まぁ、そんな難しくないし、マニュアルコンテンツ自体も非常に少ないけどね
ZFは本はしっかりしているが逆にマニュアルは一番内容量が多く、他の2つよりもFW自体濃い
0894nobodyさん
2010/01/16(土) 23:00:50ID:???0895nobodyさん
2010/01/16(土) 23:22:06ID:???ルートの名前とありますが、何を意味しているのでしょうか?
例えば徹底入門に書かれているコードは
$router->addRoute(''article'',
new Zend_Controller_Router_Route('article/:idr', //【A】
array(
'module' => 'default',
'controller' => 'article', //【B】
'action' => 'index',
'id' => 1
)
〜
と書かれています
【A】か【B】の事かと思ったのですが、マニュアルでは
$route = new Zend_Controller_Router_Route(
'author/:username',
array(
'controller' => 'profile',
'action' => 'userinfo'
)
);
$router->addRoute('user', $route);
とあり、userはどれとも一致していません
この第一引数のルート名というのは何を設定し、何の為のものなのでしょうか?
0896nobodyさん
2010/01/16(土) 23:35:50ID:???コントローラでもアクションでもなくてその下の階層
0897nobodyさん
2010/01/16(土) 23:54:10ID:???ごめんなさい、せっかくお答えして頂いたのにおっしゃっている意味がわかりませんでした
下の階層とはどういう事でしょうか?
/controller/action/ココ という事でしょうか?
それか最初の例で言えば、ArticleController.phpの中という事でしょうか?
少し混乱してきました(恥)
自分は今も調べていて思ったのですが、例えば2つ目のコードで言えばaddRouterの'user'は任意で決めたもので、それを何かの関数で参照とか出来るのかなとも思ったのですが、そういうような記述もどこにもされていませんでした
'user'は何を意味しているのでしょうか?
どこかのコード内に記述されているのでしょうか?
マニュアルのほかにもこのサイト(http://codezine.jp/article/detail/2226?p=2)などを参照しましたが分かりませんでした
0898897
2010/01/17(日) 00:20:59ID:???やはりこの第一引数のルート名というのは自分で適当に付けた名前で、自分でこういうルートをフロントコントローラ内に追加しましたという確認をする為だけに付けた名前(例えばxmlでいう接頭辞とか)なのでしょうか?
それともやはり意味があって、何かの為に指定したものなのでしょうか?
0899nobodyさん
2010/01/17(日) 00:47:56ID:???0900nobodyさん
2010/01/17(日) 00:49:21ID:???0901nobodyさん
2010/01/17(日) 01:34:24ID:???読解不能・・・。
混乱してるのは分かるけど、句読点くらいちゃんと使おうよ。
'user'はユーザ定義のルーティング名。
もう1度マニュアルをよく読むべし。
http://framework.zend.com/manual/ja/zend.controller.router.html
0902nobodyさん
2010/01/17(日) 14:55:59ID:???転職したほうがいいと思う。
0903nobodyさん
2010/01/17(日) 14:58:50ID:???0904897
2010/01/17(日) 16:30:48ID:???確かに書いてて自分でも良く分かってはいませんでした(苦笑
自分が分からなかった事を書き直します。
$router->addRoute('news', //【A】
new Zend_Controller_Router_Route('news/:dayr', //【B】
array(
'module' => 'default',
'controller' => 'news',
'action' => 'index',
'day' => date('d'),
),
で、http://localhost/zend/controller2/news/01 のようにアクセスすればNewsController.phpの内容がブラウザに表示されます。
多くのサンプルを見たところ、【A】と【B】の各第一引数のnewsという文字は一致しておりました。
それでこれらは一致させるものだと単純に思っていたところ>>895のマニュアルのサンプルの場合はuserとauthorと、それぞれ異なる文字が書かれていました。
URL自体には【B】の部分に書かれたnewsが必要なのは分かりました。
では【A】の部分のnewsはいったい何を意味しているのだろうと思ったわけです。
この【A】のnewsをfooに変えたとしても、http://localhost/zend/controller2/news/01 のようにアクセスすればNewsController.phpの内容がブラウザに表示されます。
じゃぁこの【A】の部分のnewsは【A】より以下のコードを識別するために自分で勝手に決めただけで、特別意味はないのかなと思ったわけです。
しかし引数で指定した以上なんらかの意味があるんじゃないかと思いましたが、色々なサンプルで【A】の部分の第一引数を何かに使うというような記述もありませんでした。
そういうわけでこのaddRoute()の第一引数は何を意味しているのかなと疑問に思い質問させていただきました。
0905nobodyさん
2010/01/17(日) 16:35:48ID:???897の言ってることも分からなくもないだろ。
addRouteの第一引数はgetRouteやremoveRouteメソッドから察するに
他のRouteと識別するものなんだろうけど
そもそもルーティングは事前に設計されてるもので
設定から読み込まれたRouteを追加したあとで
動的に取得したり削除したりするケースがあるのかってことだろ
0906nobodyさん
2010/01/17(日) 17:59:36ID:kUgFmiiy確かにaddRoute()内の $this->_routes[$name] = $route; を
$this->_routes[] = $route; にすりゃ第一引数(識別子)なしにできるんだろうけど、
'default'という名前の Route がデフォルトで定義されている。
で、'default' が気に入らないから消したいって時に、キーとして指定しやすいからって理由だと思う。
0908nobodyさん
2010/01/17(日) 22:04:37ID:???0909nobodyさん
2010/01/18(月) 08:13:43ID:???0910nobodyさん
2010/01/22(金) 03:59:32ID:???なにかMVC構造+MySQLの参考になるようなドキュメントなどはありますか?
ぐぐって出てくる解説ページではDBへの接続やDBから取得、追加、削除などもコントローラに書いているようなのですが、
これらは本来Modelに書くべきことなんじゃないかと思っているのですが、ZendFrameworkでは違うのでしょうか?
0911nobodyさん
2010/01/22(金) 04:06:00ID:???レス数が900を超えています。1000を超えると表示できなくなるよ。