トップページphp
1001コメント312KB

Zend Framework Part3

■ このスレッドは過去ログ倉庫に格納されています
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/
0606nobodyさん2009/10/10(土) 07:33:39ID:???
Google Trends だとこんなもん
http://www.google.co.jp/trends?q=%22Zend+Framework%22%2C+%22CakePHP%22%2C+symfony%2C+codeigniter%2C+%22Ruby+on+Rails%22&ctab=0&geo=all&date=all&sort=0

symfonyだけ一般の単語でもあるから実態はもっと低いはず
ランキングもフランス語圏ばっかだし

CakePHPはアジアに強いな
日本に限定するとCakeが抜けててキモい
Zend Frameworkはなぜかチェコ(と東欧)が多い
ついでに足したRailsのバブルが落ち着いてるのがよく分かる

とにかく言えるのはどれも大差無いってことと
インドネシア人はPHPのフレームワークが大好きってことだな
まあ下らん比較してる暇あったらコード書けってのが正解だよきっと
0607nobodyさん2009/10/10(土) 07:42:48ID:???
>>603
routes.student.route = "student/:sid"
routes.student.defaults.controller = "student"
routes.student.defaults.action = "detail"
routes.down.defaults.sid = ""

>>605 の言う通りまずはルーターのドキュメント読んでな
http://framework.zend.com/manual/ja/zend.controller.router.html
06085842009/10/10(土) 08:35:15ID:???
>>604,605,607
本当にありがとうございます
教えてもらったとこ勉強します、ありがとう!
0609nobodyさん2009/10/10(土) 08:44:26ID:???
>>606
>symfonyだけ一般の単語でもあるから
これマジで言ってる?
ネタだよね?
0610nobodyさん2009/10/10(土) 12:21:08ID:???
>>608
蛇足かもしれんが

フレームワークってのは開発時にたいてい必要な
似通っててつまらない処理の記述量を減らすためのものでもある
んでそういう処理のひとつとしてルーティングっていう
どういうリクエストをどう捌くかってのものがある

Zend FrameworkではZend_Controllerが
フレームワークとしての大きな役割を担ってて
ルーティングもそのひとつ
あるルートに対してデフォルトや任意の
モジュール・コントローラー・アクションを割り当てたりする

慣れてくるとごちゃごちゃとやってた頃に比べて
はるかに設計することやロジックの記述に時間を割けるようになる
ZFが最適かはなんとも言えんが俺は色んなの試してZFに落ち着いた
どのフレームワーク使おうがルーティングは大事だ
がんばれ
0611nobodyさん2009/10/10(土) 12:38:29ID:???
symfonyは1.2になったときに見捨てられた感があるな
0612nobodyさん2009/10/10(土) 17:02:28ID:???
おれは、2.0になったときに見捨てられた
0613nobodyさん2009/10/13(火) 12:28:03ID:???
Hello Worldを表示するだけの簡単なサンプルってありませんか?
0614nobodyさん2009/10/13(火) 12:42:07ID:???
ぐぐった?
0615nobodyさん2009/10/13(火) 13:28:39ID:???
どのキーワードでググレばいいか教えてください
0616nobodyさん2009/10/13(火) 14:10:34ID:???
ggrks
ttp://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rlz=1R1GGGL_ja___JP327&hs=Flu&newwindow=1&q=zend+Hello+World&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
0617nobodyさん2009/10/14(水) 22:03:58ID:???
>>616
やっさしーなーlol
0618nobodyさん2009/10/16(金) 12:49:04ID:???
>>616
濡れた
0619nobodyさん2009/10/17(土) 12:33:17ID:???
>>616
漏れた
0620nobodyさん2009/10/17(土) 13:27:19ID:???
>>616
蕩れた
0621nobodyさん2009/10/18(日) 13:28:13ID:???
>>616
懣れた
0622nobodyさん2009/10/18(日) 22:21:29ID:XYGMGdV2
萌えた
0623nobodyさん2009/10/21(水) 13:22:20ID:???
2.0はまだかね?
0624nobodyさん2009/10/21(水) 14:18:04ID:???
すいません、今やってます
0625nobodyさん2009/10/23(金) 14:07:32ID:???
FlashMessengerでforwardではクリアされないんだが、redirectすると、メッセージがクリアされてしまう。
リダイレクトではpostDispatchの段階でクリアされてしまうようなんですが、いいアイデアありませんか?
0626nobodyさん2009/10/23(金) 17:24:06ID:???
まずはforwardとredirectの違いを調べよう
Zendの話じゃなくてWebの仕組みとしての違いを
0627nobodyさん2009/10/23(金) 17:45:32ID:???
>>626
言いたいことはわかるし。そこは理解してるつもり。

でもさ、FlashMessengerってセッション使ってるわけじゃん?
なんか、上手いことできないかな〜って。
0628イとウ2009/10/25(日) 15:44:34ID:sG/ZSqsY
はじめまして。
Zend_Validate のメッセージを和訳していただきたいのですが
ここでお願いするのは間違えていますか?

現在、メッセージ・テンプレートの抽出( gettext 形式)まで行いました。
0629nobodyさん2009/10/25(日) 15:47:34ID:???
いいよ、いくらで?
0630イとウ2009/10/25(日) 15:50:18ID:sG/ZSqsY
>>629
相場はいくら位でしょう?
また共有目的で無料というのはいかがでしょう。
0631nobodyさん2009/10/25(日) 15:55:00ID:???
メッセージ量どれくらい?
0632イとウ2009/10/25(日) 15:59:08ID:sG/ZSqsY
メッセージ:103
単語数:923
文字数(スペース含む):5553
文字数(スペースなし):4648

です。
0633nobodyさん2009/10/25(日) 16:11:06ID:???
ってかそのシステムでどんなvalidateが必要なのか考えて組まなきゃならないんだから
そのバリデートを組み込むたびに一つずつ翻訳というかvalidateの目的通りの日本語を埋めていけばいいだけなんじゃないのか
0634nobodyさん2009/10/25(日) 16:18:23ID:???
それが既に英語であるんじゃないの?
0635イとウ2009/10/25(日) 16:19:15ID:sG/ZSqsY
作成するステムで必要なものではなく共有目的が当初の考えです。

Zend_Validate のデフォルトのメッセージ・テンプレートを
日本語で書いたものを必要としています。

私には Zend_Validate_Barcode_* を使う日は来ないと思いますが
お願いする対称に含みます。

また、ネット上で和訳を検索し一部分埋めています。
まったく手を着けていないものは約 30 個あります。
手を着けた約 70 個についても修正などをお願いしたいです。

共有に関しては
・レンタルサーバの代金などの費用をこちらで払いつづける
・現在こういった目的に適した領域がありそちらを借りる
などがあると思いますが、まだ考えていません。
0636nobodyさん2009/10/25(日) 16:20:35ID:???
どうして用意されてないかというと必要としてる人がいないから
理由はデフォルトのエラーメッセージのまま使う人が殆どいないので
0637nobodyさん2009/10/25(日) 16:25:03ID:???
>>635
じゃ君がリーダーシップ取って翻訳プロジェクト始めればいいだけの話じゃないか
0638イとウ2009/10/25(日) 16:31:08ID:sG/ZSqsY
確かに、おっしゃる通り

Zend_Validate_StringLength::TOO_LONG
"'%value%' is greater than %max% characters long"
を和訳したものをエラー・メッセージとして書き出すよりも

例えば、”本文は %max% 文字以内で入力してください”
など値よりもフォームのラベルを含める場合が多いと思います。

「都道府県」や「フリガナ」は想定されておらず
"'%value%' was not found in the haystack" ではなく
”選択肢の中から選択してください”

”フリガナは全角カタカナで入力してください”
であるとは思います。
0639イとウ2009/10/25(日) 16:39:03ID:sG/ZSqsY
>>637
そうします。
と言って、ここで発言を止めた方が良いでしょうか?
0640nobodyさん2009/10/25(日) 16:42:29ID:???
必要だと思う人が作ればいいんだよ。それがオープンソース。
賛同を得てみんなでやろうってんじゃなくてさ。
まぁ今までなかったのは、バリバリ作ってる人達が必要としてなかったからということでもあるんだけど。
0641イとウ2009/10/25(日) 16:56:14ID:sG/ZSqsY
>>640
ありがとうございます。勉強になりました。

私事ですが
今回初めて( PHP なのに ) python を使い Zend/Validate 以下から
メッセージ・テンプレートを抽出し gettext 形式で保存する。
など新しく試したことも多かったので

>>637
の方向を試して見ようと思います。
0642nobodyさん2009/10/26(月) 22:27:51ID:???
確かどっかに日本語訳があったから探してみて
0643nobodyさん2009/11/04(水) 14:03:58ID:???
GNU
0644nobodyさん2009/11/10(火) 13:13:58ID:???
定数的な値をapplication.iniに入れたいときってさ、こんな感じでいいですよね?

application.ini で
resources.frontController.foo = bar

モデルの中で
Zend_Controller_Front::getInstance()->getParam('foo');

私の記憶が確かなら昔はbootstrapの中でZend_Registryに登録してたので
ちょっと違和感があるんだけど、これでいいよね?
06456442009/11/10(火) 16:44:29ID:???
結局こんなふうにした
application.ini で
conf.foo.bar = ほげほげ

Bootstrapで
protected function _initConf()
{
Zend_Registry::set('conf', new Zend_Config($this->getOption('conf')));
}

コントローラやモデルで
$bar = Zend_Registry::get('conf')->foo->bar;

違和感ないですよね?
0646nobodyさん2009/11/11(水) 20:08:27ID:0BFUpwQj
レイアウトの管理をどうしたら良いか相談です。
ヤフーみたいな左がメインカラム、右がメインカラム(内容は左の内容に連動)というレイアウトのとき、
レイアウト管理や右カラムのコンテンツの生成はどうしたら良いでしょうか?

Zend_Layoutがありますが、あれって各コントローラ側から変数を渡して
レイアウトスクリプトの中身をパターン分けすることって出来ますか?
東京の店舗の紹介をしてるページなら、レイアウトスクリプト部分も東京の関連情報を表示するとか。
というか、今参考にしてる本(ZFW徹底入門)を見ると、レイアウトスクリプトは全く静的なモノって印象ですが
そこに動的な要素を加えることは出来るんでしょうか?

皆さんは、各ページで共通部分のテンプレート化、またテンプレート部分に動的要素を加える方法、
それぞれどうしてますか?
すみませんがご意見お願いします。
06476462009/11/11(水) 20:41:49ID:0BFUpwQj
もしかして、テンプレート領域なのに動的に変化させようってのがおかしいのかな?
でも、完璧に静的な部分なんて今時のwebアプリにあるのか怪しいしなぁ。。
0648nobodyさん2009/11/11(水) 22:07:39ID:???
Viewスクリプトも使えよボケナス
0649nobodyさん2009/11/11(水) 23:26:34ID:???
>>647
スクリプトってのは動的なんだよボケナス
0650nobodyさん2009/11/12(木) 00:40:17ID:???
どうしてその本を見てレイアウトスクリプトが静的だと理解したのか理解に苦しむ
同じ本持ってるけど
0651nobodyさん2009/11/12(木) 12:08:16ID:???
静的を性的と思っているから?
0652nobodyさん2009/11/12(木) 15:37:09ID:???
グーグル巡回で死にそうなサイトだなw
動的に変更しなきゃ逝けない頻度を詳しく調査して、可能な限り静的で済ませたほうが共用レン鯖の負荷は軽いよ。
0653nobodyさん2009/11/12(木) 15:51:48ID:???
誰もそういう話はしていないが
0654nobodyさん2009/11/13(金) 12:33:09ID:DRo8fFM6
646=652=軽い池沼
あまり相手にしないほうがいいとおも
0655age2009/11/13(金) 16:57:28ID:c9uuCv2R

Zend_Service_Amazon_CustomerReviewについて質問。

reviewerを取得できないのですが、ReviewerのNameを取得する方法
はあるのでしょうか。

0656nobodyさん2009/11/16(月) 14:46:40ID:???
Zend_Service_Amazonはいつになったら署名に対応になるんだろ
0657nobodyさん2009/11/18(水) 12:26:14ID:???
ちらっと見た感じ使えそうだけどな
コンストラクタの第3引数をセットすれば。
@paramの説明は無いけどねw

/**
* Constructs a new Amazon Web Services Client
*
* @param string $appId Developer's Amazon appid
* @param string $countryCode Country code for Amazon service; may be US, UK, DE, JP, FR, CA
* @throws Zend_Service_Exception
* @return Zend_Service_Amazon
*/
public function __construct($appId, $countryCode = 'US', $secretKey = null)
0658nobodyさん2009/11/19(木) 22:55:31ID:???
リファレンス本が欲しい
0659nobodyさん2009/11/20(金) 02:58:54ID:???
すぐ仕様が変わるのに本は無駄。
ソースコード見て使い始めちゃったほうが。

ヲレリファレンスウェブをzendで作ればいいじゃんw
0660nobodyさん2009/11/22(日) 12:47:29ID:Q6zaAGKZ
仕様は増えることはあっても減ったり変わったりはあまり無いと思う。
ドキュメンターで自動的に作ったリファレンスもあるけど、API(引数)知りたい
ぐらいの事だったら確かにソース直接見たほうが早いよね。

それよりもquickstartをもっと充実させてほしい。
0661nobodyさん2009/11/22(日) 18:14:02ID:???
ヲレクイックスタートを後悔すればいいだけでは?
0662nobodyさん2009/11/22(日) 20:41:23ID:???
この手のフレームワークにクイックスタートが必要なのか疑問
0663nobodyさん2009/11/22(日) 20:53:21ID:Q6zaAGKZ
好き勝手にZFWを使ってたら、ぜんぜんMVCじゃなくなってたでござる
0664nobodyさん2009/11/22(日) 20:58:09ID:???
入門としてクイックスタートは必要だよ。
俺はZendがPHPのフレームワークに触れた最初だったんだが、
どう作ればいいかさっぱり分からなかった。
日本語で書かれた公式ドキュメントは情報少ないしね。
手探り状態でやっていってもいいんだが、時間かかってしょうがない。
最初の1歩くらい導いてほしい。
0665nobodyさん2009/11/22(日) 21:10:41ID:???
zendは使い方によって全く別物になっちゃうから指針になるものは必要
0666nobodyさん2009/11/22(日) 21:14:32ID:???
そうそう。
なかなか子どもできないなーと思ってたら、違う場所に入れてたなんて
こともあるしね。
最初が肝心。
0667nobodyさん2009/11/22(日) 21:33:09ID:???
いくらZendといえどもMVCを崩すのは逆に面倒だろw
0668nobodyさん2009/11/23(月) 16:10:56ID:???
WindowsでZFを動かしているのですが、ページが表示されるまでやたら時間がかかります。
Windows×ZFの際に、何かボトルネックがある気がします。

■すばやく表示される
・自宅のVMware上のApache(Ubuntu)で動かすZFアプリケーション
・レンタルサーバー上のApache(Debian)で動かすZFアプリケーション
・自宅のApache(Win)で動かす、ZFを使わないアプリケーション

■表示までに時間がかかる
・自宅のApache(Win)上で動かすZFアプリケーション

上記を総合すると、Win×ZFという環境の場合、どこかに問題が潜んでいる気がするんです。

根本的な原因を探るには、もうちょい切り分ける必要があると思うんですが、
あとどういう検証するべきでしょうか。

教えて、問題解決の達人の誰か!
0669nobodyさん2009/11/23(月) 16:20:10ID:???
ZFってrequire_onceが何度も実行されてるから、読み込みが遅いストレージだとその分時間がかかりやすいとか。
あと、include_pathでZFライブラリがあるpath指定が後ろの方にあるためとか。
うちも開発環境がWin上だけど、ZF使ったからって特別遅く感じたことはないな。
06706682009/11/23(月) 16:30:46ID:???
>>669
同一マシン上で、WinとLinux(VMですが)の比較をしているので、
ストレージの問題ではなさそうです。
ゲストOS側で遅くなる、ということならまだありそうですが、ホスト側のWinが遅いので・・・。

include_pathについては、調べたらWin側のが1つ多くなってましたが、
いかんせん1つなので違うと思います。

でもサーバー内の設定から検証してみる必要もありそうですね!
ヒントを得ました。ありがとう。>>669
0671nobodyさん2009/11/23(月) 16:32:53ID:???
>>670
ぜひ原因を見つけて教えてくれ
06726682009/11/23(月) 16:42:15ID:???
なんか常に遅いわけでもないらしい。
一度リロードを押すと、レスポンスまで10秒ほどかかるけど、
次にリロードしたときは、一瞬で表示される。

何らかのキャッシュまわりが怪しい気がしてきました…。
とはいっても、ZFアプリケーション自体の設定は何も違わないわけですが。

まずSmarty(Zend_Viewから呼んでる)を疑って、キャッシュを消してみたけど、
特に変わらなかった。(早いときは早いし、遅いときは遅い)

DBについてはphpMyAdminとか使ってる限りはサクサク動くからこれも違うらしい。

やっぱりphp.iniとかhttpd.confとか探らなきゃダメなのかも…。

>>671
ただ単に開発環境での作業効率が落ちるからイライラしているだけで、
肝心の本番サイト自体はサクサク動くから、必ずしも大きな問題ではないわけで、
飽きて諦める可能性も大w
あんまり期待はしないで。
0673nobodyさん2009/11/23(月) 17:14:30ID:???
VM上では問題ないと言うことなので外していそうですが、
アプリ上で名前解決を行っていて、DNSからうまく引けていないとか。

はたまた、Win上にあるApacheやPHP本体が保存されている場所が
たまたまHDDが腐りかけているとか。

WinVistaやWin7ならUACが絡んでいたり?

include_pathは数よりもその順序な。ZFが先頭になかったら、先頭に持ってきてみて。
0674nobodyさん2009/11/23(月) 17:45:06ID:???
Winには特別なソフトいれてないかい?
Win+ZendFW+Smartyでシステム構築してもなんら問題なく動いてるよ。
0675sage2009/11/23(月) 17:46:58ID:???
これをみてがんばって!
http://framework.zend.com/manual/ja/performance.html

http://d.hatena.ne.jp/i_ogi/20080505/realpathcache

ちなみに、1回目と2回目で速度が違うのは、1回目は中間言語への変換が Zend Optimizer で行なわれ、2回目はその結果を再利用しているため、とも
考えられるので、あらかじめZend Guard で中間言語への変換を済ませておいてからサーバへUpload、という手もあり。
0676nobodyさん2009/11/23(月) 18:03:42ID:???
applicationフォルダとかないよ
どこにあるの?><
0677nobodyさん2009/11/23(月) 18:19:43ID:SQwNDPch
まそんなのは、再現してる限り必ず解決できる問題なので置いとくとしても。

こっちのほうが気になるんだよなあ
なんでSmarty使ってんの?
好んで使ってんの?
バカなの?
0678nobodyさん2009/11/23(月) 20:20:03ID:???
PHP使っている馬鹿がそれを言うのかw
0679nobodyさん2009/11/23(月) 21:19:23ID:???
ソースから再コンパイルして無駄な機能はそぎ落とさないとなあ。
unix系ならそういうの自動で遣ってくれてる。
0680nobodyさん2009/11/23(月) 22:52:45ID:EC5WPStk
質問させてください。(phpスレで聞いたらスレ違いと言われた話題なんですが)
ユーザー:山田さんの情報を表示するパス、localhost/user/index/uId/yamada をルーティングで
localhost/yamada とすることが出来ると思いますが、手順をどうすべきか悩んでます。
こういう場合このユーザ名(yamada)とコントローラ名がぶつかったらルーティングできないですよね?
※yamadaコントローラがあったらパラメータなのかlocalhost/yamada(/index)へのアクセスなのか
 わからないから。

と言うことは、
1)ユーザー名の登録の時に、既存のコントローラーとかぶる名前の入力を禁止する
2)ルーティング時に、uId(yamadaなど)を一つずつコントローラ名と照合
3)照合してぶつかってなければルーティング
という手順で実現するしかないんでしょうか?
もっと賢いやり方はないでしょうか。
また、サブドメインにユーザ名を入れたhttp://yamada.hoge.jp/http://localhost/user/index/uId/yamada
同じアクションを実践する処理をいちいちhttpd.conf?を操作するのでなく自動化することは出来ないでしょうか。
(zendFWの機能で。)

長くなりましたが、回答お願いします
0681nobodyさん2009/11/24(火) 00:04:19ID:???
>>680
どっちもできますよ、簡単に。
そんなに上手に質問できるのにリファレンスを読まないなんて。。
まあその辺の説明は、確かにちょっと読み辛いですが。

>>678
jsp + smarty で何かいいことありますか? と同じ質問なのでは
0682nobodyさん2009/11/24(火) 07:13:43ID:???
>>664
ボランティアだと面倒見切れないので有料になるけど、何万円ならOK?
0683nobodyさん2009/11/24(火) 21:02:46ID:???
はいはい
0684nobodyさん2009/11/24(火) 21:56:30ID:???
Zendに手をつける前に、Cakeを学んできた方がいいですか?
0685nobodyさん2009/11/24(火) 22:49:25ID:???
いや、Zendをやりたきゃすぐやったほうがいい。
PHPのフレームワークなんて学ぶってほど難しくないし。
てか、なぜCakeが?
0686nobodyさん2009/11/25(水) 12:30:12ID:???
Zendは、テンプレートファイルでPHPの終了タグを省略するから、Eclipseで書いてると文法エラー出まくりになる...orz
Cakeはそんなことない
0687nobodyさん2009/11/25(水) 12:41:55ID:???
Eclipse使わなきゃいいだけ
viでゴリゴリ書け
0688nobodyさん2009/11/25(水) 12:59:56ID:???
Eclipseってしょぼいんだな。
0689nobodyさん2009/11/25(水) 13:13:13ID:???
アラートの設定も知らないでEclipseを使ってる人って初めて見た
0690nobodyさん2009/11/25(水) 13:36:07ID:???
別に省略しなくてもいいんじゃないの
俺は省略してないけど
0691nobodyさん2009/11/25(水) 17:29:57ID:???
省略することが推奨
?> があることによるケアレスミスを防げるから
0692nobodyさん2009/11/25(水) 17:43:49ID:???
?>云々はZendというよりPHPの仕様だからどっちでもいい
0693nobodyさん2009/11/25(水) 19:34:32ID:???
cronで某所のhtmlファイルをZend_Http_Clientを使ってダウンロードしてるんだけど、php5.2.9 から php5.2.11 にアップデートしたら 'Invalid chunk size "" unable to read chunked body'って例外がでて半分くらい取得出来なくなったんだ。なぜだろう?
CentOS5.4 x64 で、phpはソースからコンパイル
0694nobodyさん2009/11/25(水) 19:44:36ID:???
chunk sizeがInvalidなんだろ
0695nobodyさん2009/11/25(水) 20:36:58ID:???
確かにそうだね…どうすれば、だったね。
まあ、アップデートしなければいいわけだけど、今後もそうだと困るし
0696nobodyさん2009/11/27(金) 00:18:27ID:???
情報弱者が多いな。この仕事向いてないから転職したらw
0697nobodyさん2009/11/27(金) 07:45:30ID:???
今の時代ググれば何でもでてくる。
0698nobodyさん2009/11/27(金) 07:47:37ID:???
>>697
信頼性は保証されないけれどね
0699nobodyさん2009/11/27(金) 08:01:20ID:???
もって4,5年ってとこか
0700nobodyさん2009/11/27(金) 12:00:17ID:???
>>699
君の勤め先のこと?
0701nobodyさん2009/11/27(金) 13:41:08ID:???
この仕事に未来はないな
0702nobodyさん2009/11/27(金) 14:39:48ID:yRRBxbeQ
>>691
?>があることによるケアレスミスってどんなの?
0703nobodyさん2009/11/27(金) 14:41:43ID:???
<?php
if (false) {
$ret = "俺は天才";
?>
} else {
$ret = "俺はバカ";
}
0704nobodyさん2009/11/27(金) 14:44:30ID:???
>>703
噴き出したw
そんなの普通に気をつけてればオッケーだろ〜
0705nobodyさん2009/11/27(金) 14:47:55ID:???
>>702
?>以後にある空行が出力されて、header()でエラーが出るとか。
■ このスレッドは過去ログ倉庫に格納されています