トップページ⇒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/
0652nobodyさん2008/12/17(水) 23:56:11ID:???
>>651
ありがとうございます、読んでみます。
0653nobodyさん2008/12/18(木) 00:09:16ID:???
>>646-647
ありがとうございます
しかしよく理解できません、スタックって? IT用語辞典で調べたら一番最後に格納したデータが最初に出てくる
いろんな要素を格納する箱、のようなことが書いてありました
具体的にはどういうことなんでしょうか?

>俺も必要なデータを全てassignして、テンプレートは表示の振り分け以外使わない
つまり、assign前のモデルやメソッドで情報の最適化はするんですよね?
本来テンプレートに任せるべきhtml出力も場合によってはそれ以前(モデルなど)の中で
してしまうということですか?

ともかくありがとうございました
0654nobodyさん2008/12/18(木) 02:40:01ID:???
>>653

>本来テンプレートに任せるべきhtml出力も場合によってはそれ以前(モデルなど)の中で
>してしまうということですか?

しないよ。
HTML形成に必要な情報だけをassignする。
HTMLの生成はあくまでテンプレート側、
だからテーブル組とか複雑なページ構成だとテンプレートコードが超カオスになる…

どうするのがベストなんだろうねー。
0655nobodyさん2008/12/18(木) 03:08:45ID:???
>>645の挙げる例をloginStatusとして
まずコントローラはログイン情報を元にloginStatusModelを生成。
このときログインしてなかったらloginStatusModelはnullでもいい。
あとはそのままloginStatusModelをビューに渡す。
全体的なビュースクリプト(ex. index.phtml)からログインバー部分のテンプレート(loginStatusBar.phtml)を
読み込んでその中で、loginStatusModelを元にログイン時のテンプレート(loginedStatusBar.pthml)か
未ログイン時のテンプレート(notloginBar.phtml)かを切り替えて表示。

もうちょっとコンポーネント指向的にやるなら、コントローラからビューにログイン情報オブジェクトを渡して
ビュー側でloginStatusModelを呼び出して表示してもいいと思うのだけどね。
0656nobodyさん2008/12/18(木) 07:02:29ID:???
>>653
スタックだけれど、たとえば、Zend_Viewヘルパーのplaceholderはスタックの一種。
プレースフォルダーに"スタック"していけば、
ビュー側ではプレースフォルダをechoするだけになります。

この場合、おっしゃられるように

> 本来テンプレートに任せるべきhtml出力も場合によってはそれ以前にしてしまうということですか?

完全に1枚のビューに任せるのではなく、部分的なrenderを行ってそれをスタック、
最後はそれを結合するというようなコントローラーになります。

しかし、段階的なビューの育成が気に入らない場合は、コンテンツとビュースクリプト名をセットにして
スタックを順にレンダリングしていくようなヘルパーを作成するとよいかと。

言われてみて思ったけど、おれも作るわw
0657nobodyさん2008/12/18(木) 07:10:22ID:???
656だけど、
placeholderはスタックじゃないね。ごめん
後入れ、先出し
0658nobodyさん2008/12/18(木) 09:36:52ID:???
>>654
>だからテーブル組とか複雑なページ構成だとテンプレートコードが超カオスになる…

ですよねぇ、、 これ嫌ですよねー。どうすんべ、、
0659nobodyさん2008/12/19(金) 01:48:58ID:Yo9sHh7s
Zend Frameworkでページキャッシュできる?
0660nobodyさん2008/12/19(金) 01:56:10ID:???
ここは人力検索エンジンじゃねぇんだカス
0661nobodyさん2008/12/19(金) 04:14:38ID:???
じゃ何
0662nobodyさん2008/12/19(金) 10:43:58ID:???
Zend Componentsに名前変えるべきだと思うよ
0663nobodyさん2008/12/19(金) 13:41:41ID:N7fEKEUT
ちょっとすれちなんですが、
流れるようなインターフェイスってや津を自分のスクリプトで実装したいです。
ZFのどのファイル見たらずばっと解決するでしょうか?
0664nobodyさん2008/12/19(金) 14:12:53ID:???
>>663
何が言いたいかわからん。

実装したいなら勝手に実装すればよろし。
0665nobodyさん2008/12/19(金) 14:56:50ID:???
>>664
ZFのマニュアルにあるように、流れるようなインターフェイスってのをやりたいと思っています。
以下のような記述です。
$hoge->setA('A')->setB('B')->setC('C')
0666nobodyさん2008/12/19(金) 15:07:35ID:???
function setA ($aValue) { $this->a = $aValue; return $this; }
0667nobodyさん2008/12/19(金) 15:52:12ID:???
ヽ('A')ノ
0668nobodyさん2008/12/19(金) 23:40:24ID:???
>>659
Zend_Cache_Frontend_Outputか Zend_Cache_Frontend_Pageのマニュアルが参考になるかも

>>665
return $this がキモ。
0669nobodyさん2008/12/20(土) 01:34:15ID:???
もう書いてるのにきめぇw
06706492008/12/21(日) 11:18:40ID:???
コントローラ名のキャメルケースの件でviewに関しては解決しましたが、
やっぱりコントローラ名は駄目みたい。

/application/apps/controllers/FooBarController.php

<?php
require_once 'Zend/Controller/Action.php';

class FooBarController extends Zend_Controller_Action
{
public function indexAction ()
{
}
}
?>

Linux環境に限ってInvalid controller specified (FooBar)が出るわ、
windows<->Linuxの互換のためには、キャメルケースでコントローラ名
付けたら駄目なのか・・・orz これはFW仕様でしょうか?
0671nobodyさん2008/12/21(日) 11:25:51ID:???
viewの場合とControllerの場合とではパスの解決方法が違います。
それぞれの仕様をマニュアルで確認すれば問題のある動作はしないと思いますよ。

OSによってファイル検索時のケース依存が変わるので出来たり出来なかったりするのは
基本的に正しくないパスを与えている場合なので、今一度マニュアルを確認してみてはいかがでしょう
06726492008/12/21(日) 11:54:28ID:???
>>671
ありました・・・

http://framework.zend.com/manual/ja/zend.controller.basics.html

コントローラクラスやアクションメソッドの名前に MixedCase あるいは
camelCase の単語を複数使用したい場合は、 URL 上での単語の区切り文字
として '-' あるいは '.' のいずれかを使用しなければなりません
(とは言え、ここで使用する文字は変更することができます)。

たとえば、アクションを FooBarController::bazBatAction() で定義したと
すると、対応する URL は /foo-bar/baz-bat あるいは /foo.bar/baz.bat
となります。

ご助力頂き、ありがとうございました。
0673nobodyさん2008/12/31(水) 23:10:04ID:???
池■田大■作の本名はソン・テチャク。小泉純一郎、小沢一朗は朝鮮人。
911では小型の水爆が使用されている。
http://ri■ch■ardkosh■im■izu.at.webry.info/
創価の保険金殺人事件。
オウム事件は、統一・創価.北朝鮮の共同犯行である。CIAが監修している。
http://www15.ocn.ne.jp/~oy■ako■don/kok_web■site/ir■iguc■hi.htm
与党も野党もメディアも全部朝鮮人だった。
http://jb■bs.li■vedo■or.jp/b■bs/read.cgi/news/20■92/115794■1306/

2ちゃんねるは統一■教会が個人情報を集めるための道具。運営には統一■教会がいる。
駅前で「手相を見せてください」と勧誘してるのが統一教■会。(カルト宗教)  
カルト宗教の下にいる人と上にいる奴を分けて考えないといけない。下にいる利用される人は上がどんなことをしてるか知らない。

ユダヤ権力の子分→2ちゃん運営=統一協会上層部=層化上層部=自民党清和会=野党の朝鮮人ハーフの政治家=
与党の朝鮮人ハーフの政治家=金 正日(キム・ジョンイル )=読売サンケイ=小沢十朗
ユダヤ人=ロックフェラー=ブッシュ=クリントン=ヒラリー=アドルフ・ヒトラー=オサマ・ビンラディン

毎日新聞スレを荒らしてる奴らも統■一教会の可能性が高い。
荒らしは洗脳するために「ネトウヨ」などのレッテル付けレスを何千回もする。
現実には「ネトウヨ」などは存在しない。
http://changi.2ch.net/test/read.cgi/ms/1230363385/
0674nobodyさん2009/01/08(木) 22:12:51ID:F2D+k5Ku
>>673
こういうのせっせとあちこちに貼ってる人間の心理ってどうなってるんだろう
0675nobodyさん2009/01/12(月) 01:17:09ID:???
これ全然はやらないねぇ

使ってみようと思ったら、日本語リファレンスは充実してるけど、
肝心のWebアプリを作るのにどこからはじめていいかわからないしさ

疎結合にもほどがある
そこがいいとも思うんだけどね・・・
0676nobodyさん2009/01/12(月) 05:05:08ID:???
そりゃお前の能力が足りないだけだろ。ちゃんとクイックスタート書いてあるし。
0677nobodyさん2009/01/12(月) 08:29:57ID:???
ZFの最大のメリットはコーディング規約だってば。
0678nobodyさん2009/01/12(月) 13:35:56ID:???
初めてFWを使うオイラにとっては正しいプログラムの方がよっぽど知りたい。
0679nobodyさん2009/01/12(月) 16:44:32ID:???
Controller系はもっと詳細なヘルプと、逆引き出来るくらいのヘルプが欲しいよなぁ…。
今のリファレンスだけでは、何が出来るかすら理解し辛い。
0680nobodyさん2009/01/12(月) 16:55:08ID:???
そりゃ自分で考えるんだよ、キミ
0681nobodyさん2009/01/12(月) 18:31:43ID:???
いや、ソース読めばいいって話なんだろうけど、着地点すらわからないFWに無駄な学習コストはかけたくないよね。
0682nobodyさん2009/01/12(月) 18:36:42ID:???
うんまぁ君には無理だから諦めれ
0683nobodyさん2009/01/12(月) 19:00:35ID:???
自分で考えたからと言ってControllerとModelで使う全モジュールを
index.phpでrequire_onceするのはどう考えても正しくない使い方だろ。

ZendFrameworkはどう使うことが正しいかということが知りたいんだよ。
0684nobodyさん2009/01/12(月) 19:04:23ID:???
> index.phpでrequire_onceするのはどう考えても正しくない使い方だろ。
index.phpはブートストラップの起点だろ
0685nobodyさん2009/01/12(月) 19:07:04ID:???
>>683
最新版ならスクリプトでモックを自動育成できるよ
0686nobodyさん2009/01/12(月) 19:45:21ID:???
683が何を言っているのか分からない件について
0687nobodyさん2009/01/12(月) 19:59:40ID:???
そもそもZendオフィシャルってのがウリなのに、大したサポートもリファレンスも無いんじゃ使う意味が無いよなぁ。

メリットも不透明じゃ誰も習得しようとはしないだろうし、廃れる一方な気がす。
0688nobodyさん2009/01/12(月) 20:06:02ID:???
>>687
(´・ω・`)つ http://framework.zend.com/manual/ja/
0689nobodyさん2009/01/12(月) 20:13:20ID:???
>>688
一通り読んでるけど、アプリを作り込む上では情報足りなさすぎるよね。
結局ソースを漁る事になる。

phpDocとか無いの?
0690nobodyさん2009/01/12(月) 20:22:44ID:???
ドキュメントは十分なレベルだと思うけどなぁ。
どんなFWだってソースみないで開発する気にはならんし。
phpDocなら自分好みのフォーマットで自分で作った方が手っ取り早いし
IDEがあればphpDocはいらんし。

まぁ、個人差?
0691nobodyさん2009/01/12(月) 20:24:50ID:???
おいおい、公式マニュアル読んでアプリ作り込んじゃだめだろ
先にFW作れよ
0692nobodyさん2009/01/12(月) 20:27:33ID:???
このFWだめだwwww
0693nobodyさん2009/01/12(月) 20:29:15ID:???
>>689
つ http://framework.zend.com/apidoc/core/
0694nobodyさん2009/01/12(月) 20:33:11ID:???
↑それ、中身おかしくない?
0695nobodyさん2009/01/12(月) 20:34:00ID:???
>>692が諦めてくれてうれしいと思ってるのは俺だけ?
0696nobodyさん2009/01/12(月) 20:35:38ID:???
うん君だけ

ユーザは多いに越したことは無い
0697nobodyさん2009/01/12(月) 20:36:10ID:???
なるほど。改心します
0698nobodyさん2009/01/12(月) 20:36:30ID:???
勘違いユーザーは要らんよ
0699nobodyさん2009/01/12(月) 20:42:53ID:???
そして誰もいなくなった。
0700nobodyさん2009/01/12(月) 20:43:51ID:???
>>698
お前を筆頭にな
0701nobodyさん2009/01/12(月) 20:46:39ID:???
詳しく
0702nobodyさん2009/01/12(月) 20:49:28ID:???
勘違いでも素人でもいいから、触れても貰えない状況を打破しない限り、発展しないよなぁ。

スレ的に、初心者の質問すら滅多に無いのは酷すぎるw
0703nobodyさん2009/01/12(月) 20:51:55ID:???
鎌ってちゃんは放っとけよ
0704nobodyさん2009/01/12(月) 22:09:45ID:???
ユーザー数は必要かもしれないが、
敷居を下げすぎて失敗した(しかかっている)FW(詳細略)
とは方向性が違うってことは言える。
0705nobodyさん2009/01/12(月) 22:33:38ID:???
PHP5版PEARって感じだよなぁ…
Zend Library という名前のほうが相応しい気がするよ。
0706nobodyさん2009/01/12(月) 22:47:13ID:???
Zend MVC Libraryとかが妥当
0707nobodyさん2009/01/12(月) 23:28:59ID:???
FWのためのFWですが何か?
0708nobodyさん2009/01/13(火) 01:54:26ID:???
>>706
それはない。
MVCまわりのものがいらなすぎる。
HTTPリクエストとかそっち系は結構よくできているけど
0709nobodyさん2009/01/13(火) 10:41:32ID:???
安定版とか用意してくれたら使いやすいんだけどなぁ。。。
0710nobodyさん2009/01/13(火) 22:01:50ID:???
>>708
ちゃんとカテゴリごとにパッケージングされたのをPEARインストーラ経由で
インストールできるといいんだけどね。特にWebサービス系とか。

展開後のファイル数とかサイズの問題じゃなくて、現状だと必要なコンポーネントの
更新やバグ修正もZend Framework全体のリリースを待たないといけないし、
SVNではstableかどうかの判断もつかない。
0711nobodyさん2009/01/16(金) 19:03:05ID:???
Zend_Dateのnewが異様に重い
0712nobodyさん2009/01/16(金) 19:19:05ID:???
>>704
Cakeのこと?
0713nobodyさん2009/01/16(金) 19:32:51ID:???
>>711
自己レスだけどnewじゃなくてtoStringが重かったみたい。
(ループごとにインスタンスを生成せず使いまわしても変わらなかった)

14件のデータに対して表示まで1.33秒ほどかかるところを

$date->set($row['date_begin']);
$row['begin'] = $date->toString('YYYY年M月d日(EE)');
$date->set($row['date_end']);
$row['end'] = $date->toString('YYYY年M月d日(EE)');

↓

$row['begin'] = date('Y年n月j日', strtotime($row['date_begin']));
$row['end'] = date('Y年n月j日', strtotime($row['date_end']));

に変えたところ0.58秒ほどで終わった。
やたら重いです先生。
0714nobodyさん2009/01/16(金) 21:47:16ID:???
フレームワークはできるだけ使わない方向で。
0715nobodyさん2009/01/16(金) 22:56:00ID:???
>>713
toString のソースを読んで戦慄した。

timestampとってきて、strftimeなりで整形する方が良い気がするわこれ。
0716nobodyさん2009/01/20(火) 22:02:04ID:???
1.7.3 age
0717nobodyさん2009/01/22(木) 15:16:05ID:???
実際に使ってみたら思った使いやすいので気に入って色々試してみてるん
だけど、意外と使ってる人の情報少ないね
0718nobodyさん2009/01/22(木) 15:32:53ID:???
ところでZend Dojoとかみんな使ってるの?
Dojoなんてあんまり使ってる人みたことないけど
0719nobodyさん2009/01/22(木) 15:36:11ID:???
ある程度、規模のあるプロジェクト向きだから、
個人が試行錯誤してブログ書いたりってケースは少ないかもな。

おれは個人で使ってるけどw
0720nobodyさん2009/01/22(木) 15:36:57ID:???
>>718
おれは、使ってるよ。
0721nobodyさん2009/01/22(木) 18:56:07ID:???
dojoは使ってる
0722nobodyさん2009/01/26(月) 16:03:21ID:???
良くも悪くも疎結合だなぁ。

他のフレームワークみたいに、各コンポーネントを組み合わせて使うと手間半分で効果二倍!みたいな解りやすい恩恵が無いから、意欲的に色々使ってみよう!って気にはならないね。
ライブラリとしては割と優秀な気がするけど。
0723nobodyさん2009/01/29(木) 22:20:22ID:BSzN+ksd
質問です。

<?php
require_once 'Zend/Date.php';

$date = new Zend_Date();
echo $date;
?>

このプログラムを異なるPCで実行した場合以下のように
29.1.2009 xx.oo.??
2009/01/29 xx:oo:??

異なってしまったのですが、どうしてもドットではなく、スラッシュ形式で使用したいです。
どうにかなりませんか?
0724nobodyさん2009/01/29(木) 23:33:53ID:???
>>723
ロケール設定じゃね?
0725nobodyさん2009/01/30(金) 08:36:16ID:???
>>723
$now = $date->toString('yyyy/MM/dd');
echo $now;

これじゃだめなん?
0726nobodyさん2009/01/31(土) 03:02:47ID:???
toStringは重いから、toTimestampとdate()組み合わせる方が利口。
0727nobodyさん2009/01/31(土) 03:07:37ID:???
いや現在なんだからtoTimestampなんかいらんだろ
0728nobodyさん2009/01/31(土) 21:01:38ID:???
toStringが重いとよく言われてるけどそんなに重いと感じたことないんだけど・・・
しょっちゅう使ってるしそんなに重いかな?
0729nobodyさん2009/01/31(土) 21:08:34ID:???
うん
0730nobodyさん2009/01/31(土) 22:18:38ID:???
5000行以上は書いたことないからわからない
0731nobodyさん2009/01/31(土) 23:17:06ID:???
>>728
toStringのソースを読む作業に戻るんだ。
0732nobodyさん2009/02/01(日) 00:59:58ID:???
結構気に入ってます
コーディング規約は無視気味に使ってますが・・・
だってタブを半角4文字ってねえ。手間としてもファイルサイズ面でも無駄なんじゃないの
0733nobodyさん2009/02/01(日) 01:25:49ID:???
Zend Framework徹底入門、すごい良く出来てるな。
読んでて解らないところが次のページには載っててどんどん書ける感じだわ。
少なくとも、白と緑の入門のアレなんかとは段違いで実用的。
0734nobodyさん2009/02/01(日) 02:26:27ID:???
4タブが手間・・・・?
もしかしてタブをいちいち手かプログラムかなんかで空白に変換してるのか?
0735nobodyさん2009/02/01(日) 02:55:29ID:???
>>732
ZendFramework最大のウリはコーディング規約ですよ?

>>734
挿入は楽だが、修正/削除時の位置揃えががめんどい。


インデントに半角スペースを推奨ってのは一般的だと思うが、個人的にはタブの方が好ましいかな。
表示が崩れるとか云々はエディタ側で対応出来るし、
プロポーショナルフォント使った場合はどうするんすかwww って気もするし。
0736nobodyさん2009/02/01(日) 08:49:42ID:???
スペースだとタブに比べて
挿入は楽で、修正/削除がめんどい意味が分からない。
エディタ変えた方が良いんじゃないだろうか。
0737nobodyさん2009/02/01(日) 13:19:35ID:???
タブの場合
入力…タブキー一回
削除…バックスペース一回

スペースの場合
入力…タブキー一回(エディタ設定による)
削除…バックスペース4回、or 行を選択してShift+TAB等
0738nobodyさん2009/02/01(日) 13:41:20ID:???
オートインデント使えよ
0739nobodyさん2009/02/01(日) 13:51:05ID:???
>>732
>>737
共同作業でなければ、スペースの規約なんて無視して問題なし
0740nobodyさん2009/02/01(日) 13:54:57ID:???
>733

激しく動意。
初心者のひと白と緑のアレ買っちゃわないようにね。
0741nobodyさん2009/02/01(日) 13:55:52ID:???
保存時に一括置換するマクロ組んだらいいんじゃないかな
0742nobodyさん2009/02/01(日) 14:25:26ID:???
>>738
オートインデントとか、エディタ側依存を前提にするなら、
スペースだろうがタブだろうが関係無いって話になるから却下。
0743nobodyさん2009/02/01(日) 14:26:30ID:???
そもそもスペース4つとされてる理由は何?
0744nobodyさん2009/02/01(日) 15:32:41ID:???
タブだとエディタ環境によって、表示が崩れるからスペースを使いましょうね。
ってことらしい。
0745nobodyさん2009/02/01(日) 16:07:50ID:???
>>742
意味不明。オートインデントぐらいどのエディタにもあるだろ
0746nobodyさん2009/02/01(日) 16:34:12ID:???
>>745
タブ幅設定くらいどのエディタにもあるだろ。
0747nobodyさん2009/02/01(日) 18:38:07ID:???
tabか半角SPかこだわるのは頭の固い馬鹿だけw
プロジェクトの迷惑になるから早めに死ねよw
0748nobodyさん2009/02/01(日) 23:21:23ID:???
白と緑のアレ持ってる俺涙目ww
しょうがないんだよ。
俺がこれ買った時は徹底の方でてなくて事実上こっちしかなかったんだ・・・

徹底を持ってないから比較できないんだけどさ。
この入門の方も一応多少は役に立ったんだけど。
0749nobodyさん2009/02/02(月) 05:16:19ID:???
まぁtabか半角スペースかに限らず、何かにつけてこだわる奴は
プロジェクトの迷惑だわな。
フレームワークだったり言語仕様だったり。
0750nobodyさん2009/02/02(月) 08:08:27ID:???
白緑のはZF覚えるのにうってつけのいい本だと思うがなぁ
黒いの出る前から持ってるがZF初めての人なら買ってもいいんじゃね?
とはいえ黒いほうが出ちゃったから黒でいいがw
0751nobodyさん2009/02/02(月) 10:25:19ID:???
黒アマゾンで値引きされてないのがなぁ
■ このスレッドは過去ログ倉庫に格納されています