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

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/
0237nobodyさん2008/05/29(木) 13:32:19ID:???
Routerで /ctrl/action/param/param/param/ ...
とするための設定教えちくりくり
0238nobodyさん2008/05/29(木) 13:40:21ID:???
>>237
ttp://framework.zend.com/manual/ja/zend.controller.router.html
0239nobodyさん2008/05/29(木) 20:54:43ID:???
>>236
まったくだ
往復で変換できなきゃ意味ないよな
0240nobodyさん2008/06/01(日) 07:16:58ID:???
ルーターでデフォルトモジュール名を省略する事って可能ですか?
以下のように、設定したいのですがどう書いてよいのやら・・・

/test → IndexController::TestAction();
/test/ → TestController::IndexAction();
0241nobodyさん2008/06/02(月) 01:35:52ID:dJEt55md
可能
0242nobodyさん2008/06/02(月) 03:02:39ID:???
>>241
教えてエロイ人
0243nobodyさん2008/06/02(月) 03:05:27ID:???
デフォルトactionを設定したらいいんじゃね
zend使ったことないからしらんけど
0244nobodyさん2008/06/02(月) 03:33:35ID:???
>>243
デフォルトでは

/module
/module/
/module/action

と認識されてしまうんですよ。
これを

/action
/module/
/module/action

と設定したいのですお。
0245nobodyさん2008/06/02(月) 03:40:15ID:???
それは個別にルータに指定しなきゃだめだろう
/hoge
と指定した時に
/default/hoge
に変換する等、ひとつひとつ設定するのが普通
0246nobodyさん2008/06/02(月) 03:45:27ID:???
なるほど個別設定は試してなかったので、試してみます。
0247nobodyさん2008/06/12(木) 14:02:23ID:Mes6XuGv
Zend_Http_Responseのfactoryメソッドってどこにあるの?
0248nobodyさん2008/06/13(金) 18:48:28ID:/Epk/r4F
Zend_Http_Responseのfactoryメソッドってどこにあるの?
0249nobodyさん2008/06/13(金) 19:54:57ID:???
ここではないどこかだよ馬鹿野郎
0250nobodyさん2008/06/13(金) 20:12:31ID:???
分かんないんならレスしないでくれる?
0251nobodyさん2008/06/14(土) 04:30:28ID:???
「factoryメソッドはある」と認識してるのに、どこにあるかワカラナイとか意味がわからない。

なぜ「ある」と思ったんだい?
0252nobodyさん2008/06/14(土) 04:37:28ID:???
だよな
そもそもfactoryパターンの意味も分かってないっぽい
0253nobodyさん2008/06/14(土) 04:46:12ID:???
もしやソースのファイル名と行を聞いているのでは
Grepすりゃ一発だろって話だが
0254nobodyさん2008/06/14(土) 11:33:00ID:???
質問です。標準のルーターだと
/default/index/index
/index/index
/index
/
全部同じアクションが呼ばれますよね。
SEO的に良くなかったり相対パスで書いた画像が表示できなかったりするから、
どれか一つ以外のもの (この場合は/) 以外はリダイレクトさせるか、404にしたいのですが、
そんなことできますか?
0255nobodyさん2008/06/14(土) 12:18:09ID:???
$front->getRouter()->removeDefaultRoutes();
0256nobodyさん2008/06/15(日) 01:23:44ID:???
>>255
どもです。しかしそれだと、/が使えなくなって index/index と書かなくちゃいけなくなるんじゃないですか?
逆が良いのですが。
0257nobodyさん2008/06/15(日) 01:59:21ID:???
だったらそう設定すればいいだろう。
0258nobodyさん2008/06/15(日) 02:13:16ID:???
removeDefaultRoutes()してから、
/ に index/index を当てればいい。

index/indexなんてかっこわるいのはイラン
0259nobodyさん2008/06/15(日) 21:57:49ID:???
普通DefaultRoutesは消さんだろ
なんのためのデフォルトなのか考えろ

>>254
不要なURLをリダイレクト or 404用のアクションにマッピングするだけ
0260nobodyさん2008/06/17(火) 02:33:00ID:???
やっぱりみんなルーターの扱いがよくわからないよね
>>259もいってる通りリダイレクトなんかが一番楽なのかもね
ただGETで変数渡したい時だけルーティングしたいような気もする
0261nobodyさん2008/06/25(水) 12:10:06ID:???
連鯖がドキュメントルート同階層にディレクトリが作れないもんで、ZFのライブラリをドキュメントルート以下に配置するしか方法がないんだけど、こういう場合ってcgi-binに配置した方がいいかな? それか適当なディレクトリに入れてアクセス制限かける方がいいかな?

0262nobodyさん2008/06/25(水) 12:13:09ID:???
なんでcgi-binww
0263nobodyさん2008/06/25(水) 15:10:01ID:???
warosu
0264nobodyさん2008/06/29(日) 09:04:08ID:???
Zend_Authとか使ってる人いる?
設計思想はわからんでもないが、そのままじゃ使えない上に、カスタマイズが面倒で、独自実装する方が早い気がしてならない。

使った場合のメリットを教えてエライ人。
0265nobodyさん2008/06/29(日) 10:01:33ID:???
俺はそれよりもZend_Aclのメリットがわからんですたい
0266nobodyさん2008/06/29(日) 14:15:24ID:???
>>264->>265
AuthもAclもセットで使ってる
メリットは単純だし実装が楽だから
カスタマイズってそんなにするところあるの?
0267nobodyさん2008/06/29(日) 19:48:09ID:???
公式のサンプルやネットに転がってるサンプルだと、
単純で実装が楽ってのが実感出来ないなぁ・・・

機能としては単純なのに、少々冗長で、覚える事が多いなぁ・・・と感じてしまう。
0268nobodyさん2008/06/29(日) 20:05:20ID:???
じゃ実際に使って確かめろよ頭悪いの?
0269nobodyさん2008/06/29(日) 20:55:07ID:???
使うに至るものなのかって質問が理解出来ない程頭悪いの?
0270nobodyさん2008/06/29(日) 22:15:27ID:???
それを判断する最短解は、簡単なサンプルで使ってみるこったろ
Acl/Auth程度、他人(それも2chの名無し)に良い悪い論せたところで遠回りよ

俺の私見では、汎用性整えつつ最低限の道具であろうとしたらこうなるね、という感じだ
俺がこう述べたところで君がそうかと判断するのは早計だ
何人か反論してきて初めて判断基準としての価値があるだろうな
その間にざっくり試して判断すりゃ30分も掛からんだろうよ
0271nobodyさん2008/06/29(日) 23:05:45ID:???
>>269
サンプルで実感できないかつ実際にも使う気がしない面倒臭がりなら使わなきゃいいだろ何のためにこのスレにいるの
ケチだけつけて何がしたいの?ネガキャン?つかむしろなんのために生きてるの
0272nobodyさん2008/06/29(日) 23:10:33ID:???
まぁそりゃそうだが・・・

汎用性とのトレードオフなんだろうけど、
Authは機能の割に実装量と学習コストが高いと感じたのさ。
率先して使う価値はあるのかなと。恩恵はあるのかなと。

チーム内のコード共有の為にZFを導入した経緯もあるので、
他の人の意見を聞きつつ、使うか避けるかを判断したいんです。
0273nobodyさん2008/06/29(日) 23:14:49ID:???
>>271
そうムキになるなよw
他のコンポーネントは使ってるし、ZFは重宝してるよ。
0274nobodyさん2008/06/30(月) 02:36:42ID:???
>>271
何か嫌なことでもあったのww
0275nobodyさん2008/07/19(土) 04:29:15ID:d6w3PPzh
おいおいもうすぐ書き込みなくなって1ヶ月じゃないかw
0276nobodyさん2008/07/19(土) 18:13:28ID:???
ねんがんのクロージャをてにいれられそうだぞ!
0277nobodyさん2008/07/23(水) 21:54:27ID:???
くろーじゃとらむd!
0278nobodyさん2008/07/23(水) 22:20:42ID:???
5.3にむめいかんすうきた!くろーじゃきた!これでかつる!
0279nobodyさん2008/07/23(水) 22:30:24ID:???
クロージャってRubyのブロック?
Rubyみたいにメソッドにブロック渡してyieldで呼び出されたりできるようになんの?
0280nobodyさん2008/07/23(水) 23:19:12ID:???
いやクロージャはクロージャだよ
0281nobodyさん2008/07/24(木) 00:06:48ID:???
まじか。ちょっと前まで5.3には採用しねえよ、つってたのに。
0282nobodyさん2008/07/24(木) 01:14:18ID:???
ソースどこ?
0283nobodyさん2008/07/24(木) 02:31:51ID:???
>>282
phpカンファレンスの基調講演の資料
0284nobodyさん2008/07/24(木) 07:29:53ID:???
いや>>281のソース
0285nobodyさん2008/07/24(木) 12:39:52ID:???
つオタフクソース
0286nobodyさん2008/07/25(金) 20:17:42ID:???
微妙だなぁ。
別にクロージャなんて無くても困らんし
0287nobodyさん2008/07/25(金) 20:48:04ID:???
無くても困らんで済ませたら全部そうなりそう
0288nobodyさん2008/07/25(金) 21:13:20ID:???
なくても困らんがあると便利
0289nobodyさん2008/07/25(金) 21:39:35ID:???
クロージャ実装は待望っちゃ待望だが、
構文が無理矢理な感じがして好きになれんなぁ。
無名関数も一度変数に代入しないと呼び出せないとか、中途半端すぎる。
0290nobodyさん2008/07/25(金) 21:47:54ID:???
無名関数が使えるようになるのは喜ばしいけど、確かにあのクロージャの構文はないわと思った。
0291nobodyさん2008/07/25(金) 22:57:05ID:???
>>287
君は確かに居なくても困らないからな
0292nobodyさん2008/07/25(金) 23:47:36ID:???
なぜそこで煽る
0293nobodyさん2008/07/26(土) 17:01:31ID:???
それよりも名前空間実装による速度低下軽減に力注いで欲しいわ。
0294nobodyさん2008/07/26(土) 21:13:49ID:???
PHP5.3はPHP最速だよ。
0295nobodyさん2008/07/28(月) 19:51:42ID:???
>>294
ちゃんと名前空間使ったものと、以前のバージョンの通常require時を比較して?
ソースは?
0296nobodyさん2008/07/28(月) 22:00:51ID:???
>>295
5.3がどうかは知らないけど、クラス名の解決とrequire(_once)のパスの解決は別問題やん。

require(_once)が遅いといわれているのは読み込み済のファイルの検証ではなく(これはハッシュ
テーブルを参照するだけなので問題ない)、include_pathから対象のファイルを検索するのが原因。
include_pathは実行時に書き換えられるので、結果をキャッシュするわけにもいかんのですよ。
絶対パスや./から始まる相対パス指定なら、そんなに遅くないんだけどね。

で、これは言語コアレベルでの改善は困難なので、PEAR2のように依存ファイルの一括読み込みと
autoloadを併用して、スクリプトの書き方で改善することが推奨されている。
0297nobodyさん2008/07/28(月) 23:18:41ID:???
>>295
ソースは?とか言う前に少しは調べるなりカンファレンスなり出ればいい。

カンファレンス発表でのパフォーマンス測定では

 PHP5.3>PHP6>PHP5>PHP4

と発表されていた。
0298nobodyさん2008/07/29(火) 00:15:35ID:???
>>296
それってAPCとかeAcceleratorとか使っても同じ?
0299nobodyさん2008/07/29(火) 00:41:29ID:???
>>298
同じ。
autoloadを使う以外にも、require_onceを if (class_exists("hoge", false)) {} の中に入れるだけでも
だいぶ違うよ。前にプロファイルをとったことがあるけど、require_onceのコストはけっこう大きい。
0300nobodyさん2008/07/29(火) 00:47:16ID:???
Cで書かれてるrequire_onceが遅いって何なの?
0301nobodyさん2008/07/30(水) 04:11:45ID:???
ファイルシステムとかにかかわる、PHPの範疇外の部分がボトルネックって事だ。
0302nobodyさん2008/08/02(土) 17:20:13ID:bAiSenEi
Zend Framework大好きだぞ
0303nobodyさん2008/08/02(土) 17:47:41ID:???
焙煎海鷂魚
0304nobodyさん2008/08/03(日) 05:45:22ID:???
コーディング規約は他FWに比べて素晴らしいと思う。

FWの出来自体はZend_Textを見た時点で諦めた。
0305nobodyさん2008/08/22(金) 02:57:58ID:???
しかし本当に価値の無いフレームワークだなこれわ・・・。

使う利点が一切ないわ。
0306nobodyさん2008/08/26(火) 23:00:54ID:lmmx+hnD
そういうなよw
0307nobodyさん2008/08/26(火) 23:33:35ID:???
zend frameworkで作ってる人間だっているんです!
0308nobodyさん2008/08/27(水) 00:17:46ID:Ajt89UCU
おれzendframework使ってるよ!
0309nobodyさん2008/08/27(水) 00:47:59ID:???
Zend_Http_Client使ってるけど、そんなに悪くないぜ
0310nobodyさん2008/08/27(水) 01:57:34ID:Ajt89UCU
一つ一つはライブラリとして悪くないんだと思う。
フレームワークとしてみると、他のに比べて面倒なところがあるってことかな
0311nobodyさん2008/08/27(水) 18:46:13ID:???
3時間ほど使ってみた感想











これフレームワークじゃねーだろ
0312nobodyさん2008/08/27(水) 19:00:04ID:???
framework をつくるための framework ですよ
0313nobodyさん2008/08/27(水) 19:23:45ID:???
ZFだと思ってたら3F(Framework For Framework)だった
0314nobodyさん2008/08/28(木) 01:48:56ID:???
確かにFramework on Frameworkだよな
仕事に使うなら、いままで使ってた社内俺俺ツールキットやらライブラリやらを移植するには丁度良いと思うし、
単にライブラリとして使って俺俺フレームワークの理想を探求するのもアリじゃね
0315nobodyさん2008/08/28(木) 08:02:54ID:???
Db_Tableってなんでシングルトンじゃないの?
0316nobodyさん2008/08/28(木) 16:22:55ID:???
Db_Tableをシングルトンにする意味がわからんがw


ライブラリとしては便利だけど、
主要なコンポーネント「メール、DB、コントローラ」が使いにくいのがなぁ・・・
(日本語に弱かったり、微妙なバグがあったり、)
0317nobodyさん2008/08/28(木) 21:52:02ID:???
色んなところでDb_Table使うたびにインスタンス作るのってなんか無駄遣いじゃないですか?
0318nobodyさん2008/08/28(木) 22:18:41ID:???
作んなきゃいいじゃん
0319nobodyさん2008/08/28(木) 22:45:59ID:rcv32CRY
DB_Tableクラス内のメソッドで必要な処理して、Controllerからは呼び出すとかでいいんじゃね?

それかController拡張してそっちで自動でやっちゃうとか。
めんどいけど。
0320nobodyさん2008/08/31(日) 12:35:28ID:???
そこでfactory methodですよ
0321nobodyさん2008/08/31(日) 16:10:05ID:MXRJjD+M
Zend_Db::factory() ?
0322nobodyさん2008/09/01(月) 05:53:23ID:???
MySQL使うときにZend_DbのアダプタでPDOとMysqliってどっちが高機能とかあるのかね?
どっちも使える環境ならどっちでも一緒?
Mysqliの方はプリペアドステートメント使用のときはクロージャがどうこうってのは見たんだけど
0323nobodyさん2008/09/03(水) 04:32:00ID:NF58ThMC
1.6きたでー
0324nobodyさん2008/09/03(水) 14:43:22ID:???
Zend_Soap あたり、1つのファイルで CR+LF と LF が混在してないか。
萎えるわ。
0325sage2008/09/03(水) 21:51:27ID:???
日本人でupdate権限持つ人が少ないので改善作業に参加おねがい
0326nobodyさん2008/09/03(水) 22:42:48ID:???
Zend_Textとかおふざけかと思ったらcaptchaで使うんじゃん
なんかおしゃれだぞ
0327nobodyさん2008/09/04(木) 11:34:02ID:yd995+aV
そもそもframeworkの定義ってナンだ?
何ができればframeworkなんだ?
0328nobodyさん2008/09/04(木) 14:22:56ID:???
理想型としては「メインのロジックだけを書けば他はFrameworkが補ってくれる」とかかな?

ZFはその点弱すぎる印象がある・・・もう1層コードをかぶせてやらないとアプリケーションを乗せ辛いんだよね
0329nobodyさん2008/09/04(木) 14:27:43ID:???
自由度が高すぎるイメージだな
このコンポーネントつかって自分好みのフレームワークとしてカスタマイズしてくださいって感じだな
0330nobodyさん2008/09/04(木) 14:42:56ID:???
FWのためのFWによるFWの・・
0331nobodyさん2008/09/05(金) 00:01:06ID:???
FW on FW
アリだと思うけどねぇ
0332nobodyさん2008/09/05(金) 02:47:14ID:???
その割には柔軟性低いけどねぇ・・・

例えば抽象DBアダプタとか最低限()の機能しか無い、
拡張するには継承するしか無い、
継承
0333nobodyさん2008/09/05(金) 02:49:47ID:???
途中送信しちまった・・・orz


その割には柔軟性低いけどねぇ・・・

例えば抽象DBアダプタとか最低限(PDO以下)の機能しか無い、
拡張する為に継承するわけだけど、
継承したクラスのみに機能を実装すると抽象DBアダプタの意味が薄れる
それなら1から自前で組む方が柔軟に組める。

0334nobodyさん2008/09/06(土) 11:06:01ID:???
PHPは、他LLと比べたらそれ自体がFWみたいな特性を持ってるし
より高度な機能を保管するためのZFだと思えばいいんじゃないか。
0335nobodyさん2008/09/06(土) 20:52:43ID:???
>333
Zend_Db_Tableは、ZFの最大の駄作のひとつと思われる
というか、アーキテクチャの選択を間違えた感じだが

つまり、そういう表現のほうが適切なんではないかと思う
ZFのばあい、ZFというコンセプトだけは共有してるが、
その中の機能はライブラリ毎に担当者がいて、設計段階から
パラレルに進行しているので機能面の評価はZF全体ではなく
各ライブラリに掛かってくる
とか言ってみたわりには大して使い込んでないんだが
0336nobodyさん2008/09/06(土) 21:02:43ID:???
「FWのためのFW」という言い方もなんだか閉塞感漂う表現だなと毎回思うんだけど
Zend_Db_Tableにしても駄作と分かれば一切使わない、もしくは
別の抽象化プロジェクトがIncubatorなり各個人なりで用意され、置き換えられるのが
格好良いとこだと思う、まぁZFのプロジェクト進行の全てが牛歩なのが痛いが
■ このスレッドは過去ログ倉庫に格納されています