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/
0449nobodyさん
2008/10/26(日) 00:18:16ID:???>>446
は完全に勘違いだからスルーしてくれ
で、
http://framework.zend.com/issues/browse/ZF-2985
↑
公式にも同じ悩みの外人がいたぞ
>>448
require とか includeだと
require 'Validate/NotEmpty.php';
はエラーになるじゃん当然だけど
だけど
Zend_Loader::isReadable('Validate/NotEmpty.php');
ってするとtrue(このファイル存在しますよ)になるの
これのおかげで困ってるの
ちなみにnclude_pathには/libraryだけ設定してやってみてよ!
0450nobodyさん
2008/10/26(日) 00:19:49ID:???0452nobodyさん
2008/10/26(日) 00:23:01ID:???どの情報が正しくてそうでないのかが良く分からん。
0453まとめ
2008/10/26(日) 00:29:36ID:???set_include_pathでセットしてあります。
それで
require 'Validate/NotEmpty.php';
みたいにやっても当然エラーが出ます
しかし、
Zend_Loader::isReadable('Validate/NotEmpty.php');
ってするとtrue(このファイル存在しますよ・読み込めますよ)になるんで
おかしいですよね〜
って話です。
で、多分これと同じことを言ってる公式のヤツ
http://framework.zend.com/issues/browse/ZF-2985
0454nobodyさん
2008/10/26(日) 00:48:14ID:???0455nobodyさん
2008/10/26(日) 00:49:27ID:???fopen("Validate/NotEmpty.php", "r", true);
で判別してるから、一応readableではあるはず。
0456nobodyさん
2008/10/26(日) 00:51:08ID:???0457nobodyさん
2008/10/26(日) 00:52:11ID:???その挙動は正しくても
includeの前にisReadable()呼んでから
trueならincludeみたいにしてる箇所があるんだから
そういう動きじゃダメじゃん
0458nobodyさん
2008/10/26(日) 00:55:24ID:???isReadableというメソッド名が誤解を招いてるだけで
0459nobodyさん
2008/10/26(日) 04:36:12ID:???0460nobodyさん
2008/10/27(月) 16:27:30ID:???どちらにせよカレントディレクトリにあるかどうかも探索するみたい。
// ※実行スクリプトは/path/to/libraryに置かないように。
set_include_path('/path/to/library');
// error!
//require_once('Validate/NotEmpty.php');
require_once('Zend/Loader.php');
var_dump(Zend_Loader::isReadable('Validate/NotEmpty.php')); // true
var_dump(isReadable('Validate/NotEmpty.php')); // false
// hoge.phpは実行スクリプトと同じ場所にある
var_dump(Zend_Loader::isReadable('hoge.php')); //false
var_dump(isReadable('hoge.php')); //true
function isReadable($filename){ ...Zend_Loader::isReadableからコピペ... }
0461nobodyさん
2008/10/30(木) 15:57:14ID:???なんか上手くいかない。
アクション名もHogeFugaActionとかにできないみたいだし…
0462nobodyさん
2008/10/30(木) 16:40:58ID:???HogeFugeControllerだったら
http://ddd.com/hoge-fuge
でいける
アクショんもいっしょ
0463nobodyさん
2008/10/30(木) 16:59:29ID:???サンクス
0464nobodyさん
2008/10/31(金) 14:18:18ID:???WSDL自動生成も出来るみたいだけど...
046594
2008/11/03(月) 08:38:22ID:???Zend_Loader::isReadableの件ですが、93さんのおっしゃるとおり、error_reportingを使ってゼロかどうかチェックしてね、ということで落ち着きそうです。
Zend_Loader::isReadable自体の変更は影響範囲が広いため、回避することで話が進んでいます。
詳しくは
http://framework.zend.com/issues/browse/ZF-2900
のコメントのうち Simon R Jones - 02/Nov/08 07:11 AMをご覧ください。
0467nobodyさん
2008/11/03(月) 09:17:28ID:???requireできないものがtrueになってたら
ダメじゃんってことなんですよ
具体例出すと
アプリケーションの独自のバリデータをMy_Validate_NotEmptyとかじゃなくて
Validate_NotEmptyにしたいときに
困るんです
046894
2008/11/03(月) 13:09:34ID:???話がかみ合っていないように思われます。
ZF-2985は file not existの場合にwarningが発生することを問題にしており、
あなたが指しているであろうBasil Guevarra さんはSubversion Revision9451
のロジック変更によりデグレードすることを指摘しています。
ZF-2985で取り扱うべきだ、というご意見をお持ちなのかもしれませんが、
new issueを作成して取り扱うべきでしょう。
お手数ですが下記にて投稿お願いいたします。
http://framework.zend.com/issues/secure/Dashboard.jspa
0469nobodyさん
2008/11/16(日) 06:00:20ID:WM8aCUuHゼンド・ジャパン監修の「ゼンドフレームワーク入門」ていう本読んでますがいまいちよくわからないので質問します。
たとえば、プロフィールを紹介するサイトがあって
http://www.myprofile.com/
http://www.myprofile.com/address/
http://www.myprofile..com/school/
http://www.myprofile..com/vision/
という構成のサイトをZendFWで作るとき、各ディレクトリに一つずつデフォルトコントローラを含むphpファイル(index.php)を
置くんでしょうか?
というか、従来の静的なサイト構造の時と同じように.com/以下に物理的なディレクトリファイルを置いてもかまわないんですかね?
/actionName/name1/val1/name2/val2 でアクションを引数つきで実行するのなら、/address/がディレクトリなのか
そこにあるindexphpに含まれるアクション名もしくは変数名・値なのかどう判断するんだろうと疑問に思っています。
それとも、 myprofile.com/ 以下には子ディレクトリは作らず全部index.php内のアクションで/address/や/school/の
ページの表示をするんでしょうか?
すごく非常識な質問かもしれないですが、公式を見てもピンと来なかったのでどなたか良ければお願いします
0470nobodyさん
2008/11/16(日) 06:50:30ID:???普通はおかないですね。
> /address/がディレクトリなのか
> そこにあるindexphpに含まれるアクション名もしくは変数名・値なのか
> どう判断するんだろうと疑問に思っています。
ディレクトリかどうかというとmode_rewriteの対する設定の問題で、
一般的なFWでは大概一緒です。
> それとも、 myprofile.com/ 以下には子ディレクトリは作らず
> 全部index.php内のアクションで/address/や/school/の
> ページの表示をするんでしょうか?
FWに処理させたいないようはそうですが、画像ファイルや静的なファイルを
ディレクトリを作って配置するケースはありますが、それは設計次第ですね。
URLの調整を詳細に行いたい場合はRouterをカスタマイズして利用します。
ただ、最初に機能を評価するときは、いきなりRouterの動作は検証しにくい
と思うので、コントローラーを一つ作って、
/コントローラー/アクション/var1/name1/
といった形のURLでやるのがありがち。
0471469
2008/11/16(日) 10:05:08ID:WM8aCUuHご回答ありがとうございます
>FWに処理させたいないようはそうですが、画像ファイルや静的なファイルを
>ディレクトリを作って配置するケースはありますが
繰り返しになってしまって申し訳ないですが、
.com/profile/にindex.phpを置いて、その中でZendFWを使った処理をしてもかまわないんでしょうか?
(ZendFWを使ったプログラムがいろんなディレクトリに複数存在することになりますが、いいのかな という疑問です)
それとも、そうしたFWを使った処理は .com/index.php の中のアクションで処理するんでしょうか?
というのも、本を見ると「公開ディレクトリに置かれるphpプログラムは最小限にする」と書いてあるので
(/profile/ディレクトリや/address/ディレクトリは設置せずに)
profile情報もaddress情報もそのほかも .com/index.php から出力しろという意味なのかと疑問で。。
たとえばprofile情報が極端に少ないときに長大な .com/index.phpをいちいち読み込むのは
無駄なんじゃないかと思って考え込んでいます
原則としては1つにするくらい少ないほうが良いけど、分けたければ分けろってことでしょうか?
>ディレクトリかどうかというとmode_rewriteの対する設定の問題で
ありがとうございます、それも気になってることでした。
結局のところ、URLを ?name1=var1を/name/var1/と表示するのはmode_rewriteも併用しなければ
無理ということでいいでしょうか?
本には単純にZFWの機能で出来ると書いてあり、mode_rewriteに触れてなかったので疑問でした。
お手すきの時に応えていただけると幸いです。よろしくお願いします
0472nobodyさん
2008/11/16(日) 12:00:50ID:???とりあえず、Yesかと。
設計は自由ですね。
> URLを ?name1=var1を/name/var1/と表示する
というのは、変数と値のセットをURLとして表示するという意味なら、
mod_rewriteではなくrouter->assembleで可能です。
rewriteは、あらゆるURLをエントリーポイントに振り分けるために使います。
本もいいですけど、オンラインマニュアルは見てました?
http://framework.zend.com/manual/ja/zend.controller.html
0473nobodyさん
2008/11/16(日) 12:01:27ID:???0474nobodyさん
2008/11/16(日) 12:47:54ID:???ほんとにたびたびありがとう、助かりました
公式をもう少し真剣に読み込んでみますね
>>473
確かに素人プログラマ?なんですが、FWに触れることで
スクラッチでピンとこなかったMVCやオブジェクトを理解するヒントが
得られるかもなぁと思ったので。
今のままの『とりあえず動いてる』っていうレベルの上にいけるよう頑張ります
0475nobodyさん
2008/11/16(日) 15:09:08ID:???0476nobodyさん
2008/11/16(日) 15:24:43ID:???開発力、設計力がないとまともなものは何もできないからね。
ただ、ガッツがあれば初心者が学ぶ題材にはいいと思うんだよね。
ソースはphp5ネイティブだしドキュメントはしっかりしてるし。
間違ってもいきなりサービス公開とかはしてほしくないけど。
0477nobodyさん
2008/11/16(日) 16:40:07ID:???作り込もうと思ったら情報抜け過ぎてて詰まる罠。
0478nobodyさん
2008/11/16(日) 16:42:45ID:???0479nobodyさん
2008/11/16(日) 18:06:07ID:???俺はコントローラ、ルータ、ディスパッチャあたりをカスタマイズしようとして萎えた。
結局ソース読んだけども。
0480469
2008/11/16(日) 18:10:04ID:NmOYkuM+本や公式を理解してもその他の必要条件もクリアしたとは言えないわけですか?
その場合、どんな資料や本を参考に学習したらいいのか良ければ教えてください
もし書籍やサイトを教えてもらえたら幸いです
気が向いた方よろしくお願いします
0481nobodyさん
2008/11/16(日) 18:15:59ID:???0482nobodyさん
2008/11/16(日) 18:17:13ID:???それはZFをいくら学んでも身につかない部分。
0484nobodyさん
2008/11/16(日) 18:48:18ID:???本や公式がちゃんと理解できれば、まぁスタートラインには立てるよ。
ただ、他の方が書いているのは、>>469や>>471を見れば、
理解できていないことは明白だし、理解しようと思ったら、付随することも
自分で勉強しないとだめ。
それはたとえば、mod_rewriteだったり、デザインパターンだったりするわけで。
>>480さんの技量、詳しくはわからないですけど、あの書き込みからだと
基本的なWebアプリの理解が足りないように思われても仕方ないですよ。
0485nobodyさん
2008/11/16(日) 19:01:27ID:???参考にさせていただきます
0486nobodyさん
2008/11/16(日) 19:42:10ID:???ソース読めばいいじゃん
こんなもん
0487nobodyさん
2008/11/16(日) 19:49:08ID:???0488nobodyさん
2008/11/16(日) 20:08:32ID:???無駄をパフォーマンスに影響させない設計が必要になる。
この点、CIとは対極にある気はする。
0489nobodyさん
2008/11/16(日) 22:58:02ID:???リンゴ 100円 [ ]
みかん 90円 [ ]
さかな 222円 [ ]
[注文][リセット]
みたいなのをテーブルで作るときって
一体どうしたらいいんですか?
デコレーターを自分で作るのが一番なんですか?
Zend_Form意味がわかりません><
0490nobodyさん
2008/11/17(月) 01:04:22ID:???0491nobodyさん
2008/11/17(月) 01:42:08ID:???DtDdラッパーをぱくってTrTdラッパーを作ってパスを通す
フォームのHtmlTagデコレーターのオプションでtag=>tableするだけで
自動でテーブル作れるから、フォームの量産具合によるんじゃない?
0492nobodyさん
2008/11/18(火) 16:21:40ID:???0493名無しさん@十周年
2008/11/18(火) 16:26:31ID:???0494nobodyさん
2008/11/19(水) 00:20:24ID:???0495以下、名無しにかわりましてVIPがお送りします
2008/11/19(水) 11:52:57ID:???0496nobodyさん
2008/11/20(木) 00:40:28ID:HrZmpLyBフロントコントローラが
http://hoge.com/~userDir/index.php というような位置にいるとき
これのコントローラの実体は
application/controllers/indexController.php という場所にあるとします。
このとき、indexController.php の中で行われている require_once '../test.php';は
フロントコントローラindex.phpの場所からの相対パスをとるべきなんでしょうか?
ためしに require_once '../test.php';を実行してみたところ
hoge.com/test.php の値を返してきました。
が、 require_once 'test.php'; をやってみたら
application/controllers/test.php の値を返してきたんですが、、
何か単純なミスしてるのか、ZFWの特別なやり方があるのか気になります。
すみませんが教えてください
0497nobodyさん
2008/11/20(木) 01:18:11ID:???PHPとして正常な動作です。
includeパスの優先順位の問題かと。
試しに application/test.php を設置してから、require_once '../test.php';を試してみてごらん。
0498nobodyさん
2008/11/20(木) 07:37:17ID:HrZmpLyBアドバイスありがとうございます
application/test.php と hoge.com/test.php が存在する状態で application/controllers/indexController.phpから
require_once '../test.php';を実行したところ hoge.com/test.phpの値を返しました
これで正常なんでしょうか?
正常なら、コントローラファイル内のrequireはフロントコントローラからのパスで考えればいいんですね。
ZF以前の質問になってしまって失礼しました。
0499nobodyさん
2008/11/20(木) 08:27:30ID:???エントリーポイントでなんかしてるとか?
おいてあるファイルがなんかしてあるとか、実際のコードの該当部分が
ないとわからないですけど。
0500nobodyさん
2008/11/20(木) 11:26:34ID:???PHP標準設定ではinclude_pathの最優先がカレントディレクトリ(上記の場合hoge.com/~userDir/index.php)なので、そうのような動作になります。
indexController.phpからの相対パスで記述したいなら
require_once dirname(__FILE__) . '/../test.php';
と記述すればOKです。
他にも set_include_path() でinclude_pathの優先順位を変更したり、
chdir() でカレントディレクトリを変更する事で挙動を替える事が出来ます。
0501nobodyさん
2008/11/20(木) 11:33:42ID:???requireを書いたファイルからの相対が
".:/usr/lib/php"のドットの意味じゃなかったっけ?
0502nobodyさん
2008/11/20(木) 11:39:23ID:???0503nobodyさん
2008/11/20(木) 12:10:47ID:???本当にありがとう!
0504nobodyさん
2008/11/21(金) 17:06:52ID:???面倒だからZFやめたw
0505nobodyさん
2008/11/21(金) 19:34:30ID:???0506nobodyさん
2008/11/21(金) 20:23:02ID:???下のLatest Releaseにリンクあるよ。
http://framework.zend.com/download/latest
0507nobodyさん
2008/11/23(日) 14:32:06ID:???ルーターやフロントコントローラのカスタマイズ方とか、
プラグインの起動タイミングとか、O/Rマッパーとか、Viewに関しても
凄く詳しく乗ってる。
巻末にクラスとメソッドリストも付いてるし
libraryディレクトリの中のソース読む作業から開放される。
smartyとかpearとかの本がリファレンス写しただけ+ちょっとおまけな感じで
山田氏の本は微妙だと思ってたんだけど、この本は凄く良い。
0508nobodyさん
2008/11/23(日) 14:33:21ID:???0509nobodyさん
2008/11/23(日) 15:16:20ID:???すべてがお見通しな天才か、すでにJAVAを齧ったことのある普通の人か
何も疑問に思わず丸暗記する凡才かのどれかでしょ。
0510nobodyさん
2008/11/23(日) 15:23:54ID:???0511nobodyさん
2008/11/23(日) 16:27:03ID:???数千円で勉強時間を短縮出来るなら安いもんだ。
俺は買ってないけど。
これから勉強する人には勧めたい。
0512nobodyさん
2008/11/23(日) 16:30:04ID:???昔藤野 真吾のPHPフレームワーク Zend Framework入門
っての見てやってたんだけど、そっちの方がいいのかな?
もし両方見た事あるなら、感想を教えて欲しい。
こっちは古いからVer的にも1.0辺りで今だと結構違いがあるしなあ。
その徹底入門はどのぐらいのVerで話しているのだろう。
0513nobodyさん
2008/11/23(日) 17:22:59ID:???緑本は公式マニュアル+多少のサンプルレベルで内容物足りなさ過ぎ。
コーディング規約がまるっと乗ってるのは便利だけど。
0514nobodyさん
2008/11/23(日) 18:34:20ID:???0515nobodyさん
2008/11/23(日) 19:22:03ID:???徹底入門立ち読みしてみなって。マジで中身濃いから。
PHP界隈では信じられない位ちゃんとした本。
数百冊売れれば良さそうなフレームワークの本に
ここまで頑張る所に俺は情熱を感じた。
0516nobodyさん
2008/11/23(日) 19:29:45ID:???本出すとなればそれなりの出来にしないと
マニュアル読めばいいじゃんって言われるからな
0517nobodyさん
2008/11/23(日) 20:26:28ID:???0518nobodyさん
2008/11/23(日) 23:16:48ID:???>>512
自分も以前買って半年放置してたZendFramework入門読んでやってるんだけど
その後出た徹底入門てやつみたらあまりの落差に鬱になった
〜入門に2800円払ってるし今から3800円?出すのはキツイ、、 でもわかりやすいんだよな明らかに
どっちもDBとかPDFとかコンポーネントの紹介部分はなくてもいいし
そういう意味じゃ同じなんだけど、概念の紹介部分に差がスゴイある
〜入門を放置してる間に徹底入門が出たみたいで自業自得なんだけど
ほんと大失敗した
というか、〜入門の通りにVer1.6で試してるんだけど動かないです。。
自分がバカすぎるのかもしれないけど
なんて悩んでる時間が無駄か 買ったほうがいいのか ホント鬱だ
山田本、今まで何冊か買って相性悪かったんだけど、この本だけはいいよ
もし今からはじめる人がいたら参考にしてください
マニュアルで理解できる頭のよさや経験があれば一番良いんだけどなぁ
0519518
2008/11/23(日) 23:41:18ID:fMqqqFAZ上にも書いたんですが、「ZendFrameWork入門」って本の第4章、「RSSまとめサイトを作る」ってやつですが
ZFW1.6以上で本に書いてある通りやってちゃんと動いてる方いますか?
自分は出版社のサイトからサンプルプログラムDLしてそのままローカルのサーバに入れたんですが
動きません。 ループし続けてエラーになってます。
同じ本利用してる方の意見が聞きたいです、よろしくお願いします
(こういうこと書くと宣伝みたいに思われそうなんですが、山田本だったらWINGSのサイトで
山田本についての疑問点やわかりづらい点質問したら教えてもらえるんですよね。。
そういう意味でも自分みたいなほんとの初心者は徹底入門買った方がいいかもです。)
0520nobodyさん
2008/11/23(日) 23:59:29ID:???載ってた気がする。俺は場所突き止めて治したけど、作業的に無駄かと…
どっかで、無いアクション読んで、リダイレクト先でアクションが無いから
どっかにリダイレクトしてループ始めてたと思う。
うる覚えだけど。
0521nobodyさん
2008/11/24(月) 00:06:28ID:???0522nobodyさん
2008/11/24(月) 00:15:16ID:???0523nobodyさん
2008/11/24(月) 00:31:13ID:yMz0LXvoほんとですか? ありがとうございます
自分も自力で探そうかなぁ、でもどの道まともな本買いなおしたほうがいいか…
メドがついただけありがたいですが、買い物失敗を駄目押しされたようで悲しいですが
ありがとうございました
0524nobodyさん
2008/11/24(月) 01:28:23ID:???0525nobodyさん
2008/11/24(月) 08:00:26ID:???まぁ、それでも読みたいか本?って感じ
Zend Studio for E 使ってたら本なんてイラネって思うけどなぁ
0526nobodyさん
2008/11/24(月) 09:26:46ID:???0527nobodyさん
2008/11/24(月) 21:39:19ID:???ヘッダを含むレスポンス出力を送信するには、 sendOutput() を使用します。
(例文)
$response->sendResponse();
どっちやねん!
0528nobodyさん
2008/11/24(月) 21:53:54ID:???0529sage
2008/11/24(月) 23:11:17ID:???日本人で作業しているのは多分2人しかいない(翻訳がTakagiさん)ので、訂正箇所見つけたら修正協力お願いしま−す
0531nobodyさん
2008/11/25(火) 08:39:59ID:???日本語版の修正などの協力は、具体的にどこにレポートするのが効率がいいでしょうか?
ttp://framework.zend.com/issues/secure/Dashboard.jspa
ここ?
0533nobodyさん
2008/11/25(火) 11:42:07ID:???get_hogehoge()
set_hogehoge()
って感じになるんですが、Zendコーディング規約だとcamelCaseですよね。
これって設定で変更可能でしたでしょうか?
使ってる人います?
0534nobodyさん
2008/11/25(火) 11:44:07ID:???protected $_hogehoge;
ってしてる時に、setter getterを作ると「_」が入るって当たり前か・・ごめ。
0535nobodyさん
2008/11/25(火) 14:04:47ID:???0536nobodyさん
2008/11/25(火) 14:19:50ID:???_getHogehoge()
が正しいんじゃないか?
0537nobodyさん
2008/11/25(火) 14:27:52ID:TqJfzk7aクラス変数のアクセシビリティとは別で。
0539nobodyさん
2008/11/25(火) 14:37:50ID:???0540529
2008/11/25(火) 22:20:33ID:???日本語翻訳の修正は532さんの方法で良いと私も思いました(笑
ロジックの修正はお手数ですけど531にて記載いただいたアドレスにお願いしますm(__)m
MatthewとかThomasとかRalphさんがあっさり直してくれるかもしれませんし。。
0541nobodyさん
2008/11/26(水) 00:13:26ID:???現状、特にレポートすることがあるわけではないんですが・・・
翻訳者の方のメルアドってどこかに載ってますか?
0542nobodyさん
2008/11/26(水) 04:57:47ID:4hnD4pTRhttpd.confに処理を任せていいんでしょうか?
RewriteEngine on
#RewriteBase / #これはコメントアウトしてます
RewriteRule !\.(js|ico|gif|jpg|png|css)$ "C:/Program Files/Apache Group/Apache2/htdocs/index.php"
とhttpd.confに書いた場合は動作しているんです。今のところは簡単なサンプルを動かしてるだけですが、
.htaccessでちゃんと設定しないと複雑なアプリを作ってるうちにおかしくなるということはありますか?
環境はwinXP apache2 php5.23 ZF1.6です
0543nobodyさん
2008/11/26(水) 06:06:16ID:???0544nobodyさん
2008/11/26(水) 08:32:39ID:???0545nobodyさん
2008/11/26(水) 09:03:28ID:???あれだよね。
ZFのコントローラーを実装するのにmod_rewriteの設定が必要で
mod_rewriteのスレで聞いたらあとは自分でやれと言われてここに来たって感じっしょ。
とりあえず、がんばれ
0546nobodyさん
2008/11/26(水) 11:18:20ID:???してるんですが挙動が変なんです
>>545
そんな感じです。
.confだけでOKとわかって安心しました、ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています