ZendFrameworkってどうよ?

このエントリーをはてなブックマークに追加
1nobodyさん
ようやくVer.1.0が出るらしいね
これってどうよ?

PHP5に移行したほうがいいのかな
2nobodyさん:2006/10/07(土) 02:53:24 ID:???
ついに立った。

来るべき時が来た。

その名は勇者「Zend Framework」

君は生き残ることができるか!?
3nobodyさん:2006/10/07(土) 05:06:08 ID:???
前DATオチしたね
4nobodyさん:2006/10/07(土) 08:26:13 ID:???
解説本に期待
5nobodyさん:2006/10/07(土) 15:20:30 ID:???
ああ、もう1.0が出る時期か
時間経つのはえー
6nobodyさん:2006/10/07(土) 16:12:39 ID:6wQ8r0Dc
ていうか、PEARでいいじゃんと思うのは俺だけ?
7nobodyさん:2006/10/07(土) 16:58:54 ID:???
どこまで過去に遡るかにもよるが…

ていうか、原始人でいいじゃんと思うのは俺だけ?
8nobodyさん:2006/10/08(日) 00:37:31 ID:???
pearはGLOBAL使いまくりで、挙動がときどき怪しくなるからダメ
9nobodyさん:2006/10/08(日) 00:50:14 ID:???
global使いまくりなん?
ふてえ野郎だな
10nobodyさん:2006/10/08(日) 04:50:33 ID:qm46jQzh
世の中のものすべて、ZFに置き換わるって聞いたけど、ほんとう?
俺の友達のプログラムがすっげぇ上手い奴が言ってた。
11nobodyさん:2006/10/08(日) 06:00:39 ID:???
>>10
>俺の友達のプログラムがすっげぇ上手い奴が言ってた。
何が基準でどううまいの
12nobodyさん:2006/10/08(日) 06:04:10 ID:???
出たり消えたりするくらいうめーの。
13nobodyさん:2006/10/08(日) 06:39:36 ID:???
>>12
それへたれだよ
14nobodyさん:2006/10/08(日) 20:03:17 ID:???
Zend Framework VS Ruby on Rails
15nobodyさん:2006/10/08(日) 22:35:53 ID:???
>3
前スレ立てたの漏れだ スマソ
16名無し募集中。。。:2006/10/09(月) 01:41:04 ID:???
今月発売のオープンソースマガジン
ZFの特集じゃなかったっけ
読んだ人いる?
17nobodyさん:2006/10/09(月) 04:24:11 ID:???
>>5
どこが1.0出る時期だよ
見に行っちまったじゃねーかw
18nobodyさん:2006/10/09(月) 14:25:43 ID:???
いちおう当初の予定だと1.0はもう出ているはずだったはず
開発者が抜けたりなんだりで現在の予定としては来年リリース
19nobodyさん:2006/10/09(月) 22:22:17 ID:???
計画延びたのかよ
ジーブなまけんな
20nobodyさん:2006/10/09(月) 23:15:17 ID:???
>>1
リンクくらい晴れ

http://framework.zend.com/

日本語マニュアル
http://framework.zend.com/manual/ja/
21nobodyさん:2006/10/10(火) 01:41:52 ID:fhnBXHJ2
これって結局、フレームワークなの?
Ethnaの方が使いやすいじゃん
22nobodyさん:2006/10/10(火) 01:59:52 ID:???
Ethnaって…
もう笑うしかない
2321:2006/10/10(火) 02:27:53 ID:fhnBXHJ2
Ethnaって悪いっすか??
他にはSymfonyとか?
24nobodyさん:2006/10/10(火) 02:47:55 ID:???
>>21
PHP5版のPEAR
すなわちPEARMWORKですよ
25nobodyさん:2006/10/10(火) 14:03:33 ID:fhnBXHJ2
今気付いたが、
>>10
>>俺の友達のプログラムがすっげぇ上手い奴が言ってた。
テラワロスプギャwww
26nobodyさん:2006/10/11(水) 00:01:33 ID:0Yey4Vjl
試しに使ってみたんだけど、
modelsの中って何入れりゃいいの?
マニュアルになんも書いてないんだけど。
27nobodyさん:2006/10/11(水) 01:01:28 ID:???
夢と希望とかじゃね
28nobodyさん:2006/10/11(水) 02:34:26 ID:U+ILIO/5
>>27
夢と希望を詰め込んで実行してみたのだけど、
バグが発生してばかりでした。

どういうこと?
29nobodyさん:2006/10/11(水) 06:48:18 ID:???
夢も希望もないわ
30nobodyさん:2006/10/11(水) 14:38:13 ID:???
>>28
お前、卵を詰めただろ。
31nobodyさん:2006/10/11(水) 15:42:03 ID:???
ピーヨピヨピヨピーヨピヨ
32nobodyさん:2006/10/11(水) 15:50:13 ID:???
ヒヨコなら良いが大量発生したのは虫だったんだから、
詰めたのはむしろあっちの方の卵では…
33nobodyさん:2006/10/11(水) 17:17:28 ID:???
( ´;゚;ё;゚;)虫キモ 
34nobodyさん:2006/10/11(水) 17:20:19 ID:???
で、オープンソースマガジン読んだ奴いないの?
俺はsymfony派だからZFなんて屁としか思ってないが
ZF派の奴もいるんだろ?あーん?
35nobodyさん:2006/10/11(水) 17:25:11 ID:???
「Zend Framework」で加速するPHP開発

って言うほどたいしたものには思えないのだが…
俺の知らない機能でもあるのか?
36nobodyさん:2006/10/11(水) 20:10:13 ID:??? BE:199464858-2BP(145)
正式バージョンが出てないせいか
ブログとかでも全然話題にならない
37nobodyさん:2006/10/11(水) 20:25:34 ID:???
2,3週間以内に0.2が出る予定
38nobodyさん:2006/10/12(木) 01:43:32 ID:???
なんか生PHPをラップしただけみたいの多くね?
39nobodyさん:2006/10/12(木) 01:48:50 ID:???
フレームワークはみんなそんなもんでしょ。
$request->getParameter("hoge");

$_REQUEST['hoge'];
みたいなもんだし。元から簡単なのをわざと難しくしてるってのもあるよな。
php自体がテンプレートエンジンみたいなものなのにさらにphpでテンプレートエンジン
実装してみたり。
40nobodyさん:2006/10/12(木) 02:25:53 ID:???
でもFW使い出すと
ラップ可能性を担保していない$_REQUESTを
直で使うのは抵抗感でてくるな。
41nobodyさん:2006/10/12(木) 02:50:36 ID:???
PHPIDEやZendStudioとかの、開発環境絡めたコード管理とかやってくれるなら期待。
42nobodyさん:2006/10/13(金) 00:31:57 ID:xr7XiJM/
>>41
やってくれるってきいたぞ、Eclipseとか
43nobodyさん:2006/10/14(土) 22:49:03 ID:???
>>26
いまはZend_Db_Tableの継承がメイン

Zend_Db_Modelはまだ先だから自分で拡張する必要あるよ
44nobodyさん:2006/10/15(日) 02:07:53 ID:hzF42wCh
pearコマンドでインストールできないん?
45nobodyさん:2006/10/15(日) 03:17:25 ID:???
まだないみたいね。今後もなさそうだけど。
どうせアーカイブを展開して、include_pathを加えて、mod_rewrite書くだけでインストール終わりだし。
46nobodyさん:2006/10/15(日) 08:29:15 ID:???
PEAR channelあるよ、できたばかり
http://pear.zfdev.com/
47nobodyさん:2006/10/15(日) 08:33:08 ID:???
ほんとだ。そんなもん作ってる人いたんだ。
48nobodyさん:2006/10/15(日) 19:42:14 ID:???
pearコマンドメインになるとレンタルサーバとかでは動かす時メンドクサイねん
49nobodyさん:2006/10/15(日) 19:53:06 ID:???
コマンドで入れててもpearディレクトリにあるのコピーするだけじゃん
50nobodyさん:2006/10/25(水) 01:18:42 ID:Nml3v/A2
Zend_Service使った人いる?
Yahooの検索試したけど上手く行かないなあ。
適当にコード修正してみてどうにか検索結果は取れるようになったけど、
Domの使い方しくってるみたいで結果がなくなってる。
51nobodyさん:2006/10/25(水) 03:15:15 ID:???
その辺はまだまだ挙動不審なところ多すぎると思います
基本的なところしかできてないんですzendは
52+++:2006/11/02(木) 00:51:37 ID:QD3MWGhS
Zend Framework Preview 0.2.0でてるよあげ。つーかなかなか出なかったな。
53nobodyさん:2006/12/21(木) 14:05:37 ID:???
zend frameworkで日本語フォーラムなり、BBSってないかな?
英語だらけで、読むのに時間がかかって困る;;
もしあれば教えてほしい〜
54nobodyさん:2006/12/22(金) 01:06:14 ID:???
0.6.0リリースしたけど、なんも盛り上がってないね
55nobodyさん:2006/12/22(金) 01:17:54 ID:???
>>54
盛り上がるほどの完成度なのか?
56nobodyさん:2006/12/30(土) 18:24:36 ID:oH2ULMYx
担当プロジェクト用のフレームワークを開発済みで使用中なのですが、
ZFのような汎用フレームワークに乗り換える意味ってあるのでしょうか?

自分で作るより、相当品質の高いものであることは間違いないと思い
ますが、決定的なアドバンテージはあるのかな?
57nobodyさん:2006/12/30(土) 18:37:11 ID:???
せっかくあるんなら
わざわざ乗り換える意味はないだろ
58nobodyさん:2007/01/04(木) 19:49:32 ID:vTsNrOjZ
フレームワークの勉強も兼ねてZF使ってます。
pluginのpreDispatchで取得したオブジェクトをコントローラーに引き渡したいのですが、
これって可能ですか?
現状グローバル変数に割り当てる位しか思いつきません。
どのようにやるのが良いのでしょうか?
59nobodyさん:2007/01/04(木) 19:51:19 ID:???
試行錯誤して書いたソースぐらいはうpしれ。
話はそれからだ
60nobodyさん:2007/01/04(木) 20:03:24 ID:???
>>58
0.6なら普通にRequest経由で渡せばいいんじゃない?
61nobodyさん:2007/01/23(火) 05:55:33 ID:???
あまりにZend臭がするのも如何なものかと
62nobodyさん:2007/01/24(水) 01:04:08 ID:???
Module functionalitって良いな、まさに求めてたモノです。
63nobodyさん:2007/01/25(木) 13:17:28 ID:UWerJgMW
いつのまにか0.7リリース
64nobodyさん:2007/02/04(日) 02:28:08 ID:???
いい加減Zend_View_Helper_Urlぐらい使えるようにしろよクソZend
65nobodyさん:2007/02/11(日) 22:22:14 ID:???
もうすぐ0.8リリース
66nobodyさん:2007/02/14(水) 16:26:44 ID:???
ゴミだね。
67nobodyさん:2007/02/15(木) 23:38:50 ID:???
そういやZFってPagerないよね?
Proposalにもないし、自分で作れってことか
68nobodyさん:2007/02/15(木) 23:53:07 ID:???
>>67
Zend_Db_SelectにlimitPage()があるからDB取得はそっちでやって、
実際のページ数/リンク生成等のページャ操作はPEARのPagerでやればおk
69nobodyさん:2007/02/22(木) 02:05:16 ID:???
ZFでようやくクリーンになってきたのに、今更PEARなんて勘弁
70nobodyさん:2007/02/23(金) 01:58:00 ID:CtBpLmme
1.0まだか?
71nobodyさん:2007/02/23(金) 15:02:25 ID:CtBpLmme
先生!ZFでSmarty使いたいです!
ヘルパーはいりません!
どうすればいいですか?
72nobodyさん:2007/02/23(金) 21:41:31 ID:???
zend 0.8キタアアアアアアアアアアア
73nobodyさん:2007/02/25(日) 23:40:07 ID:???
http://framework.zend.com/manual/ja/
Zend Framework プログラマ向けリファレンスガイド
2007-02-21

↑わわわ、このガイドページちゃんと更新されているんだ!!!
2月21日ならホットな情報ですね
74nobodyさん:2007/02/26(月) 00:52:56 ID:???
ZFにMojaviでいうフィルタ実装しようとしたら結構苦労すんね。
プラグインでなんとか出来そうだけど。
75nobodyさん:2007/02/26(月) 01:44:59 ID:???
ZFで組んだらZFにあわせて
非publicなら_付けるみたいなダサいコーディングしないと駄目なの?
76nobodyさん:2007/02/26(月) 03:30:35 ID:???
カッチリした規約のくせに
オートローダ用意してないのはなんで?
いちいちZend::loadClass()とか書いてられねーっつの
77nobodyさん:2007/02/26(月) 03:37:20 ID:???
つーか、Zend::loadClass()とかあるくせに、
ソースではrequire使ってるよな
78nobodyさん:2007/02/26(月) 08:47:24 ID:???
>>74
MojaviでいうフィルタがZFでいうプラグインなのかと思ってた
79nobodyさん:2007/02/26(月) 10:16:54 ID:???
>>76-77
__autoloadがFWに組み込まれてるとFWにオートローダを強制されてしまう
ZFはあくまでライブラリ集なスタンスだから
phpの__autoloadのような一度定義したら変えようのないメカニズムを
FWをロードしただけで強制的に定義されてしまうと色々と困る事もある

symfonyのようにFW全体で1セットなフルスタックFWなら
__autoloadが組み込まれててもまあいいかと思うけど

つーかZend::loadClassがZFのオートローダだから
function __autoload($class) { Zend::loadClass($class); }
くらい我慢しろ

Zend::loadClassは動的にロードするファイルが
変わるような場面で使うためのもの
ロードする事が必須で静的に名前(パス)が決定しているものは
requireで良い、要は使い分け
80nobodyさん:2007/02/26(月) 17:31:26 ID:???
>>78
MojaviのフィルタはpreFilterとpostFilterの二つがセットになってるけど
ZFのプラグインは一カ所のフックに差し込むだけでバーガー状にできない。
まあバーガーが必須でもないからこういう形にしたのかな
81nobodyさん:2007/02/26(月) 22:19:05 ID:???
アプリ固有のクラスとか設定ファイルはどこに置く?
/application/models?
/library/?
82nobodyさん:2007/02/26(月) 22:21:40 ID:???
Zend:_Sessionに
session_id()を返すgetId()ってメソッドはあるのに
session_name()を返すメソッドがありません。
クッキー使えない環境を想定してリクエストにセッション情報を含めたいんですが、
直接session_name()を使うしかないんでっしゃろか?

>>80
Mojavi使ったことないんで良く分かりませんが、
registerPluginで複数プラグイン登録するんじゃ駄目なんですか?
83nobodyさん:2007/02/26(月) 23:25:21 ID:???
>>82
駄目じゃないけど順番を気にしないといけない。
まあフィルタなんてそんなに頻繁に書く部分じゃないから
気にすればいいんだけど。
84nobodyさん:2007/02/26(月) 23:32:30 ID:???
ACLのとこ見てるんだけど
「今ユーザがどのロールを持っているか」の部分を担当するクラスを
ZFは提供してない?
85nobodyさん:2007/02/27(火) 00:17:59 ID:???
しかしこれは拡張しまくらないと使いものにならないねぇ
フレームワークを作るためのフレームワークに近い。
86nobodyさん:2007/02/27(火) 01:39:24 ID:???
ルータあるのにURLヘルパまだないのかよ
こういう基本的なとこから先に作れっつの。
87nobodyさん:2007/02/27(火) 03:32:40 ID:???
MojaviのFilter/FilterChainと
ZendのFilter/FilterChain、
用語が同じで用途が違うからややこしいね。
言葉からの連想から言えばZendの方が直感的かな。
88nobodyさん:2007/02/27(火) 03:36:11 ID:???
ZendのFilterはCompositeパターンなんだね
言われてみればこの方が理にかなってるか…
89nobodyさん:2007/02/27(火) 06:57:41 ID:7OKXpCAA
誰か教えてくれ。
どうもセッション周りがおかしいと思っていたんだが、
Zend_Session::start()
を呼ぶと$_SESSIONの値が全て消えてしまっている。
どうすればいいんだ。
もう眠い。調子こいてZF使わなければよかったorz
90nobodyさん:2007/02/27(火) 07:39:34 ID:???
よく見たらFilterもValidateもCompositeじゃなかった
>>89
Zend_Session::start()内でsession_start()してるから
その時にクリアされるみたいよ。
91nobodyさん:2007/02/27(火) 07:56:00 ID:???
もっとよく見たらやっぱりCompositeパターンだった(´д`)
leafにaddできないから違うと思ったけど
もともとこういう風に書くのか
なんだかんだで勉強になるな
92nobodyさん:2007/02/27(火) 08:28:16 ID:???
Zend::load_Interface消えてるワロタ
93nobodyさん:2007/02/27(火) 08:31:21 ID:???
なんでZend::loadInterfaceだけなくしたんだろ
Zend::loadClassもいずれ消える運命?
9489:2007/02/27(火) 11:16:48 ID:???
自己レス。
オプション指定しないとデフォルトでクッキーのみになってしまうんだね。
95nobodyさん:2007/02/27(火) 11:47:54 ID:???
ValodatorManagerとかRequest::Errorsあたりの機能がごっそりないじゃん
実際使ってる人どうしてる?
96nobodyさん:2007/02/27(火) 12:22:12 ID:???
m9(^Д^)プギャーーー
97nobodyさん:2007/02/27(火) 12:23:10 ID:???
ヒント:ZFを実稼働させてる奴なんていない
98nobodyさん:2007/02/27(火) 12:29:46 ID:???
まだ正式版じゃないしな
99nobodyさん:2007/02/27(火) 12:38:38 ID:???
ってかContextがない・・・
各オブジェクトに何を持たせたらいいんだよ
非フルスタックを目指すのはいいが穴ぼこだらけだろ
NIKIBI-frameworkに改名しろや
100nobodyさん:2007/02/27(火) 12:55:26 ID:???
front controllerをcontext代わりに使うことにしたぜ
101nobodyさん:2007/02/27(火) 13:10:16 ID:???
zend frameworkでググったら
関連検索が「zend framework 動かない」だったwwww
102nobodyさん:2007/02/27(火) 18:29:00 ID:???
>>101
ほんとだ!!!
http://www.google.co.jp/search?q=zend+framework
関連検索:
Zend Framework 動かない

Googleの突っ込みキツイなーwww
http://pya.cc/pyaimg/spimg.php?imgid=15589
103nobodyさん:2007/02/28(水) 00:04:07 ID:???
>>102
ワロタ
104nobodyさん:2007/02/28(水) 10:23:33 ID:???
>>91
Compositeパターンは幹にしかAddできないんじゃないか?

Zend::load_Interface消えたんだよな。
なんでだろ。
クラスのロード、全部Zend::loadClassでやってるから
Interfaceだけrequire_onceとかめんどいんだけども。

loadClass消えちゃうんだろか。
105nobodyさん:2007/02/28(水) 14:29:05 ID:???
>>104
うん、勘違いしてた。
ファイルであると同時にディレクトリでもあるようなものがあれば
ちょっと面白そうだけど…。

クラスのロードはオートローダに任せておくのがいいのかもしれんね。
106nobodyさん:2007/02/28(水) 16:52:50 ID:???
コントローラークラスに
AbcDefController
ってできない。
ttp://xxxxxxx/AbcDef/
としても
AbcdefController
を探しに行ってしまうっぽい。
107nobodyさん:2007/02/28(水) 17:23:22 ID:???
>>106
ファイル名が2語以上のcamelcaseだと確かにだめみたいね
ファイル名をAbcdefController.php にしたら動いた
クラス名はどっちでもいいみたい
古いバージョンはファイル名もcamelcaseでもいけてたような気がするんだけどな
確かにこれ地味に嫌な感じだな、バグなんかなこれ
108nobodyさん:2007/03/01(木) 05:00:15 ID:???
loadClassは>>79とともに星になりました
109nobodyさん:2007/03/01(木) 19:13:09 ID:???
オートロード使うと遅くなるのは間違いないから
あまり使いたくはなかったんだがなあ。
使うとしたら>>79

>つーかZend::loadClassがZFのオートローダだから
>function __autoload($class) { Zend::loadClass($class); }
>くらい我慢しろ

これが一番楽ちんかな。
110nobodyさん:2007/03/02(金) 13:46:15 ID:MGhMK5UU
なかなかよさそうなので試してみてるんですけど
Zend_Dbで接続する時
apacheの実行ユーザー名と
dbの実行ユーザー名が違うと

SQLSTATE[08006] [7] FATAL: role "apache" does not exist

という例外が投げられるんですけど、これは設定でどうにかなるのでしょうか?
ちなみにPDOでじかに接続してる時はならなかったです。

まあ、同じにしてもいいですけど・・・

お願いいたします
111nobodyさん:2007/03/02(金) 14:03:35 ID:???
DBは何を使ってる?MySQL?
DB接続時にユーザ名指定してる?
112nobodyさん:2007/03/02(金) 20:31:47 ID:MGhMK5UU
>>111
レスありがとうございます

DBはpostgreSQLです。
$params = array(
    'host' => 'localhost',
    'username' => 'hoge',
    'dbname' => 'hogedb'
);
$db = Zend_Db::factory('PDO_PGSQL', $params);

$sql = $db->quoteInto( 'SELECT* FROM t_zip_code WHERE address like ? ' , '%東京%' );
echo $sql;

この時点で実行してエラーが出ます。
実際クエリーは発行していません。SQLを取得しただけです。

httpd.confの
User apache
Group apache

User hoge
Group hoge
にしたらエラーもなく、SQLも無事取得できました。
113nobodyさん:2007/03/02(金) 22:29:09 ID:???
>>112
$params = array(
'host' => 'localhost',
'username' => 'hoge',
'password' => '',
'dbname' => 'hogedb'
);
みたくパスワードもちゃんと空のパラメータにしてみて
あと、試しにfactory直後でクォートせず何かクエリ投げてみて、
同じようにroleがないみたいな例外が返って来るなら
多分DB接続がうまくいってなくて
PDOはクォートする時もコネクション使うからそこでこけてると思うんだ
114112:2007/03/02(金) 22:32:52 ID:AEjNDMWg
コードながめて、おかしなところを見つけたんですけど。

Zend/Db/Adapter/Pdo/Apstract.phpの85行目付近のDBに接続するところ

$this->_connection = new PDO(
$this->_dsn(),
$this->_config['username'],
$this->_config['password']
);

PDOで繋ぐときのDNSの設定がカンマで区切られていて
しかも $this->_config['username'] を覗いたら、user= も無かったので
カンマをドットに変えて下のようにしたら動きました。

$this->_connection = new PDO(
$this->_dsn().
' user='.$this->_config['username'].
$this->_config['password']
);

でも、これって、PDOでいろんなDBに接続するクラスのスーパークラスですよね?
こんなコアなところにバグあったら、みんな気づきますよね?
なんか勘違いというか、設定ミス的なことを私がやらかしてるのでしょうか?

ちなみに使ってるのはPreview 0.8.0です。
115nobodyさん:2007/03/02(金) 22:45:15 ID:???
>>114
PDOのコンストラクタの引数は
new PDO('mysql:host=localhost;dbname=test', $user, $pass);
こんな感じ
そこのコードは特に間違ってはいない

んで引数の指定がなかった場合なんだが、
おそらくDB側はUNIX自体のユーザ名・パスワード
をDBのユーザ・パスワードと仮定して扱うと思うから
ちょうど今君はapacheのユーザ・パスワードを合わせてしまっているから
たまたま接続がうまくいってるとかそんな気がする
116114:2007/03/03(土) 01:47:36 ID:fjJSaYh6
>>115
確かにPDOのマニュアルにはその書き方が出てるんですけど
(うちの)postgresqlにはその書き方ではつながりません。
それだと>>110と同じエラーが出ます。

ttp://www.php.net/manual/ja/ref.pdo-pgsql.connection.php
PDOのマニュアルを見ても
pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass
と表記するように出てると思うんですけど・・・
違うとこ見てますか?^^;


う〜ん、でもおかしいですね。
もしかしてpostgresqlの人、>>115の書き方でつながってるんでしょうか?
サーバーとかDBの設定の問題でしょうか?

ちなみに、apacheとDBのユーザとパスは同じではありません。
どちらかというと、同じにすると動くと言う感じです。

ちなみにPHP5.2.1を使っています。
117116:2007/03/03(土) 02:45:02 ID:???
いろいろ実験してみたけど
うちの環境ではやっぱり
new PDO('pgsql:host=localhost;dbname=test', $user, $pass);
ではなく
new PDO('pgsql:host=localhost dbname=test user=user password=pass');
じゃないとつなげないっぽいですね。

ZendFrameworkと関係なさそうなのでPHP版の方へ行ってみます

ありがとうございました。
118nobodyさん:2007/03/03(土) 05:32:34 ID:???
>>114
> PDOで繋ぐときのDNSの設定がカンマで区切られていて
カンマ区切りは関数のパラメータの区切りであってDSNの区切りじゃないだろ;;

>>116
> PDOのマニュアルを見ても
マニュアル上ではuserとpasswordはDSN文字列で指定する他に
第二引数、第三引数で指定する方法もある。
パラメータの優先は第一引数のDSN側なんだが、
ZendFrameworkのPDOインスタンス時には
unset($dsn['username']);
unset($dsn['password']);

// use all remaining parts in the DSN
foreach ($dsn as $key => $val) {
$dsn[$key] = "$key=$val";
}
という処理でDSNを組み立てているので、unsetで除外することで
DSNの中にはuserとpasswordは入らないようにされている。

その上で、PDOが第二引数をちゃんと受け取れていない、という話であれば
それはPDOのバグかもしれない。
119112:2007/03/03(土) 13:57:46 ID:fjJSaYh6
PHP板にも書いたんですけど
>>113を見逃していました。みなさんごめんなさい。

passwordを省略すると、あの得体の知れないエラーが出るようです。
エラーが間違ってるジャン!PDOのバグだ!と怒りたいところですが
113の指摘を見逃した私がすべて悪いわけでして・・・

申し訳ございませんでした。
&ありがとうございました。  
120nobodyさん:2007/03/03(土) 23:21:06 ID:???
Zendで行こうかと思ったがやっぱりsymfonyで行きます
symfonyが10としたらZendは3くらいだし
Zendしょぼすぎワロタ
121nobodyさん:2007/03/04(日) 04:37:54 ID:???
Zend_Service_Akismetとやらを見て、Akismetの存在を知った。
面白いなこれ。
122nobodyさん:2007/03/04(日) 05:28:00 ID:???
ZendはsymfonyのescapingOutputがないのが糞
いちいちescapeしてられるかっての
123nobodyさん:2007/03/04(日) 14:32:22 ID:???
おいおい…
http://www.zend.co.jp/tech/index.php?%A4%BD%A4%CE%C2%BE%2FZend%20Framework
ここのサンプルだと、View呼び出すのに絶対パスコントローラに埋め込んでるじゃねぇか…
いくらなんでもひどすぎだろ
124nobodyさん:2007/03/04(日) 14:52:52 ID:???
zend japanのレベルなんてそんなもの
125nobodyさん:2007/03/04(日) 16:57:57 ID:brIiO66u
Zend_Db_Tableってもしかして
Zend_Db_Selectと連携出来ないっぽいですか?
126nobodyさん:2007/03/04(日) 17:01:33 ID:???
>>125
別扱いだな
tableにrailsライクなfind()が欲しけりゃselect使って実装しろってこった
127nobodyさん:2007/03/04(日) 17:05:28 ID:???
ZF疎結合すぎワロタ
128nobodyさん:2007/03/04(日) 17:21:00 ID:brIiO66u
>>126
public function fetchSelect($select){
      return new Zend_Db_Table_Rowset(array(
'db' => $this->_db,
'table' => $this,
'data' => $this->_db->fetchAll($select),
));
}

でいちおう出来たけど、こんな感じかな。

これって、DBから一度配列で持ってきてから、PHPでオブジェクトにマッピングしてないですか?
PDO::FETCH_CLASS使った方が早いと思うんですけど、どうなんでしょう?
129125:2007/03/05(月) 00:37:51 ID:514EdfV5
PDO::FETCH_CLASSでfetchAll簡単に出来ました。
やっぱり早いですね。当然ですけど。
まあ、WEBアプリでは一回に何千もレコード取得して表示する事もそんなないだろうから
差は微々たる物だけど

このフレームワーク、完成度は(当然正式版じゃないので)イマイチだけど
ソース見てると、すごいよく設計されてると思う。

今後に期待しちゃうな

とりあえず自分で改造したやつ使うつもりだけど。
130nobodyさん:2007/03/05(月) 10:22:28 ID:???
図書館で「PHPの薬箱」を借りてきました。
Symfony、Zend Framework
とりあえずこの二つを使えればプロとして自信が持てそうですw
131nobodyさん:2007/03/05(月) 10:43:01 ID:???
結構いいよね、phpの薬箱。
132125:2007/03/05(月) 14:11:20 ID:c6MP6ips
良く見たらZend_Db_Table_Rowsetって
1rowが1objectじゃなくて
Zend_Db_Table_Rowset Object に全行の配列を持ってるんですね

見間違いました。

>>130
PHPの薬箱は、まだ読んでないですね。チェックしてみます。
私のオススメは
Zend Frameworkと関係なさそうで、微妙に関係ある
「PHPによるデザインパターン」
133nobodyさん:2007/03/12(月) 08:54:48 ID:2JUfcRN6
ttp://www.itmedia.co.jp/enterprise/articles/0703/08/news018.html

この記事試してみた人いますか?
動きが解って良いんですけど、このブログツールにログインするIDとパスが解りませんOTZ
記事投稿してみたり、いろいろしてみたいんですけど・・・

解りましたら。教えてください。
134nobodyさん:2007/03/14(水) 10:42:23 ID:62gHBZHz
Zend_Controllerで質問です。

IndexControllerのnoRouteActionが呼ばれないんですけどなんか設定が必要なのでしょうか?
例えば
http://www.hoge.com/Index/foo/
とか設定してあるActionを呼ぶと問題なく動きます。で、
http://www.hoge.com/Index/bar/
とか、設定してないActionをよんでもnoRouteActionが呼ばれません。
試しに
http://www.hoge.com/Index/noRoute/
とすると呼ばれます。
なぜでしょうか?指定がないときに呼ぶActionを設定したりしなきゃならないのでしょうか?
お願いいたします。
135nobodyさん:2007/03/14(水) 10:47:31 ID:62gHBZHz
ちなみに、ないアクションを呼んだときは真っ白な画面でソースを見ると
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8"></HEAD>
<BODY></BODY></HTML>
しかありません。
136nobodyさん:2007/03/14(水) 11:52:04 ID:???
なんかそんなのあった気もするがバージョンは?
最新の0.8ってもうnoRoute自体なかったような(__call()で処理)
137nobodyさん:2007/03/14(水) 11:54:47 ID:???
>>135
PHPのエラーログとか見れ。
138135:2007/03/14(水) 13:09:56 ID:???
>>136
>>137
レスありがとうございます

まさに0.8でした。
__callで処理するようになったんですね。
うまく出来ました。
139nobodyさん:2007/03/14(水) 20:08:38 ID:???
Zend_Controller_Router_Route_Module が動かないんだけど・・・

マニュアルには
$compat = new Zend_Controller_Router_Route_Module();
$this->addRoute('default', $compat);
って書いてあるけど、いろいろ試したが動かない・・・・・・
140nobodyさん:2007/03/14(水) 21:37:24 ID:???
ルーター細かくいじるならソース嫁
よっぽどでない限りデフォルトのルートだけで事足りるじゃん
141nobodyさん:2007/03/14(水) 22:10:20 ID:???
0.8でモジュールも色々変更あったんで
http://framework.zend.com/manual/ja/zend.controller.modular.html
ここ読めば分かると思うけど普通のフロントコントローラー使って、
配列でディレクトリ指定してやれば使えるようになると思うよ。
142nobodyさん:2007/03/14(水) 23:00:11 ID:???
レスサンクス!

>>140
確かに普通のルーティングだけでも十分満足だけど、
admin を別のアプリにしようと思って。
ソースよむかな・・・

>>141
なるほろ。
助言を基にもう一度やってみます。
143139:2007/03/15(木) 10:40:52 ID:???
できました。
include_path が通っていないだけでした。。
144nobodyさん:2007/03/18(日) 13:33:48 ID:WPSFKvBp
お約束?のディレクトリ構造にしてアプリをつくるとして
やっぱりmodelsにはincludeパスは通して使う物なのでしょうか?

そうすると

Zendのlibrary
pear(使いたい物がちょこっとあるので)
全アプリ共通で使うclass群の入ってるディレクトリ
そして、いくつかのmodelsディレクトリ

と結構includes path通すところが数が多いのですが、
なんか、どこかで、あんまりいっぱいincludes pathを通すと、
検索する場所が増えるので、全体のパフォーマンスが低下するって
見た覚えがあります。

modelsにあるものを毎回フルパスで指定するのも何だし・・・
なんかうまい方法見逃してますか?
それとも5.6個通すぐらいなら気にすることないのでしょうか?
145nobodyさん:2007/03/18(日) 20:07:56 ID:???
pear用のディレクトリに関してはもう
php.iniレベルで設定しておいていいし
pear本家でZendネームスペースを使う事もないだろうから
pear用ディレクトリ以下でZend/Zend.phpをsymlinkにしておけば
アプリ側でinclude_path追加するのは
lib/modelくらいで済むんじゃないかね
146nobodyさん:2007/03/18(日) 22:00:42 ID:WPSFKvBp
>>145
レスありがとうございます

ふむ。modelに関してはそのアプリのindex.phpでパスを通せばいいのか・・・
まあ、なれてないのでいろいろ考えちゃってるけど、とりあえず作ってみれば
どうすればいいか解ってくるかな。

プレビューが0.9.0になってますね。
マニュアルもちょっとアップされたかな。たぶん。
祝い上げしておきます。

ところで、フォームはpearでやろうと思ってたけど、viewヘルパーなるよさげなものが
あるんですね。あれとZend_Validateを使ってみます。
147nobodyさん:2007/03/19(月) 15:31:58 ID:Y3+UeIKc
View周りをプラグインで簡単にしようと思うんですが
クラス名をどうしたらいいか悩んでます
My_Plugin_Viewとか考えたんですけど
なんか良い感じの無いですか
148nobodyさん:2007/03/20(火) 23:47:27 ID:EqlsiciX
>>147
そんなんどうでもいいよっていう人も多そうだけど
意外にネーミングって悩むし、大事ですよね。

個人的にMyと_(アンダーバー)は嫌いなので
(サイト名や会社名や自分の名前)(機能を端的に表した単語)ViewPlugin
例HogeConvertViewPlugin
とか・・・
長いか・・・・
いっそのこと
HogeConvertVP
とか。
149148:2007/03/21(水) 00:05:18 ID:+1/xKX/r
質問しようと思って開いたのに書くの忘れた。
MVCというのが何となく解ったようで解らないんですけど

例えばフォームからの入力をDBに登録後、一覧を表示。

なんてアプリの場合、ファームのヴァリデイトはControlでするのでしょうか?
そんな気がするのですが、Modelのような気も・・・

どんなもんでしょうか?
150nobodyさん:2007/03/21(水) 06:51:01 ID:???
>>149
validationの定義はmodelに対して行う。
それを呼び出すのはcontrollerで行う。
151nobodyさん:2007/03/21(水) 16:05:45 ID:NvhysGYm
Smartyのキャッシュ使いたいんだけど、その辺どうなの?
152nobodyさん:2007/03/22(木) 11:11:22 ID:???
>>151
使えばいいと思うヨ!

みんなViewを素で使ってるのかな?
俺はViewを抽象化もせずにSmarty直接叩いてるけど。
153nobodyさん:2007/03/22(木) 13:22:24 ID:???
今頃Zendコアクラスに変更か
154nobodyさん:2007/03/25(日) 00:39:42 ID:kYJTpB8y
404ページをどうやって作ればいいんだ
155nobodyさん:2007/03/25(日) 02:34:38 ID:07q9VATM
>>154
奇遇だね。今日おれも同じコトやってたw

Actionが見つからない場合はは__callが呼ばれるので
そこで404ページを出せばOKだけど
問題はControllerだよね。

省略された場合はデフォルトコントローラー(index)が呼ばれて、
ないコントローラーが呼ばれた場合デフォルトでは何も起こらない(本当は例外が投げられてるけど)じゃないですか?
Dispatcherまわりをもっとよく調べれば簡単な解決策あるかもしれないけど、とりあえず強引に解決してみた。

まずZend_Controller_Frontで
$controller->setParam('useDefaultControllerAlways',true);
で、ないコントローラーが呼ばれた場合もデフォルトのコントローラーが呼ばれるようにして

indexControllerのinit()で

$controller_name=$this->getRequest()->getControllerName();
$request_params=$this->getRequest()->getParams();
if($controller_name != $request_params['controller']){
    $this->__call();
}

とかやって実際にリクエストされたコントローラー名と呼ばれたコントローラーが違った場合は
__callを呼んで404ページを呼び出すようにした。

こんな感じじゃ駄目ですか?
もっと簡単な方法あったら伝授お願いします。

どうもDispatcherっていうのが馴染みがないせいか、イマイチよくわからなくて・・・
156nobodyさん:2007/03/25(日) 02:45:08 ID:???
1.0になったらどうにかなるかもしれないから放置するべきか・・・
404くらいデフォルトでなんとかなるようにしてくださいよ!
フレームワークあんだから!
157nobodyさん:2007/03/25(日) 12:06:39 ID:???
useDefaultControllerAlways=trueで
デフォルトのコントローラを404コントローラにする
んでアクションが無い場合(__call)もそっちにforwardしてやるとか

何事にも気が利かないのはZFのデフォルトの仕様
rails:設定より規約
ZF:規約よりおまえが書け
158nobodyさん:2007/03/25(日) 13:20:21 ID:07q9VATM
>>157
それするとコントローラー省略したときも404が出ちゃわない?
ttp://www.yahoo.co.jp/
みたいにドメインだけ入力したとき。

省略された場合と、存在しない場合で動き変えられれば簡単に解決なんだけど・・
159nobodyさん:2007/03/25(日) 14:55:53 ID:???
>>158
URLが空の場合はIndexControllerにルーティングすればいい
160nobodyさん:2007/03/25(日) 15:33:13 ID:UfKh4Z0S
noRouteActionじゃダメなの?
161nobodyさん:2007/03/25(日) 15:50:16 ID:???
俺もそう思った。
コントローラごとにオーバーライドするのは面倒くさいと見るか、コントローラごとに分けることができて便利と見るか・・・。
いざとなったら、404用のabstractなコントローラを用意して、継承しまくるとか。
162nobodyさん:2007/03/25(日) 15:58:06 ID:???
noRouteActionはもうない
163161:2007/03/25(日) 16:49:33 ID:???
ごめん、最近のバージョンは全然チェックせずに言ってた。

ついでに最新バージョン落としてソースを追ってみたけど、
useDefaultControllerAlwaysをfalseにしておけば、コントローラが存在しない場合にZend_Controller_Dispatcher_Exceptionが投げられるから、これをcatchして404出せばいいんじゃないかと思った。
あと、アクションが存在しない場合はZend_Controller_Exceptionが投げられるっぽい。
さすがにZend_Controller_Exceptionだと、その名前から察するに別の状況でも投げられそうな気がするから、少し微妙かもしれない・・・。

とりあえず、>>155の言ってる、
>Actionが見つからない場合はは__callが呼ばれるので
>そこで404ページを出せばOKだけど
ってのがどういう意味かよくわかんなかったんだけど、__callを自分のアクションでオーバーライドして処理するってこと?
164nobodyさん:2007/03/25(日) 18:22:22 ID:???
>>163
そう、旧バージョンのnoRouteActionを__callでどういう風にするのかは
http://framework.zend.com/manual/ja/zend.controller.migration.html#zend.controller.migration.fromzerosix
ここの一番下に載ってる

まとめてみる
コントローラが見つからなかった場合、どっちでもいけると思う

useDefaultControllerAlways=falseなら>>163のように
Exceptionをcatchして404にforward or redirect

useDefaultControllerAlways=trueなら>>157のように
デフォルトコントローラを404のハンドリングに使う

ルーティングが '' (ドキュメントルート)の場合にも
404にハンドリングされてしまうのでRouterに最優先で
'' の場合はIndexControllerにルーティング

あと個人的にActionが見つからないのをハンドリングするためだけに
__callを使うのはもったいない(__callを使った拡張ができない)ので
Zend_Controller_Actionのdispatchをオーバーライドして
自前でアクションが見つからなかった場合の処理を実装して
__callを自分で使えるようにしておいた方がいいと思う

こんな感じかな?
165161:2007/03/25(日) 19:58:28 ID:???
>>164
なるほど。APIが禿しく変わったと思ってたけど、けっこうちゃんとマニュアルに書いてあるんだな。
404の処理方法も正式バージョンではドキュメント化されるかもね。
ひとまず当面は>>164のやり方しかないんだろう。
166nobodyさん:2007/03/25(日) 23:02:53 ID:clpaUIjl
Zend_Loaderってなんだよorz
167157:2007/03/26(月) 10:29:04 ID:jn+p2f5C
例外キャッチするって言う手もあるか
すっかり頭から抜け落ちてた。

getRequest()->getParams()['controller']とgetRequest()->getControllerName()
を較べるのはまずいっぽい。_forwardしたときに呼ばれちゃう・・・

例外キャッチにしようかな

まあ、どっちにしても1.0までには指針を示してくれるのだろうか?

ところで、Validateチェーンって
$breakChainOnFailure を true にしなければgetMessages() で全てのエラーメッセージを配列で受け取れる仕様じゃないんでしょうか?
どうも期待通り動かなくて、ソースを見たところ

$this->_messages = $this->_messages + $validator->getMessages();

となっています。
こういうのってarray_merge使わないとだめだったようなきがするんですけど勘違いでしょうか?
それとも最初エラーメッセージだけ帰ってくるのが動き的にあってるのでしょうか?

話は違いますが
0.9.1がでてますね。早く正式リリースされないかな
168nobodyさん:2007/03/26(月) 11:28:00 ID:B9eaVhyg
2重投稿防止の処理ってなんかあるの?
今までは自前でセッションとリクエスト比較して来たんですが。
169nobodyさん:2007/03/26(月) 11:55:36 ID:???
そんな高級な機能がZFにあるわけないです
170168:2007/03/26(月) 12:52:34 ID:???
>>169
おお。
気に入った。
171nobodyさん:2007/04/01(日) 11:53:09 ID:sAfc6g3U
Controllerを使って推奨のディレクトリ構成で構築したとき
例えばあるviewにスタイルシートを埋め込むとき、
Frontを起動したindex.phpから見たパスになるんじゃないんでしょうか?

相対パスで
<link href="styles/hoge.css" rel="stylesheet" type="text/css" />
とやっても認識されず、
<link href="/styles/hoge.css" rel="stylesheet" type="text/css" />
と、ドメインを省いた絶対パス指定じゃないと認識しないのですが、これしか方法ないのでしょうか?

それとも、相対パス指定が間違ってますでしょうか?

絶対パスでも良いんですけど、dreamweaverで認識しないので、ちょっと面倒かなと・・・
172nobodyさん:2007/04/01(日) 12:01:18 ID:???
あった、ZFcheckDoublePost
173nobodyさん:2007/04/01(日) 12:32:18 ID:???
>>171
mod_rewriteの設定は修正したのか?
174nobodyさん:2007/04/01(日) 15:41:17 ID:sAfc6g3U
>>173
.htaccessは

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

となっています。
変わったのでしょうか?
175nobodyさん:2007/04/01(日) 18:23:36 ID:???
そのcssのURLもrewriteされてるんじゃないかと
思ったんだけどcssだから大丈夫か
相対パスはindex.phpからのであってるよ
176nobodyさん:2007/04/01(日) 19:08:42 ID:+UiPUal0
>>171
画像やスタイルシートはドキュメントルートからのパスになるだろ?
177171:2007/04/01(日) 19:14:37 ID:sAfc6g3U
>>175
レスサンクス

どうやらリクエストしたURLの階層から見た相対パスになってるみたいです。
たとえばURLが
http://www.hoge.jp/foo/bar/
だとして、ドキュメントルートにstylesフォルダがあるとすると
スタイルシートは
<link href="../../styles/foobar.css" rel="stylesheet" type="text/css" />
で認識しました。
formのactionも、foo/bar/とすると
http://www.hoge.jp/foo/bar/foo/bar/
にpostします。

これは挙動としておかしいってことでしょうか?
なにか、設定が間違ってる?
baseUrlあたりがくさいと思い、var_dumpしてみたら
["_baseUrl:protected"] => string(1) "/"
になってます。

他のみなさんも
>>175さんのご指摘どおり
index.phpからのパスになってるのでしょうか?

でも、そうじゃないと、アクション省略したときと、指定したときで、めんどくさい事になりますよね?
ちなみに0.9.1です
178nobodyさん:2007/04/01(日) 20:18:45 ID:???
<link href="/styles/foobar.css" rel="stylesheet" type="text/css" />

でいいんじゃないの?
179nobodyさん:2007/04/01(日) 20:47:16 ID:???
<base href= で相対リンクの基準指定しておけばOK
180nobodyさん:2007/04/01(日) 22:32:21 ID:sAfc6g3U
>>179
ほうほう、そのタグ知らんかった・・・
サンクス
<base href="http://www.hoge.jp/" />
で、いけました。

しかし、他のmod_rewriteを使ってURIを置き換えるようなフレームワークも
みんな、絶対パスか<base href="">を使ってやるモンなのでしょうか?

たしかに、いたってデフォルトの動きっぽいですけど。
181nobodyさん:2007/04/01(日) 22:56:18 ID:???
んなわきゃない
baseタグ使うとかバカげてる
ほんとにrewrite効いてるのか?
182nobodyさん:2007/04/02(月) 00:22:58 ID:???
>>154-167
遅レスだけど、単純に

$front = Zend_Controller_Front::getInstance();
$front->run("/path/to/controllers");

$res = $front->getResponse();
if ($res->isException()) header("Location: http://localhost/");

とかじゃダメ? 話が違う?
header のところを 404 を出す処理にでも変えればいいような気がする。
183180:2007/04/02(月) 08:46:24 ID:UNZvnAmN
>>181
まじですか?

適切なコントローラとアクションに振り分けられるので
たぶんrewrite自体はは聞いてます

ちなみにindex.phpのコードをさらすと
$controller = Zend_Controller_Front::getInstance();
$config=GomoConfig::getInstance();


$controller
->setControllerDirectory('path/to/controller','default')
->throwExceptions(true);

try{
$response = $controller->dispatch();
} catch (Zend_Controller_Dispatcher_Exception $e) {
$controller->setDefaultControllerName('notfind');
$controller->setParam('useDefaultControllerAlways',true);
$response = $controller->dispatch();
}

こんな感じです。

apacheの設定関連でしょうか?
mod_rewriteの設定でRewriteBaseというのがあったので
ドキュメントルートのパスを設定したり、"/"のみを設定してみましたが、駄目でした。
どの辺を見直せば良さそうですかね?
ご意見ありましたらよろしくお願いします
184180:2007/04/02(月) 10:01:33 ID:YVop49f1
>>181
違ったらすいませんが、
もしかして
>>178さんみたいに"/"から指定してないですか?
<link href="/styles/foobar.css" rel="stylesheet" type="text/css" />
それならうごくんです。というか、絶対パスだし。

う〜ん、ちょっとsymfonyのスレで確認してみます。
185nobodyさん:2007/04/02(月) 18:45:53 ID:???
>>184
どっちのスレで答えるか迷ったけどsymfonyで自動生成されるタグは
絶対パスになってる。
CSSとか画像へのリクエストはクライアントのブラウザがリクエスト
するものだからブラウザに表示されてるURLからの相対パスで
不思議じゃない。
186181:2007/04/02(月) 19:11:38 ID:???
ごめん俺が間違ってた
相対パスで試したら余裕で無理だったなんか勘違いしてた
よくよく考えたらURLをrewriteする場合に
相対パスでリソース指定なんてした事なかった
今は反省している
普通絶対パス指定だな
あとdreamweaverはサイト設定したら
認識してくれるもんじゃないかね
187184:2007/04/03(火) 00:18:05 ID:3FiNTxl4
>>184
レスありがとうです。
symfonyのほうでもレス頂きましたが、すっきりしました。

>>186
いえいえ、そんなに反省しなくてもw
勘違いは誰にもあるし

サイト設定はすっかり忘れてました
試してみます
サンクス
188nobodyさん:2007/04/07(土) 17:33:25 ID:???
第2回 Zend Framework Code Camp ハンズオンセミナー
http://www.zend.co.jp/events/

これはノーパソもくれるってことなのかな
189nobodyさん:2007/04/07(土) 18:19:08 ID:???
1人5万とかぼろい商売やってんなあゼンドジャパン
190nobodyさん:2007/04/07(土) 19:39:02 ID:???
9.2きた!
191nobodyさん:2007/04/07(土) 20:28:11 ID:???
>>188
もちろん、もらえる。
費用に含まれてる。
192nobodyさん:2007/04/07(土) 21:22:05 ID:???
5万でノートPCもらえるの?
193nobodyさん:2007/04/08(日) 04:50:22 ID:???
おまえら常識で物考えろw
194nobodyさん:2007/04/08(日) 07:05:34 ID:???
ゼンドの糞高い独自資格保持者の指導じゃないの?

まあゼンドエンジンを無料で使っておいて、いまさらゼンドを馬鹿にできる立場じゃないだろうが。
他のPHPエンジンを選択して使えれば良いのにな。
195nobodyさん:2007/04/08(日) 07:11:17 ID:???
Zendはともかく
ゼンドジャパンがあまりレベル高いと思えないのは俺だけ?
196nobodyさん:2007/04/08(日) 09:58:31 ID:???
みつまJAPANぐらいだよな
レベル高いの
197188:2007/04/08(日) 18:08:08 ID:???
>>191
やったー

>>193
そうですよね。常識で考えて講習だけで5万はおかしいですよね。
198nobodyさん:2007/04/08(日) 20:39:22 ID:???
>>197
君学生でしょ?1日講習で5万とか普通。
だからといって、その講習にそれだけの価値があるかといえば・・・。
199nobodyさん:2007/04/08(日) 22:55:44 ID:???
昔 Oracle の一日講習会で 10 万ってのにビビったことがある
会社がお金を出してくれるんでなかったら、自分じゃ行ってないな
200nobodyさん:2007/04/08(日) 23:06:45 ID:???
講習会なんか行くよりググったほうがためになる
201nobodyさん:2007/04/09(月) 00:24:50 ID:???
おまえらこれでも見てびっくりしとけ

http://www.blackhat.com/html/bh-japan-07/bh-jp-07-jp-reg.html
202nobodyさん:2007/04/09(月) 00:29:53 ID:???
安っ!100人分申し込んだ
203nobodyさん:2007/04/09(月) 00:38:59 ID:???
>>201
そんなの申し込む人おるん?
204nobodyさん:2007/04/09(月) 02:02:12 ID:???
俺が口臭をyoutubeで流してやるよ!
205nobodyさん:2007/04/14(土) 23:56:03 ID:6HoqK2AI
みなさんZend_Mailはつかってますか?
日本語どうしてます?
$mail = new Zend_Mail('iso-2022-jp');
でインスタンス化してmb_convert_encodingでiso-2022-jpにした文字を
addしていってもエンコードがquotedprintableだから本文文字化けしちゃいます。

エンコードをBASE64に切り替える方法って解りますか?

mb_convert_encoding も面倒だからsend時のtransportを
mb_send_mailを使った物に変えちゃおうかとも思ったんだけど
エンコードで引っかかりますね。quotedprintableはダメよって。

あと、 iso-2022-jpを文字コードに指定するな、みたいなエラーも出てたけど
mb_send_mailはheaderに文字コード指定しちゃいけないのかな?
206nobodyさん:2007/04/15(日) 00:57:32 ID:???
>>205
Zend_Mail関連は少し前のバージョンでちょっと使ってみたけど
UTF-8で長いサブジェクトのメールだとなんかうまくいかなくて
さんざんソース追いまくった挙句どうもバグっぽかったので
結局mb_encode_mimeheaderで自前でBASE64エンコードしたのを
セットするっていうこれじゃビルトインのmail()使ってんのとかわんねー的な
方法に落ち着いた記憶があるw

今昔のソース見てみたら
$mail = new Zend_Mail('UTF-8');
・・・
$mp = $mail->setBodyHtml($html);
$mp->encoding = Zend_Mime::ENCODING_QUOTEDPRINTABLE;
こんな感じだったのでこれをBASE64にすればいけるんじゃないかな

正直ZendのMail関連はまだ色々安定してない感じがした
枯れてるという意味でまだPEARのMailライブラリの方が
素直に動いて安定はしている(E_NOTICE出るバグは残ってたけど、、)
今はどうかわからないけど参考までに

どちらにせよmb_send_mailは使わないかな
207205:2007/04/15(日) 04:41:44 ID:f7ZVC+MY
>>206
レスありがとうございます。

携帯のメールで四苦八苦してたんですけど
本文は文字コードiso-2022-jpでエンコードは7bitみたいですね
勘違いしてました。私のメイン携帯のSoftBANKはcontents-type指定してやれば
UTF-8でも正しく表示されるのですが、ウィルコムとか、試してないけどたぶんDOCOMOとかって
iso-2022-jp 7bitじゃにとだめっぽいですね。

まあ、それはあんまり関係ないので置いといて^^;
206さんが試したときのバージョンだと>setBodyHtmlはZend_Mime_Partを返してたみたいですね。
0.9.2は
return $this;
になってるので、
$mail->setBodyText(mb_convert_encoding("日本語本文",'iso-2022-jp'));
$mp=$mail->getBodyText();
$mp->encoding = Zend_Mime::ENCODING_7BIT;
とやらないとだめっぽいのかな。
いちおうこれで文字化けしないでウィルコムいけました。

PCやSoftBANK(AUやDOCOMO試してないのでわかりませんが)ならUTF-8(内部エンコーディング)
で、ぜんぜん問題ないのでいいのでが、携帯も視野に入れると、いちいちmb_convert_encodingしなきゃならないので
面倒だから、mb_send_mailで出来ないのかなと思ったわけでして。
Zend_Mailもnewしたときの文字コードに全部自動変換してくれれば楽なのに・・・

自動変換するように拡張しようかな。
transporterをmb_send_mailに変えるよりその方がよさそうですね。
208nobodyさん:2007/04/15(日) 13:38:18 ID:???
  \(^o^)/             \(^o^)/ zend frameworkオワタ
    )  )               ノ ノ
((((  > ̄ > )))) \(^o^)/ ((( < ̄< ))))
              )  )
         (((  > ̄ > ))))    code igniterハジマタ
209205:2007/04/15(日) 16:11:36 ID:f7ZVC+MY
とりあえずいまのところ日本語メールはサポート外って感じですね。

問題はquotedprintableでエンコードしちゃうところ。
本文なんかは上の方法で変えられるけど、ヘッダーは強制的に
quotedprintableでエンコードされちゃう。

とりあえず、add、set系で日本語入れる可能性のあるものを
オバーライト(ド?)して自動的に文字コードを_charsetにしちゃうようにして
本文のsetはエンコードをENCODING_7BITに、ヘッダーはBASE64にしたら
だいたいOKな感じ。

まあ、まだベータだし今後に期待かな。
210nobodyさん:2007/04/16(月) 12:14:45 ID:l/zxgJId
>>209
おまえは何を言ってるんだ?
211nobodyさん:2007/04/22(日) 00:02:52 ID:???
view内でmodule名を常に取得したいんですが、一々Assignするの面倒なんで何か良い方法ないでしょうか?
init使うってのも考えたんですが他にスマートな方法とかないでしょうか?
212nobodyさん:2007/04/22(日) 08:57:19 ID:xZDJWmeU
>>211
ZFを書き換える
213nobodyさん:2007/04/22(日) 16:35:40 ID:???
>>211
Pluginを使う
これも嫌なら知らん
214nobodyさん:2007/04/23(月) 16:40:00 ID:LAYu+KhN
出来るならワンタッチで、しかも「情報起業」に特化した
ホームページ作成ソフトがあったらいいのに・・・。

もし、プロ並みにキレイなホームページが作成が出来たとしたら、
情報商材で一旗あげようと思っているあなたの人生は変りますか?

【早くも成功者続出!】起業サイトビルダー
http://www.infotop.jp/click.php?aid=16484&iid=5683
215nobodyさん:2007/04/25(水) 08:36:25 ID:Oh3IjITm
0.9.2リリースから、かれこれ20日が経過しようとしてるが・・・

このペースだと1.0リリースは年内ぎりぎりいっぱいって感じ?
大丈夫か?この開発ペース。
216nobodyさん:2007/04/25(水) 09:53:04 ID:???
たった一人の開発者が風邪で寝込んでるらしい
217nobodyさん:2007/04/25(水) 16:55:07 ID:???
zendstudioみたいに有料配布ならもっと人員割り当てられるだろうけどねえ。
オープンで利益が見込めない以上、待つしか無い。orz
218nobodyさん:2007/04/26(木) 01:24:02 ID:???
オープンソースで利益が見込めないってのがいかにも後進国日本の発想
219nobodyさん:2007/04/27(金) 19:55:00 ID:oQ0Q4Rp/
これって
1アクション:1コントローラ
みたいに出来ないの?

ttp://www.hoge.com/moge/mage
ttp://www.hoge.com/moge/hoge
ttp://www.hoge.com/moge/hege

みたいにしたい時に
コントローラを3つ用意したいと思ったら
わざわざindex.phpに切ってあげるしかない感じ?
zend自体に手いれないと無理?
220nobodyさん:2007/04/28(土) 01:56:10 ID:???
Routerでそういう風にルーティングすればいいだけ
221nobodyさん:2007/04/28(土) 02:09:27 ID:tgkVshtz
>>168
>>172
にあるZFcheckDoublePostって今もうないですよね?
何か別の名前になってるのでしょうか?

二重投稿防止があるなら自作しないで使っちゃいたいんですけど・・・
222nobodyさん:2007/04/29(日) 14:57:15 ID:???
前から気になっていたんだが、
Frameworkって、functionやclassの詰め合わせみたいなもんでいいのかな?
223nobodyさん:2007/04/29(日) 19:25:27 ID:???
フレームワークの側がおまいの書いたfunctionやclassを、うまいこと呼び出してくれるってのも着眼点の一つ。
224221:2007/04/29(日) 22:27:25 ID:o45ltyhE
>>223
「Don't call me, we. call you.」ってやつでしょうか?

ところで
もしかして二重投稿防止機能ってデフォでついてる?
フォームに入力した文字を何のヴァリデイトも無しに、単純にDB登録する物作って
submit連射してみたんですけど、一個しか登録されません。

Keep Aliveが切れるの待ってかなりいっぱい連射してみたけど登録されるのは一個だけです。

マニュアルにありますか?ちょっと探してみたけど見つからないのですが。
225nobodyさん:2007/04/30(月) 12:42:34 ID:xadrbgql
class内で他のオブジェクトのメンバー変数にアクセスするとき
function hoge(){
$other_instance->foo='bar';
}
は普通に動きます。で、その変数を動的に変えたいとき
function hoge($name){
$other_instance->$name='bar';
}
これも動きました。
ところが$nameの部分をそのクラスのメンバにして、他のメソッドからも使いたいとき
function hoge(){
$other_instance->$this->name='bar';
}
にすると$thisの時点で展開され、stringに出来ませんって言われます。
__toString()を使うのもなんか違う感じがするし、
各メソッドで、
$name=$this->name;
と代入してやれば動くけど、メモリ無駄遣いしてる感じもするし。
なんかほかにいい書き方ありませんでしょうか?

お願いいたします。
226225:2007/04/30(月) 12:43:47 ID:???
あ、すいません。書くとこ間違えました。
PHPのくだらねえ〜版に書くつもりで・・・
あっちへ行きます。
227nobodyさん:2007/04/30(月) 14:12:02 ID:???
ここにレスするのもあれだが
求めてるのはこれだろうか
$other_instance->{$this->name} = 'bar';
228255:2007/04/30(月) 15:30:48 ID:???
>>227
サンクス!
そうか。そう書けばよいのか。
229nobodyさん:2007/05/01(火) 19:09:51 ID:???
1.0はまだ当分でないかな。
0.9.2で停止してるし。
230nobodyさん:2007/05/01(火) 20:58:40 ID:???
たった一人の開発者が退社しますた
231nobodyさん:2007/05/01(火) 21:42:14 ID:???
>>230
病気じゃなかったのかw
どうすんだよw
232nobodyさん:2007/05/01(火) 21:45:53 ID:???
>>230
あながち冗談でもなさそうな。
でもあれならほかの人でも引き継ぎできそうだよ。
233nobodyさん:2007/05/01(火) 22:14:13 ID:???
foreachの中でreturnしたらメモリリーク起こすのって
PHP5の何以下だっけ?
たしかZFのソースの中に書いてあったんだけど
234nobodyさん:2007/05/02(水) 01:31:49 ID:???
一人で儲かる訳でもないプロジェクトやるのはモチベーション保てなかったか。
仕切り直しのZF2.0は何をベースにするのだろう?
日本人的にはちいたんなのか?(w
235nobodyさん:2007/05/02(水) 01:43:14 ID:???
いやZend的には儲かるだろ
普及のための戦略製品じゃん、一応
236nobodyさん:2007/05/02(水) 02:43:10 ID:???
>>230
これが事実だとすると

また仕様が変わるのね。
237nobodyさん:2007/05/02(水) 03:26:54 ID:???
ネタだろ
238nobodyさん:2007/05/02(水) 09:55:28 ID:???
おまえらが釣られてるのか釣られてるフリをしてる
おまえらに俺が釣られてるのか分からないが
普通に開発進んでるし0.9.3が5/4でcode freezeだよ
あとzend所属の人もいるみたいだけどZFは基本オープンソースだろうに
239nobodyさん:2007/05/02(水) 15:43:01 ID:???
こんだけまってまだ9.3とか冨樫の連載ペースかよw
240nobodyさん:2007/05/02(水) 16:55:25 ID:CN0ZcYu0
>>239
冨樫なんかと一緒にすんなよw
241nobodyさん:2007/05/03(木) 00:13:22 ID:B994S/bS
とりあえず、1.0リリースしちゃえば良いんじゃないの?
後からシコシコ直せば。

どうせNew BSDライセンスだから,なんかあってもzendが責任負うわけじゃないしw
意外に?生真面目な会社なのかね?
というか、オープンソースって正式リリースは誰が決めるの?
242nobodyさん:2007/05/03(木) 00:16:59 ID:???
配布元のZendでしょ。

オープンソースってコピーし放題なのにどうやって儲けるの?
ダウンロードできるのにインストールCD買うアフォって居るの?
243nobodyさん:2007/05/03(木) 00:32:07 ID:B994S/bS
>>242
普及させて、ZendGuardとかStudioを売ったり、有料サポート(あるのか知らないけど)とか、セミナー?とかで設けるんじゃないの?
あと、Zendって会社名だって、PHPのおかけで業界じゃ知らない人いないし、宣伝費も浮く。
まあ、でも不思議だよね。オープンソースって。
244nobodyさん:2007/05/03(木) 00:38:14 ID:???
全然不思議じゃないだろ
PHPが普及すればするほど儲かる会社なんだから
というかZFなんかで金取る方がおかしいだろ常識で考えて
245nobodyさん:2007/05/03(木) 01:52:21 ID:???
>>242
>オープンソースってコピーし放題なのにどうやって儲けるの?
>ダウンロードできるのにインストールCD買うアフォって居るの?
発想が貧困すぎ。
有料ソフトウェア会社が倒産して、オープンソース化して利益を得ている
Blender Foundationのケースでも勉強して出直してきなさい。
246nobodyさん:2007/05/03(木) 16:35:15 ID:B994S/bS
http://framework.zend.com/manual/ja/index.html
ここにあるサンプルソースをコピペすると、改行が全部除去されるのはうちだけでしょうか?
マジでめんどくさいんですけどOTZ
247nobodyさん:2007/05/03(木) 16:54:10 ID:???
改行除去なんてされないが
248246:2007/05/03(木) 21:03:07 ID:???
>>247
今ちょっと思い立ってFirefoxでためしたら改行されなかった。

普段使っているSleipnirでは改行なくなる。IEでもなくなる。
なんかIEの設定っぽいけど
SleipnirのレンダリングエンジンをGekkoにしてお茶を濁します
249nobodyさん:2007/05/07(月) 16:14:50 ID:rh9t4bwF
0.9.3 Releaseあげ
250nobodyさん:2007/05/07(月) 17:10:19 ID:???
>>248
FireFox+IETabおススメ
251nobodyさん:2007/05/08(火) 00:38:50 ID:???
これだけ待たせて 0.9.3 か〜……
252nobodyさん:2007/05/08(火) 02:59:08 ID:???
>>251
そんな文句言ってると、今度からバージョンの桁数さらに増やされるぞ。

0.9.3.0.0.1
0.9.3.0.0.2
0.9.3.0.0.4
253nobodyさん:2007/05/08(火) 09:20:31 ID:nxCKFKFF
中の人「もう1.0でいいんじゃね?」
254nobodyさん:2007/05/08(火) 09:40:42 ID:???
0.9.9に達したら再び減りだします
255nobodyさん:2007/05/08(火) 10:36:32 ID:???
0.9.9から長そうだな
0.9.9.1
0.9.9.2
0.9.9.3
 ・
 ・
 ・
0.9.9.9.1
256nobodyさん:2007/05/08(火) 10:54:11 ID:???
2050年の2ch

【何より】ZF0.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9遂にリリース!【めでたい】
257nobodyさん:2007/05/08(火) 10:59:24 ID:???
ZFのバージョン番号 V.S. 円周率
258nobodyさん:2007/05/08(火) 11:35:27 ID:???
TeXのバージョン番号かよw
259nobodyさん:2007/05/08(火) 12:33:50 ID:???
まぁ増やさなくても 0.9.9 の次は 0.9.10 でいいじゃん

【とうとう】ZF0.9.1000遂にリリース!【四桁】
260nobodyさん:2007/05/10(木) 15:53:39 ID:???
2007/05 0.9.3
2007/07 0.9.4
2007/09 0.9.6
2007/11 0.9.8
2007/12 0.9.9

2008/10 0.10.0 orz
261nobodyさん:2007/05/10(木) 20:56:52 ID:???
Zend.php ってなくなったの?
262nobodyさん:2007/05/10(木) 21:39:26 ID:???
0.9あたりでdeprecatedになって
0.9.3で完全にファイルもなくなった
Zend.phpにあったメソッドはそれぞれ別のクラスに移動してる
263nobodyさん:2007/05/11(金) 00:22:17 ID:dMG3cwh5
このスレの>>150>>170で話題になってのをまね?して
404的ページに飛ばすのに
index.phpで(一部省略)

$controller = Zend_Controller_Front::getInstance();
$controller ->throwExceptions(true);

try{
$controller->dispatch();
} catch (Zend_Controller_Dispatcher_Exception $e) {
$controller->setDefaultControllerName('notfind');←このindexActionに404ページを表示するようスクリプティング
$controller->setParam('useDefaultControllerAlways',true);
$controller->dispatch();
}

ってやってたんだけど
093で
Default_NotfindControllerが見つかりませんって例外が投げられちゃうようになった。
コントローラーのクラス名をDefault_NotfindControllerに変えたら前の通り動いたんですけど、いまいちしゃっきりしません。

他のコントローラーは普通に動いてたので
マニュアルちょっと見たけど、出てないっぽいですけど(見逃してたらすんません)
setParam('useDefaultControllerAlways',true)←これすると
コントローラーの頭にDefault_ってつけなきゃいけなくなったのでしょうか?
それとも何か他が原因でしょうか?
264nobodyさん:2007/05/11(金) 10:21:14 ID:???
>>262-263
そーだったのか…
0.9.3にアップグレードしたら動かないんだもん
頼むよゼンドさん
265nobodyさん:2007/05/11(金) 18:35:31 ID:???
更新に合わせて修正してたけどもうつきあっててられん。
1.0になってからやる。
266nobodyさん:2007/05/13(日) 04:18:32 ID:???
>>265
ふむ
確かにそうですね。

beta何だから当たり前と言われればそれまでですが
にして開発遅すぎる!!!

がんばれZEND!!
マジで遅すぎる!!
267nobodyさん:2007/05/13(日) 04:30:33 ID:???
Zend「PHPなんてだっせーよな!Rubyやろうぜ!」
268nobodyさん:2007/05/13(日) 04:56:35 ID:???
開発遅いとかではなくて、コロコロ仕様変更すんな!ってことだろ。
269nobodyさん:2007/05/13(日) 11:37:19 ID:???
Rubyは作者がきもちわるいから…
270nobodyさん:2007/05/13(日) 17:09:43 ID:???
phpはzendに金玉握られてるけどな。
271nobodyさん:2007/05/13(日) 18:46:10 ID:???
Rubyの作者は、>>269に比べたら、まっとうな人間。
272nobodyさん:2007/05/13(日) 22:32:44 ID:???
おまえに >>269 の何がわかるってんだよ
273nobodyさん:2007/05/16(水) 01:49:02 ID:???
274nobodyさん:2007/05/22(火) 03:58:54 ID:???
2月から隔月で開催しております「Zend Framework Code Camp」も第3回を迎えました。
テキストも一部更改し、弊社アーキテクトを講師として、2日間に渡って開催します。
PHPフレームワークの本命「Zend Framework」をハンズオンセミナー形式で、
インストールから使用方法まで詳細に学べる2日間です。一人に1台のマシンを完備し、
理解度も大幅アップするセミナーとなっております。ぜひ、お越しください。

日時:2007年6月13日(水)から6月14日(木) 10:00〜17:00
場所:IBM東京イノベーションセンター
   渋谷区道玄坂一丁目12-1(渋谷マークシティウエスト18階)
費用:1名様あたり
 早期割引(5月29日申込分まで):52,500円(消費税込み)
 通常料金:63,000円(消費税込み)

ZF教えて60000てボッタクリすぎだろ
こんなの教えてもらわないと使えない奴なんざ
ハナから使えねーっての
275nobodyさん:2007/05/22(火) 08:02:48 ID:???
>>274
まぁまぁ、別スレでも書いた気がするけど、
そんなものだよ、金額。2日でその金額だと、むしろ安いほうに入るかも。

自分は行く必要性全くないと思ってても、会社で無理矢理行かされることもある。
超絶苦痛だがな・・・。
素人に対してどういうふうに教えるかという、先生役のスキルを磨くと思って参加するしか。
276nobodyさん:2007/05/29(火) 02:07:15 ID:???
>>272
大好きなrubyを馬鹿にされて興奮しちゃっただけだよ
277nobodyさん:2007/05/29(火) 13:24:50 ID:afdgnzAT
1.0.0 RC1 リリース上げ
278nobodyさん:2007/05/29(火) 20:02:02 ID:???
さっそくDLしますた。
ってか、ここはどの板ですか。
279nobodyさん:2007/05/29(火) 20:40:28 ID:???
1.0.0RC1 萌え
280nobodyさん:2007/05/29(火) 21:30:01 ID:???
待ちわびたぞ・・・1.0・・・
281nobodyさん:2007/05/29(火) 22:06:39 ID:???
次はRC1.01だ
282nobodyさん:2007/05/30(水) 08:02:39 ID:???
そこまで愚図だったら、どうすんだ。
まぁ俺には作れないから文句言わないで使わせてもらうが。
283nobodyさん:2007/05/30(水) 08:09:35 ID:amo3UjDj
おおおお!!
きたね!!
284nobodyさん:2007/05/31(木) 22:01:23 ID:???
ZF が載ってる本ってないの?
285nobodyさん:2007/05/31(木) 22:03:38 ID:???
公式のマニュアルだけで十分じゃね?
286nobodyさん:2007/05/31(木) 22:26:49 ID:???
QuickForm_Controller 的なことがしたいけど、よくわからなくて…
Zend_Filter, Zend_Validate 使って自分でゴリゴリ書くのかな
誰か本だしてけろ
287nobodyさん:2007/05/31(木) 23:58:46 ID:gup0HDto
PHPの薬箱なら基本的な使い方書いてあるけど
288nobodyさん:2007/06/01(金) 07:53:25 ID:???
>>216,230の流れはZend Frameworkの開発者が、という事?
289nobodyさん:2007/06/01(金) 08:55:41 ID:2oVaVYFS
404簡単にできるようになりましたね。
開発、ここ見てるんじゃねえか?・・・
んなわけないかw
誰もが思うことだもんね。


ttp://framework.zend.com/manual/ja/zend.controller.plugins.html#zend.controller.plugins.standard.errorhandler
ここの
$errors = $this->_getRequest('error_handler');

$errors = $this->_getParam('error_handler');
の間違いっぽい?

>>287
PHPの薬箱は読んでそんはない本だけど、ZFの解説としては、古すぎてやめて方がよい。
PCの画面で見るの嫌なら、公式のマニュアルプリントアウトして読めば〜

>>286
今作ってるシステムでは、formの生成はSmartyでやって
ヴァリデイトとフィルタリングを一気に行うNormalizeなるクラスを作って、
飛んできたパラメータを一気に渡して処理してみてる。
その際、formのnameとカラム名が違う場合、カラム名のマッピングもこのクラスでやっちゃう。
パラメーターをDBに対応させる処理は、こいつに全責任を持たせる感じかな。

意外といろんなページで使うparamって共通してて、その辺を親にクラスまとめると新しいページ用の
Normalizeクラスを作るのはさくっとできて楽かも。

pear見たいに、form生成時とヴァリデイトルールの設定が一カ所でできるのもわかりやすくて良いかな〜とも思ってる。
でも、ページ数増えると、コピペが増えて、メンテナンス性が損なわれそうな気も。

なんか良いアイデアあったら教えてください。
290nobodyさん:2007/06/03(日) 10:11:37 ID:0nGDIlTx
先生、Smarty使いたいんですけど、
誰か代わりにググってください
291nobodyさん:2007/06/03(日) 11:48:13 ID:???
>>290
ぐぐたよ。
292nobodyさん:2007/06/03(日) 11:57:07 ID:0nGDIlTx
>>291
えぇ〜
293nobodyさん:2007/06/03(日) 18:01:50 ID:???
>>287
PHPの薬箱は読んだけど、あんまり役に立ちそうにないかも…
もうちと突っ込んだ内容がほしーす。

>>289
やっぱ自分で書くことが多いよね ZF は。
symfony みたいにビューヘルパーで生成したフォームを
そのままバリデートできると便利なのに。

っで、結局 ZF に QuickForm いれて使ってるけど、ちょーきもい。
みんなはフォームの確認画面とかどーしてるんだろ…
294nobodyさん:2007/06/03(日) 19:55:30 ID:???
Zend_Authの使い方がいまいちわからない
295nobodyさん:2007/06/03(日) 22:19:43 ID:JuAs3UiO
>>290
おれはやふってみた
296nobodyさん:2007/06/03(日) 23:42:09 ID:aDzga603
>>290
>>295
Viewのマニュアルにあるようにintefaceを使ってやるか、
ただ単にViewRendererをオフにして
コントローラー内にSmartyのインスタンスを保持して使うか・・・

ttp://framework.zend.com/manual/ja/zend.controller.actionhelpers.html#zend.controller.actionhelpers.viewrenderer
ここにある、ViewRendererを使うとこんな便利!
みたいなことって、後者でも実現可能なので、後者でやろうかともと思ってるんですけど。
ただ、Viewのinterface使った方が後々便利にならないとも限らない。今のうちになれちゃうと言うか、
後からそこ変えるのって、大変そうだし・・・

みなさんどうしました?
297nobodyさん:2007/06/04(月) 00:48:06 ID:???
Smartyなんて使わないからどうでもいいが
やるなら自前でViewもヘルパも作るな

てかinterface作ったんならもうそんなに
コード綺麗じゃなくてもいいからZend_View_Smartyを
さっさと実装してとりあえず突っ込みゃいいのにとは思うが

てかもうZend_Viewが糞もうほんと糞
しかもデフォルトじゃviewディレクトリ以下で
また3つのディレクトリに分かれるようになってる?
あーもう1.0間際になってアクションヘルパやらなんやら
色々突っ込みやがって夏休みの宿題じゃねーんだぞボケが
298nobodyさん:2007/06/04(月) 01:18:53 ID:???
zendなんて使うからだよ)^o^(
299nobodyさん:2007/06/04(月) 10:58:39 ID:???
>>296
>コントローラー内にSmartyのインスタンスを保持して使うか・・・
これはMVC的には普通アリエナイ。
300nobodyさん:2007/06/04(月) 11:57:50 ID:???
なんでよVへassignするために一応Cから
アクセスできるようにするってことだろ
まあassignするものまとめて最後に
Vへ登録するのがベターかもしれないけど
MVC的にありえないって話でもないんじゃねーの
301nobodyさん:2007/06/04(月) 12:12:11 ID:???
コントローラーにsetParamとかできるんだから使っていけばいいんじゃね
302nobodyさん:2007/06/04(月) 12:41:14 ID:28BocCFw
>>299
MVC理解できてんのか?
303nobodyさん:2007/06/05(火) 09:38:25 ID:UTW3hgPe
>>296のマニュアルあるようにinterfaceくっつけたsmarty作ってみたけど
そのままではViewRenderer使えないね。

なんか足りないメソッドもあるし、しかもテンプレートのパスを決めるのに
Zend_requestかなんかのインスタンスが帰ってくるから
そっからパスを抽出してセットするロジックを実装しないとだめみたい。

まだよくソース見てないし、ちょっといじっただけだからはっきりわからないけど。

うまく動かせた人、情報お願い
304nobodyさん:2007/06/06(水) 20:13:13 ID:QBphBxXc
Smartyにインターフェイスくっつけるのって
ViewRendererに突っ込んでも動かないってことは
要するにZendViewに慣れた人が扱いやすいからですよね?

Smarty単体ではできないViewRendererのおいしい所は
わざわざコントローラーでdisplay()しなくても、自動的に表示してくれる
とこなのかな?

ってことはアクションヘルパーを書いて自動でdisplay()するようにすれば
Smartyに慣れた人が多い環境では、わざわざZendViewInterfaceをくっつけて使う必要はないような
気がしません?
いや、気がしてきた!うん!

ZFって柔軟に作ってくれてるし、ZendView使っておかないと、後々面倒なことになることもなさそうだし・・・
305nobodyさん:2007/06/06(水) 20:46:37 ID:???
正式版でるまでは自分でヘルパーとか書くのもったいない気がする
仕様変更するし
306nobodyさん:2007/06/09(土) 06:18:23 ID:???
RC2ktkr!!
307nobodyさん:2007/06/09(土) 06:20:32 ID:???
誰か本スレ7たてて頼む
308nobodyさん:2007/06/09(土) 07:29:05 ID:???
俺も立てれない
ちんぽは立ってるんだが…
309nobodyさん:2007/06/09(土) 09:52:52 ID:6f8TWb7Z
>>307-308
【PHP】フレームワークについて語るスレ7【総合】
http://pc11.2ch.net/test/read.cgi/php/1181350116/
310304:2007/06/10(日) 01:40:17 ID:T42YmVZb
ttp://framework.zend.com/manual/ja/zend.view.scripts.html#zend.view.scripts.templates

ここのZend_View_Smartyに
public function getScriptPaths(){
return array($this->_smarty->template_dir);
}

public function addBasePath($path, $prefix){
$this->_smarty->template_dir = $path.'/scripts';
}

この二つのメソッドを足せばViewRendererにつっこめるね。

ヘルパーも、てきとうだけど、作ってみた。
個人的にはヘルパー作って、Smaryのまま使うのが好きかな。

これ正式リリースの予定って出てる?
英語の苦手な私のために情報あったらお願いします。
311nobodyさん:2007/06/10(日) 09:23:49 ID:???
Zend_Controller_Frontを継承して、
ViewRendererにZend_View_Smartyを渡すように書き換えて、
getInstanceコピペしたら使えるようになったんだけど、
これで良いのか?
312nobodyさん:2007/06/10(日) 09:25:35 ID:???
Frontを継承するとか勘弁してくれ
313nobodyさん:2007/06/10(日) 15:01:03 ID:T42YmVZb
>>312
ttp://framework.zend.com/manual/ja/zend.controller.front.html#zend.controller.front.subclassing
マニュアルにもあるし別に良いんじゃない?

>>311
マジですか?
>>310の二つのメソッドがたりないって言われない?
私はindex.phpで

$view = new Zend_View_Smarty;
$viewRenderer = Zend_Controller_Action_HelperBroker::getExistingHelper('viewRenderer');
$viewRenderer->setView($view);

したらそういうエラー出た。
Frontで直接つっこむと挙動違うのかな。
314nobodyさん:2007/06/10(日) 17:08:48 ID:???
>>313
もちろん>>310の二つのメソッド追加して、
ついでにInterfaceじゃなくてAbstract使うようにして、
_runメソッド追加。

後ろ2行はいらないと思うけど、Interface使った方は試してないから動くかわかんない。

あとsetView()するタイミングがよくわかんなかったから、
コンストラクタでViewRendererのインスタンス生成するときに
Zend_View_Smartyのインスタンスを渡すようにした。
315nobodyさん:2007/06/10(日) 18:12:55 ID:???
Smartyを使うには・・・みたいのぐぐったらあったぞ
俺は興味なかったからスルーしたけど
316nobodyさん:2007/06/10(日) 18:21:59 ID:???
流れブッタ切ってすみません。
views/index/index.phtmlから他のディレクトリの
view/parts/header.phtmlを読みこみたい場合はどうすればいいんでしょうか。
317nobodyさん:2007/06/10(日) 20:59:59 ID:???
読み込めばいいんじゃね?
318nobodyさん:2007/06/10(日) 21:12:26 ID:???
$this->render('parts/header.php');
と書くとエラーが出るんです。。
319nobodyさん:2007/06/11(月) 01:07:24 ID:???
$this->view->render();
じゃね?
アクションコントローラーから呼ぶ場合な
320nobodyさん:2007/06/11(月) 07:08:36 ID:???
もしかしてアクションコントローラーから呼ぶの普通ですか?
321nobodyさん:2007/06/11(月) 15:49:18 ID:???
Zend_Filter_Input って日本語マニュアルがないね
322nobodyさん:2007/06/13(水) 00:43:28 ID:???
Layoutぐらい標準で付けたらいいのに、あとPagerも
323nobodyさん:2007/06/14(木) 08:09:50 ID:???
>>322
代わりに何つかってるの?
324nobodyさん:2007/06/14(木) 22:56:10 ID:K2VOGFDY
公式のチュウトリアルないん?
325nobodyさん:2007/06/15(金) 00:08:18 ID:TFCVM0JE
ぐぐれかす
326nobodyさん:2007/06/15(金) 01:58:24 ID:???
ちゅうとりあるで最新verに対応してるとこねーよな
0.6くらいのやつばっかり
327nobodyさん:2007/06/15(金) 02:20:22 ID:???
ひっぱりすぎて飽きられました(´・(ェ)・`)
328nobodyさん:2007/06/16(土) 00:19:07 ID:???
CodeIgniter ユーザガイド 日本語版 Version 1.5.3
http://userguide.cilab.info/toc.html

CIはいいッスよ!一度使ってみてね☆
CIにZend Frameworkの一部を利用できるのかな?^^
329nobodyさん:2007/06/16(土) 00:51:05 ID:???
CIいいけど、そこまで宣伝されると気持ち悪いからやめてくれ。CI好きならなおさら。
330nobodyさん:2007/06/16(土) 01:07:59 ID:???
なんか悪意を感じるよね。
331328:2007/06/16(土) 09:01:31 ID:???
>>300
えっ?そう?orz
332nobodyさん:2007/06/16(土) 09:47:38 ID:???
釣られませんよw
333nobodyさん:2007/06/16(土) 12:11:28 ID:???
軽くぐぐったらCIでZendFramework使うチュートリアルとかあるじゃん
334nobodyさん:2007/06/16(土) 15:32:02 ID:???
>>333
どれ?
335nobodyさん:2007/06/16(土) 18:41:56 ID:???
ググレ無いカス(w
336nobodyさん:2007/06/17(日) 00:04:19 ID:???
ZF0.2で2つほどサイト作って後悔したけど
RCでたっていうし懲りずにまた使おうと思ってる
さしあたりチュートリアルというかモデルとなる
ファイルソース詰め合わせが欲しいんだけどないかな?
なんか公式のWiki(http://framework.zend.com/wiki/x/q)行けないし・・
337nobodyさん:2007/06/17(日) 00:13:38 ID:???
>>336
そこ夜は重い
338nobodyさん:2007/06/17(日) 00:48:00 ID:???
そうなのか、、
とりあえず↓で行ってみるサンクス
http://akrabat.com/wp-content/uploads/getting-started-with-the-zend-framework_134.pdf
339nobodyさん:2007/06/19(火) 11:27:53 ID:???
viewのformRadioでid属性が付けれないんですが…
340nobodyさん:2007/06/19(火) 13:40:12 ID:ZBm9eEIZ
viewへるぱ使う奴がいるのか・・・
341nobodyさん:2007/06/19(火) 13:45:59 ID:???
>>339
自分でヘルパ作ったら?
342nobodyさん:2007/06/19(火) 16:11:59 ID:???
>>340
なに使ってる?

>>341
やってみます
343nobodyさん:2007/06/19(火) 16:20:14 ID:ZBm9eEIZ
>>342
ヘルパは使わない。
344nobodyさん:2007/06/19(火) 17:47:51 ID:???
Zend_Viewはほんと酷い
345nobodyさん:2007/06/20(水) 01:06:52 ID:???
1.0になってもLayout付けないのかな・・
plug-inでやるしかないのか
346nobodyさん:2007/06/20(水) 02:35:36 ID:???
zendはまだつかうきにならないな
347nobodyさん:2007/06/24(日) 03:44:48 ID:???
symfonyで流れを組んでzendで関数つくるのがいいと思われ
348nobodyさん:2007/06/25(月) 18:35:10 ID:tR2eId4K
RC3きたあげ
349nobodyさん:2007/06/26(火) 04:26:20 ID:vrMRT0CA
/コントローラ名/アクション名/パラメータ/・・・って事は、
http://example.com/param/
ってできないの?
350nobodyさん:2007/06/26(火) 05:26:19 ID:ByBI6HRp
http://example.com/?controller=hoge&action=hogehoge

っていうのをやりたいんだが
どうしたらいいのん?
351nobodyさん:2007/06/26(火) 11:50:07 ID:???
>>349
Routerのルーティング設定でどうとでもできる
マニュアル嫁

>>350
こっちは自前でRouter作るしかなさそう
てかなんで今更query_stringからController/Actionを決める古いやり方を、、
352nobodyさん:2007/06/26(火) 19:19:12 ID:PKXMvhY5
フレームワークってライブラリと何が違うの?
353nobodyさん:2007/06/26(火) 20:43:25 ID:???
ライブラリはおまえが呼ぶように書く
フレームワークは呼ばれるところに書く
354nobodyさん:2007/06/26(火) 20:58:09 ID:+m1wrnTY
最近では、MVCを提供してるかどうかだな。
355nobodyさん:2007/06/26(火) 21:04:54 ID:???
>>353
うわ〜、それ頂き!
人に教える時なんて言ったら解りやすいのか悩んでた!
MVCとか言うと、やる気なくすし。
356nobodyさん:2007/06/26(火) 21:38:16 ID:???
>>349-351
まったくの門外漢だが、Zend Framework てそういうのもセットになってるの?
.htaccess の mod_rewrite ?
railsの影響かと思ってしまうが、そういうのが新しいの?
トレンドに詳しい人の解説があれば嬉しいです。

ScriptAlias を使ったPATH_INFOでの引数渡しは相当初期からあったと思うが、
レンタルサーバで不可能な方法だしなによりCGI対象なため?PHPユーザレベルに
は全く広まってない。使いたかったけど。

>>350 は汎用性がある唯一のやり方だとは思う。
357nobodyさん:2007/06/26(火) 22:38:30 ID:???
>>356
PHPユーザレベルには全く広まってない、ってのはさすがに違和感
主要PHPFWはだいぶ前からmod_rewriteベースだし
レンタルサーバも今は大概htaccessでmod_rewrite使えるよ

そういうのもセットというかmod_rewrite使えること前提で
Controller(Router)が構成されてる、これはZFに限らず、
symfony/cake/codeigniterとかもそのはず

むしろ>>350形式のようなquery stringからルーティングする方式は
最近のFWではもうほとんどサポートされてないような
mojaviとかmojaviベースな国内FWとかくらい?
358nobodyさん:2007/06/27(水) 00:06:33 ID:???
レスありがとう。
> 広まってない
は、ScriptAlias の方ね。それも実際はそうでも無いのかも知れないけど。

今は、mod_rewriteさまさまな状況なのかなぁというのは少し前から感じてたので、
本当にそういう流れなのかなという確認です。
確かに便利だけど、少し前は使えるところもあんまり無かったし、重くなるとか
いろいろ言われてたし。
これも (railsなど含む、PHPにかぎらない) フレームワークの力かな。

> むしろ>>350形式のようなquery stringからルーティングする方式は
> 最近のFWではもうほとんどサポートされてないような
前に触ったときは、CakePHPはサポートしてたよ。mod_rewrite なくても大丈夫って。
359nobodyさん:2007/06/27(水) 01:23:41 ID:???
Zend_View Enhancedってよさげ
360350:2007/06/27(水) 23:08:11 ID:I/EFS+XL
>>351
http://2ch.net/login/

でログインのフォームを表示するページの場合
controller=login
action=index
ってするとして、、、

<form action="/login/" method="post">
みたいなフォームでデータを送信したときに
<input type="hidden" name="action" value="login">
で、

controller=login
action=login
みたいにしたいな〜と思ったんです。
361nobodyさん:2007/06/28(木) 00:50:42 ID:???
>>360
URIパスマッピング=ルーティングに、POSTの話し混在させるのがよくワカランけど
やりたいならルータコントローラーを拡張すればいいんじゃないの。出来るでしょ。
でも普通はパラメタで処理するよ、そういうのは。
362nobodyさん:2007/06/28(木) 01:06:18 ID:???
>>358
CodeIgniterもサポートしてるけど、結局使わんでしょ。
PATH_INFOやREQUEST_URIだけ取得できれば,mod_rewriteなしでも
http://example.com/index.php/foo/bar/
形式でのルーティングできるもん。
363nobodyさん:2007/06/28(木) 07:52:48 ID:???
>>362
http://example.com/index.php/foo/bar/
この 〜〜.phpがいやーんな時に使いたいのが ScriptAlias かな?
mod_php で使えるのかは知らないが。

でもこれだと、画像やCSS,JavaScriptなど外部ファイルのURL指定は /img/hoge.gif みたいな絶対指定にする必要がある?
それは mod_rewrite つかう場合でも同じなのかな。みんなどうやってるんだろ。
364nobodyさん:2007/06/28(木) 12:12:31 ID:???
>この 〜〜.phpがいやーんな時に使いたいのが ScriptAlias かな?
まあそういうことかもしれんけど、 ScriptAlias 指定出来るサーバなんだったら
普通mod_rewrite使えるだろ。

>絶対指定
なんで?
365nobodyさん:2007/06/28(木) 16:38:15 ID:???
>>350
indexでhiddenのactionの値見て振り分けるとか。
366nobodyさん:2007/06/29(金) 00:43:19 ID:???
http://japan.zdnet.com/oss/story/0,3800075264,20351809,00.htm

ゼンドなど、ウェブ開発手法「OPTIMA for Zend Framework」を発表

有料?こんなので金取れるのか…?
367nobodyさん:2007/06/29(金) 02:38:52 ID:???
有料ならいらね( ゚д゚)、ペッ
368nobodyさん:2007/06/29(金) 20:46:25 ID:???
どのクラスがzendの魅力なんだ。
369nobodyさん:2007/06/29(金) 22:13:28 ID:u0ng+pVR
国分「もうすぐ1.0だけどどう思った?」
http://framework.zend.com/
370nobodyさん:2007/06/29(金) 22:22:03 ID:2SpZ3JSR
まだまだだろ?
371nobodyさん:2007/06/29(金) 22:35:00 ID:???
ZFって純粋な利便性のためというより
ゼンドが金儲けするために作ってるっぽくね?
なんかうさんくせー
372nobodyさん:2007/06/29(金) 22:36:46 ID:2SpZ3JSR
金儲けできるほどのクオリティのがタダで使えるならおいしいじゃん
373nobodyさん:2007/06/29(金) 22:49:12 ID:???
いやいや
有料アタッチメントを売り込むための撒き餌って感じ
で、実際はたいしたことないの。
374nobodyさん:2007/06/29(金) 23:44:06 ID:???
ありがたく使える部分を使わせてもらおう。
フレームワークじゃなくライブラリなんだから。
375nobodyさん:2007/06/29(金) 23:46:27 ID:???
セミナーみたいので馬鹿の金持ちから毟るんだろ
376nobodyさん:2007/06/30(土) 23:46:05 ID:???
>>205-209あたりで話題になってるけど、そのままだと、ZFって日本語のメールダメですよね?
>>210あたりはオンボロ携帯を全く視野に入れてないだけ?
377nobodyさん:2007/06/30(土) 23:59:58 ID:NoywJpgr
>>376
日本語桶だよ
378nobodyさん:2007/07/01(日) 01:23:26 ID:mg2cJt1/
>>346
まだそれほど良くソースみてないけど
本文やsubjectはquoted-printableでエンコードされるみたいじゃないですか?

しかも、対応してないので改造しないとBASE64にすることができない
ということです。

ほとんどの環境がquoted-printableに対応しているとはいえウィルコムの一部の機種や
古いリレーサーバーには対応してない物があると聞きました。

リレーサーバーはよく知りませんが、少なくともうちにあるウィルコムは文字化けしました。
そういう意味で、対応してないということです。
379nobodyさん:2007/07/01(日) 16:06:36 ID:f6e/Y+9u
1.0.0 ktkr!!
380nobodyさん:2007/07/01(日) 16:30:22 ID:???
1.0になったところで・・・
381nobodyさん:2007/07/01(日) 17:13:31 ID:???
         ,. -‐'''''""¨¨¨ヽ
         (.___,,,... -ァァフ|          あ…ありのまま 今 起こった事を話すぜ!
          |i i|    }! }} //|
         |l、{   j} /,,ィ//|       『ZFは1.0になったと
        i|:!ヾ、_ノ/ u {:}//ヘ        思ったらいつのまにか終了していた』
        |リ u' }  ,ノ _,!V,ハ |
       /´fト、_{ル{,ィ'eラ , タ人        な… 何を言ってるのか わからねーと思うが
     /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ        おれも何をされたのかわからなかった…
    ,゙  / )ヽ iLレ  u' | | ヾlトハ〉
     |/_/  ハ !ニ⊇ '/:}  V:::::ヽ        頭がどうにかなりそうだった…
    // 二二二7'T'' /u' __ /:::::::/`ヽ
   /'´r -―一ァ‐゙T´ '"´ /::::/-‐  \    一人開発とか時代後れだとか
   / //   广¨´  /'   /:::::/´ ̄`ヽ ⌒ヽ    そんなチャチなもんじゃあ 断じてねえ
  ノ ' /  ノ:::::`ー-、___/::::://       ヽ  }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::...       イ  もっと恐ろしいものの片鱗を味わったぜ…
382nobodyさん:2007/07/01(日) 18:02:38 ID:???
Zend_Validate_AlnumってUTF-8の日本語だとtrueになっちゃうんですけど
これも自分で調整しないと駄目なんでしょうかね・・・
383nobodyさん:2007/07/01(日) 20:04:46 ID:eEsmHWC5
Zend_Authの使い方が解らないんですけど、Zend_Auth_Adapter_Interfaceをimplementsしたクラスは何処へ置けばいいのでしょうか。
384nobodyさん:2007/07/01(日) 20:55:10 ID:???
385nobodyさん:2007/07/01(日) 21:44:59 ID:???
ユーザー登録して、ログインしたら
ユーザー専用ページが表示される
っていうだけの簡単なサンプルとか公開してほしいな
386nobodyさん:2007/07/01(日) 21:59:13 ID:KBDlHz5H
>>385
そんなものも作れないおまえって・・・
387nobodyさん:2007/07/01(日) 22:24:54 ID:???
俺も作れませんが・・・w
388383:2007/07/01(日) 22:27:03 ID:???
すいません。
せっかく教えて頂いたんですが、英語でよく解りません。。
翻訳サイト等いろいろ駆使してみたんですが。。
ヒントだけでも頂けませんでしょうか。。
上記のサイトがそうだと言われたらぐぅの根もでませんが。。
389nobodyさん:2007/07/01(日) 22:41:12 ID:???
>>386
AuthとかAclとかの使い方がいまいちわからないんです><
390nobodyさん:2007/07/01(日) 23:50:08 ID:???
ていうか日本語のマニュアルあるんだから
それをまずくまなく読めよ
それでわからなかったらソース読めよ
それができない奴はどんな凄いFW使ったって結局詰まるよ
ZFは特にモジュール毎に分離されてて
一番ソースも読みやすいのに
391nobodyさん:2007/07/02(月) 02:43:25 ID:???
結局validateとかプラグインとか自前で作りまくりで
全然フレームワークになってねー
392nobodyさん:2007/07/02(月) 03:57:18 ID:???
違うFW使って、zendはライブラリとして使うのがお勧め。
CakePHPかCodeIgnaiterあたりがいい。そのままzendフォルダぶち込める
393nobodyさん:2007/07/02(月) 04:03:25 ID:???
まじで一人で作ってるとか思えないクオリティー
それがZF
394378:2007/07/02(月) 08:35:27 ID:BQ6KugYn
setBodyするときに3番目の引数でencoding指定できるようになってる。

よかったよかった
395nobodyさん:2007/07/02(月) 08:48:50 ID:???
というかほんとに一人でつくってるんだよね
396nobodyさん:2007/07/02(月) 21:09:51 ID:???
>>391
FWってその程度でいいんだよ。
流れだけ使えば。
397nobodyさん:2007/07/03(火) 17:14:17 ID:EdzluZTx
 Zend Frameworkは,スクリプト言語PHPで記述したアプリケーションを,Webアプリケーション化するオープンソースのフレームワーク。
開発作業には,2005年10月の発表からこれまでに230人の個人および企業系開発者が参加したという。
398nobodyさん:2007/07/03(火) 17:26:33 ID:???
500日として、一人が二日に一日仕事すると延べ230人になるな。
399nobodyさん:2007/07/03(火) 19:31:13 ID:???
なにその数字のマジックw
400nobodyさん:2007/07/03(火) 21:06:01 ID:???
>>398
なるほど、その開発者が500日の内にフリーになったり再就職したりしてるわけだw
401nobodyさん:2007/07/03(火) 23:07:48 ID:???
http://framework.zend.com/manual/status
日本の翻訳率すごいなw
402nobodyさん:2007/07/03(火) 23:22:07 ID:???
takagi神はもっと評価されるべき
本家やPHPUnitのドキュメントとかも翻訳してる人だよな?
403nobodyさん:2007/07/04(水) 01:11:18 ID:y0LJklWR
aclとauthを使った認証システムを考えてて
マニュアル読んでも、どうも、自信がない・・・

例えば、ユーザーIDとパスがDBにしまってあって
MyPageみたいに、ページによって、このユーザーは編集できる、とか出来ないとか、分けたいとき、

まず最初のリクエストで、セッションにログインしてるユーザー情報がなければ
Authを使って、DBを調べ、パスとIDがあってたら、セッションに保存する。

で、同じリクエスト内で、そのページの編集が出来るユーザーとページのIDを(DBに問い合わせて)
ACLに登録、さらにセッションに登録されている認証ユーザーもACLに登録し

$acl->isAllowed('セッションのユーザーID', 'ページのID', 'edit')

とやって、falseならアボーン。

だいたいこんな感じでしょうか?
404383:2007/07/04(水) 02:35:22 ID:???
>>390
遅くなりましたがソースざっとですが読んだら解りました。
バカな質問してたと理解しました。
すみません。。
そしてありがとうございました!
405nobodyさん:2007/07/05(木) 01:23:08 ID:+SLXoMdw
Zend_Service_YouTubeキボンヌ
406nobodyさん:2007/07/05(木) 01:29:30 ID:c737okI5
てか2ちゃんって何でこんなに人減ったんだ???
芸スポも、n+もえらい減ってたぞ。。。
407430:2007/07/05(木) 04:00:54 ID:qisI43AQ
aclがどうも違うみたいですね・・・

これってRoleに登録されてないユーザーをisAllowedすると
例外投げるじゃないですか?で、認証かけたユーザーもaddRoleしようとすると、
先にDBに問い合わせて登録したユーザーと被ったときに例外投げる
(つまり認証が成功するユーザーからの問い合わせの時に、そのRoleは既にいますと)。

と言うことはDBに登録されてるユーザー全員をRoleに登録して
その全ページをリソースに登録して、しかも権利も登録して使う物なのですか?

まさか、例外キャッチして・・・ってことはないですよね。

使いどころが良くわかりません・・・・
まあ、Authは便利なのでそれは使って、ユーザーが権利があるかどうかは
自分で実装できるので問題ないのですが
便利なのに、勘違いしていたらもったいないかな、とおもって。

ちなみに404とは別人です
408nobodyさん:2007/07/05(木) 06:15:03 ID:???
>>406
名古屋人?
409nobodyさん:2007/07/05(木) 09:54:17 ID:???
>>405
PEARじゃだめなの?
410nobodyさん:2007/07/05(木) 10:00:02 ID:???
>>407
なんかRoleの理解がおかしいような

管理画面にログインできる人が複数いるとして
一番偉い人だけが触れる画面とそうでない画面がある場合に
総合管理者(=super_admin)と一般管理者(=admin)みたいにRoleを分ける、
DBにはそれぞれの管理者ユーザはどのRoleなのか入ってる、
その場合実際に必要なRoleはadminとsuper_adminだけでしょ
411407:2007/07/07(土) 03:17:23 ID:???
案ずるより生むがやすしですね
作ってみたら、結構思い通りに出来ました

お騒がせしてすんません。

acl便利ってか、いいですね
412407:2007/07/07(土) 03:36:58 ID:???
>>410
レスありがとうございます。
専ブラがうまく読み込めなくて、レス着いてないかと思って411のレスしちゃいました。

おっしゃるとおり、アクセスレベル的な要素(adminとかstaff、userなど)を、ユーザーに登録して
非常に楽に、色々なレベルでのアクセス制御を実現できました。

ただ、407を書いたときに疑問に思ったとおり、認証をかけたユーザーがすでにaddされていると
例外投げるので、事前に hasRoll(でしたっけ?)で、そのユーザーがいるか確かめてから
addすれば何の問題もなかったわけでして・・・

まあ、ちょっと複雑(ユーザーによって権限が違う)認証システム作るのがはじめてだったので
勘弁してくださいOTZ
413nobodyさん:2007/07/07(土) 04:06:45 ID:???
filter_input使ったほうがソースが長くなって手間が増えるんだけどw
414nobodyさん:2007/07/07(土) 20:53:32 ID:NqO9AG9o
(゚ε゚)キニシナイ!!
415nobodyさん:2007/07/08(日) 09:25:58 ID:???
http://akrabat.com/zend-framework-tutorial/

チュートリアルを探し回って、英語だけど1.0にも対応してて
なんとなくよさげだったのでこれやってみる事にした
416nobodyさん:2007/07/08(日) 12:24:03 ID:???
pdfかぁ
417nobodyさん:2007/07/08(日) 13:30:16 ID:???
なんでこの平成の世にpdfなんて使うんだ・・・
418nobodyさん:2007/07/08(日) 19:40:07 ID:???
ZendFrameworkっていま覚えても仕様がどんどん変更されそうで面倒だな。
419nobodyさん:2007/07/08(日) 19:49:45 ID:???
さすがにどんどん変更ってことはないだろう。
微妙に変更はありそうだけど。
420nobodyさん:2007/07/08(日) 20:46:43 ID:???
1.0にしちゃったからさすがにここからは
APIや構成とかも後方互換性取りつつ直していくだろう
1.0にした以上実際に使う人も多くなるから
これ以降もコロコロ仕様が変わるようだとMLが苦情で溢れるよ
421nobodyさん:2007/07/08(日) 20:49:19 ID:???
互換性欲しい人はMaintenance Branch使えばOK
422nobodyさん:2007/07/09(月) 02:25:12 ID:???
PagerはPEARの使うの?
423nobodyさん:2007/07/09(月) 23:54:55 ID:???
restのリクエストでZFが勝手に変なパラメータつけるせいで
youtubeAPIのレスポンス取得が失敗する
424nobodyさん:2007/07/10(火) 00:02:00 ID:???
チラシの裏に書いてろ
425nobodyさん:2007/07/10(火) 17:13:44 ID:???
>>415
のpdfはすごくよかったよ。チュートリアルとして。
現在、ZendFrameworkを利用した出会い系サイトのプロジェクトも
終了まじかです。
426nobodyさん:2007/07/10(火) 19:50:02 ID:???
数年前に出会い系サイト作ったことあるけど
当時の様子見てもこれ何年も持たないなって雰囲気だったが
今でも新規案件とかあるんだねぇ……
427nobodyさん:2007/07/12(木) 21:11:18 ID:???
ミクシィっていうでかい出会い系があるじゃない
428nobodyさん:2007/07/14(土) 14:30:51 ID:???
キャッシュ作成のタイミングってデータ更新時じゃなくて、
アクセス時にやるの?
429nobodyさん:2007/07/14(土) 15:33:19 ID:iLG/qrGc
キャッシュ作成ってかクリアだろ?

両方じゃね?
430nobodyさん:2007/07/14(土) 15:33:28 ID:???
どっちでもいいんじゃね
431nobodyさん:2007/07/15(日) 00:24:13 ID:???
Zend_Cacheを使って作成したキャッシュの作成日時って取得できる?
432nobodyさん:2007/07/15(日) 08:55:28 ID:S10qjWJs
433nobodyさん:2007/07/15(日) 10:36:56 ID:???
>>432
レスありがとう。
ないとなると、save()するときに日時を取得しとくとか、
Zend_Log関係で工夫するくらいしかないか。
434nobodyさん:2007/07/15(日) 22:33:46 ID:???
ZFを使ったブログやCMSやSNSってまだないのかな
プロジェクト等あったら教えて
435nobodyさん:2007/07/15(日) 23:06:51 ID:???
>>434
激しく希望。
PHP4を引きずり続けるいやーな流れをぶった切るようなキラーアプリが欲しい。
MovableTypeやRuby on Railsの様に、レンサバの環境から変えてしまうような。

・・・ZFにそこまでの力があるかはおいておいて、とりあえずPHP5限定のすごい
アプリをつくってエロイ人
436nobodyさん:2007/07/15(日) 23:09:19 ID:???
>>434-435
>>133

これは?
437nobodyさん:2007/07/15(日) 23:09:49 ID:???
軽く調べたところだとZFでCMSを作っている人はいるようだ
438nobodyさん:2007/07/15(日) 23:49:43 ID:S10qjWJs
まぁ、そういうの欲しいよね。
そっから勉強したいし
439435:2007/07/15(日) 23:52:28 ID:???
>>436
thx
ざっくり見てみたが、ZFのサンプルというか練習土台としていい感じ?
間違ってもキラーアプリにはなりそうにないが、読みやすいからこのままいじりたく
なるソースの様な気がする。
こういうのが、PHP4との互換性をごにょごにょしてて読めねーよてCMSとかを
押し流してくれたら・・・。

ただ、気になったのは、やっぱり
private static function _stripslashes(){〜〜}
を自分で定義とか
$hoge = isset($_POST['hoge']) ? $_POST['hoge']: '';
なのね。
Notice出まくるソースよりはいいが、この辺をフレームワークに取り込むとか
言う動きはないのかな?
440nobodyさん:2007/07/16(月) 00:32:20 ID:???
>>439
リクエストパラメータの取得なら、Zend_Controller_Request_Httpとかじゃね?
http://framework.zend.com/manual/ja/zend.controller.request.html

と思ってソースのぞいてみたけど、stripslashesみあたらない。
441nobodyさん:2007/07/16(月) 00:45:39 ID:???
結局DBのクラスが未完成だったからZend_Db使ってますってくらいだなー俺は。
442nobodyさん:2007/07/16(月) 01:31:16 ID:???
>>133の記事はZFのバージョンがかなり古い
リクエストもスーパーグローバルから取ってるし相当古い
(Requestすらcoreに入ってない時だったんだろうか)

てかチュートリアルやサンプルのアプリ待ってたんじゃ
FWなんざいつまで経っても使えないぜ
443nobodyさん:2007/07/16(月) 01:44:09 ID:???
つかヘルプ割と充実してる気がするんだけど俺だけ?
444nobodyさん:2007/07/16(月) 01:52:57 ID:???
>>442
でも、最新のソース(1.0.0)でもstripslashesは見あたらない。
.htaccess使う前提だから、そこに一行足せばいいと言えばそれまでかもだけど。
445nobodyさん:2007/07/16(月) 14:43:58 ID:???
開発の早さだったらCakePHPの方が上かなぁ
メンテだったらZFのような気がするけど
446nobodyさん:2007/07/16(月) 15:46:04 ID:???
ZFが今のところsymfonyやcakeに比べて
素早く書ける仕組みだったり周辺ツールだったりが
色々足りてないのは異存ないが、
個人的にはcakeはコードが醜い、使う気にならない
symfonyは今ある中では一番いいとは思うけど
これもちょっと好みに合わない、
propelはとてもじゃないけど好きになれない
447nobodyさん:2007/07/16(月) 17:25:11 ID:???
名古屋|A`)まーた揺れた
448nobodyさん:2007/07/16(月) 20:48:10 ID:???
cakeならCIのがいいな
449nobodyさん:2007/07/17(火) 08:13:56 ID:???
cakeってマジ糞だよね
なんで流行ってるんかわからん
使うだけのやつにはいいのかね
450nobodyさん:2007/07/17(火) 13:09:16 ID:???
どこが糞か説明してもらわんと納得もできない
451nobodyさん:2007/07/17(火) 14:10:19 ID:???
449じゃないけど、やっぱ、ソース見づらいってのがあるんじゃないの。トレースするの疲れる。
ZFとか見やすいしな。


452nobodyさん:2007/07/17(火) 15:01:52 ID:???
別にいいっちゃいいんだけどさ、

ZF: 基本PEARスタイル(スペース4)
symfony: スペース2、ブレスで一行
cake: タブ
CI: タブ、ブレスで一行

主要なFWで全部コーディングスタイルが違うってどうなのよっていう
比較しようとリーディングするのにも激萎えだよもうw

どれがいいとかって話になるとまあ
宗教じみたものになるからアレだけど
とりあえず揃えてくれよって思う
(個人的にはPEARスタイル希望)
まあそういう意味でもZFはやっぱソース追いやすいのはある
453nobodyさん:2007/07/17(火) 15:20:21 ID:???
>>452
>cake: タブ
これがなあ。こっち側でタブ表示修正すればいいといえばいいんだけど
    if (
                            isset(
) && ...............

      )
こんなの最初に見た時は、何事かと思ったもんだ。
454nobodyさん:2007/07/17(火) 15:37:12 ID:???
タブって結構嫌われてるのか?
環境によって見え方が違うっていうのは分かってるんだけど、
タブ=スペース4コが大多数だと思っていた。
考え方を改める事にするよ。
って言ってもおおっぴらに公開するようなモノもないけどさ。
455453:2007/07/17(火) 15:42:42 ID:???
いやまあ、452氏が言ってるようにタブなのかスペース(その数もあれこれ)なのかっていうのは
結局は神学論争の域だから論じても仕方がないことがあるんだけど、cakeのアレはさすがに・・っていう印象。
456nobodyさん:2007/07/18(水) 00:15:32 ID:???
formatterで一気にソースを書き換えすれば解決?
他にも問題あり? > cake
457nobodyさん:2007/07/21(土) 00:26:22 ID:???
そのユーザー名は既に使用さています
っていうのはバリデータでやるのがいいの?ちがう?
458nobodyさん:2007/07/21(土) 00:42:33 ID:???
>>456
実際にFW使うとなると拡張したりする作業は絶対に出てきて、
その時にFWのソースを読みつつ拡張していく事になるけど
それがcakeのソースある程度読んで
別に構わないと思うなら使ってもいいんじゃない
php4に対応する必要があるとかの理由がないなら
基本どれ使うかは好みっちゃ好みだし
459nobodyさん:2007/07/21(土) 01:40:42 ID:???
>>458
結局ソース読まなきゃいけないことは確かにあるなぁ
だからどういう動きをしているのかとか利用者が多くて情報の多いFWの方がいいよね
460nobodyさん:2007/07/21(土) 02:39:45 ID:???
うん、全部読まなくてもいいけど
何か必要に迫られた時に
深追いする気になれるコードかどうかってのは
見ておいた方がいいと言うか、
まあ結局FW使ってて深追いしない事なんて無いからw、
それだったら構成がすっきりしていて
自分が綺麗だと思えるコードの方がいいから
461nobodyさん:2007/07/22(日) 20:27:44 ID:???
1.0以前の情報はいっぱいあるのに
1.0の情報がほとんど見つからない
おまらどこみてんだよ
462nobodyさん:2007/07/22(日) 21:12:33 ID:???
もう飽きたんや
463nobodyさん:2007/07/22(日) 21:23:07 ID:???
ほんまかいな
464nobodyさん:2007/07/22(日) 21:28:08 ID:???
完成するまでが楽しかってん。
465nobodyさん:2007/07/22(日) 21:34:40 ID:???
悔しいっ
遊びだったのね
466nobodyさん:2007/07/22(日) 21:56:14 ID:dU3L4Ryu
Smartyをもっとスマートに使いたい。
キャッシュの判別自動化できないかな・・・
467nobodyさん:2007/07/22(日) 22:06:04 ID:???
controller周りはほとんど分かってきたから
filter_inputとaclあたりの情報をくださいお願いしま
468nobodyさん:2007/07/22(日) 22:15:13 ID:???
1.1でレイアウト付くから作り直すの面倒なんでまだ使ってない
469nobodyさん:2007/07/22(日) 22:18:17 ID:???
まーーーーた仕様変更すんのか・・・
俺も安定したら本気だす
470nobodyさん:2007/07/23(月) 22:39:41 ID:???
>>468
http://framework.zend.com/wiki/display/ZFPROP/Zend_Layout
これ?ぐらいしか見つからなかった。

ほんとに入んのかな。なんで Zend_Controller、Zend_View から独立してんだ。
471nobodyさん:2007/07/26(木) 01:24:41 ID:???
http://framework.zend.com/wiki/pages/viewpage.action?pageId=33071
こっちが入ると思う、いつの間にかReviewになってるね。
svnからコードも落とせるよ
472名無しさん@そうだ選挙に行こう:2007/07/29(日) 17:35:22 ID:???
入力フォーム → 確認画面 → 完了画面 をやるのに、
Zend_Session でフォームの値を持ちまわして
echo $this->formCheckbox('hoge', $session->hoge);
ってやると失敗する。
「確認画面に行って入力フォームに戻る」を繰り返すと
<input type="hidden" name="hoge" value="0" />
<input type="checkbox" name="hoge" id="hoge" value="0" />
って感じで、 hidden も checkbox も value が 0 になっちゃう。
473名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:56:36 ID:???
そんなところにセッションなんて使わなきゃいいじゃん
474名無しさん@そうだ選挙に行こう:2007/07/29(日) 20:04:39 ID:???
ZFでセッションなんて使えるわけないじゃん
475472:2007/07/29(日) 20:08:14 ID:???
>>473
確認画面で受け取った値をそのままhiddenに入れるのは危険だよ

自己解決しますた。
echo $this->formCheckbox('hoge', $session->hoge === '1' ? '1' : null);
こんなかんじで…
なんだかなー
476nobodyさん:2007/07/29(日) 21:21:12 ID:???
>>133のチュートリアルやろうかと思ったら
http://www.alexatnet.com/
がDrupalに変わっちゃっててブログツールの場所が見つからないんだけど
公開終了しちゃってるの?
477nobodyさん:2007/07/30(月) 18:46:09 ID:0pTg8goE
Zend_Sessionで
use_only_cookies = on
にしておけって書いてあるけど、
携帯対応するとoffにせざるを得ないよね?
478nobodyさん:2007/07/30(月) 21:47:24 ID:???
そんときゃ自前でセッション管理のコードを書いた方が良い気がする
479nobodyさん:2007/07/31(火) 13:59:05 ID:ti5DbwcI
>477
Zend_Session::setOptions(array(
'use_only_cookies'=>0,
'use_cookies'=>0,
'use_trans_sid'=>1,
'remember_me_seconds'=>3600,
'name'=>"psm",
));
これで動いてるけど、まずいのかな。

たしか
ZF_Configとあわせて、この設定をiniファイルで外側に出す方法もマニュアルに出てると思った
480479:2007/07/31(火) 14:02:44 ID:???
追記
たしかZF_Session内でini_set()してるから
.htaccessに書いてもうわがかれちゃう。
481nobodyさん:2007/07/31(火) 22:34:55 ID:???
セキュリティ的によろしくないって話でしょ?
30.4. グローバルセッションの管理に書いてあるヤツ
482nobodyさん:2007/07/31(火) 23:53:28 ID:qBa+C6/R
>>481
そうれはそうだけど>>477さんも言っている様に
日本の携帯特にDOCOMOはとてつもなく技術が遅れていて
そうするよりしかたがないんですよ。

商用サイトを作るときに携帯を無視とか、DOCOMOを無視するわけにはいかないので。

で、たとえばユーザー認証を作るのにセッションを使用しないわけにもゆかないので、
nameを変えるのはもちろん、有効時間を短く設定し、ユーザーエージェントや、固有ID(これも出ない携帯あり)
などをチェックし、外にリンクを張るようなところはIDが投下しないように気を配ったり
本当にめんどくさい!
IPである程度固定で切ればよかったんだけど、DOCOMOはリクエストのたびにIPが変わると来てるから・・・

ワンセグや着うたも良いけど、そういう基本的なところもうちょっと進歩させてもらいたいですな。
483nobodyさん:2007/08/01(水) 00:13:20 ID:???
話が噛み合ってない件
484nobodyさん:2007/08/01(水) 15:35:42 ID:???
横からスマソ

$validators = array
(
array('aaa', 'bbb') => 'Digits'
);
$input = new Zend_Filter_Input($filters, $validators, $data, $options);
みたいに、グループ化して検証することって出来ないの?
QuickFormではグループ化できたんだけどなぁ
485nobodyさん:2007/08/01(水) 17:13:42 ID:???
>>484 それなんてRuby?
PHPて(連想)配列のキーに数値・文字列以外使えたっけ?
486nobodyさん:2007/08/01(水) 17:33:45 ID:???
>>485
できないんで、何か良い方法がないかと模索してるんです。
viewで
echo $this->formText('hoge[aaa]');
echo $this->formText('hoge[bbb]');
ってしたけど、このやり方はどーなんだろ。
487nobodyさん:2007/08/05(日) 13:48:03 ID:jVkpvx0G
1.0.1きたでええええええええええええええ
何がかわったにゃあああああああああ?
488nobodyさん:2007/08/05(日) 16:41:52 ID:???
>>487
虫下し
489nobodyさん:2007/08/05(日) 21:52:58 ID:???
Zend_DbってLongblobのデータどうやって拾うんだ?
なんか0がかえってくるんだが…
490nobodyさん:2007/08/08(水) 00:43:29 ID:47b/4FiE
Zend_Session::start();
で応答がなくなる事があるんだけど同じ現象の人いない?
491nobodyさん:2007/08/08(水) 00:45:56 ID:???
zendでセッションなんて使えません
492nobodyさん:2007/08/08(水) 01:09:19 ID:???
ウチはそんなことないが(DB互換ハンドラと通常)、
応答無くなるって具体的にどんな感じよ?
493nobodyさん:2007/08/08(水) 10:19:59 ID:47b/4FiE
index.phpの頭で
Zend_Session::start();
としてるんだけど、ブラウザの応答がなくなる事があるからログを出してみたんです。

$logger->debug("test1");
Zend_Session::start();
$logger->debug("test2");

で通常は
test1
test2
と正常に出てるんだけどブラウザに応答がなくなったときは
test1
で止まってる。

全然具体的じゃなくてすいません。
いつ起きるか調査中なので続報あったら書きます。
494nobodyさん:2007/08/08(水) 19:04:48 ID:???
zendが新しいCMSみたいの出したね
どうなんだろあれ
495nobodyさん:2007/08/10(金) 01:57:46 ID:???
なんつーか、1.0なのに完成度低いな…
496nobodyさん:2007/08/11(土) 15:24:00 ID:efQm7yYJ
お前らバリデータとかFilter_Inputとか使ってる?
アレ使うとソースが無駄に長くならね?
どういう風にやってんの?
497nobodyさん:2007/08/11(土) 17:29:13 ID:???
つーか、普通はoutputにフィルターかけねぇ?
498nobodyさん:2007/08/11(土) 18:00:42 ID:???
入力に対してフィルターかけて出力しますよっていうことじゃないの
499nobodyさん:2007/08/11(土) 19:58:53 ID:DjfayvKV
キタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!!!!
http://mixi.from.tv/
500nobodyさん:2007/08/20(月) 15:40:21 ID:tSriHhKp
おまえらSmartyはどうしてる?
501nobodyさん:2007/08/20(月) 21:53:02 ID:???
Smartyとかいらないでしょ。Smarty使いたいならフレームワークとしては違うの使ってゼンドはライブラリとしてつかうべき
502nobodyさん:2007/08/20(月) 22:11:36 ID:tSriHhKp
ほら、キャッシュとかどうしてるのさ?
503nobodyさん:2007/08/20(月) 22:31:01 ID:???
APC
504nobodyさん:2007/08/20(月) 22:34:10 ID:???
>>501
なんで?
Smartyを使うかどうかが、フレームワークの選択肢に影響するの?
505nobodyさん:2007/08/20(月) 23:35:09 ID:???
たまに伸びたと思ったらまたsmartyの話か
お前らsmarty好きだよな
俺zend_view使ってるぞ
506nobodyさん:2007/08/21(火) 09:23:20 ID:???
お前らって一部だろ
507nobodyさん:2007/08/23(木) 13:47:37 ID:???
最近のフレームワークならview使えばsmarty必要になる機会も
少ないんじゃないの
508nobodyさん:2007/08/23(木) 22:17:03 ID:???
Smartyとかのテンプレートエンジン使わない場合の、テンプレート変数値のエスケープってどこでやるの?
509nobodyさん:2007/08/23(木) 23:17:55 ID:???
>>508
マニュアルではテンプレート内でやっているようだが。
510nobodyさん:2007/08/25(土) 21:35:06 ID:???
1.1まだぁ?
早くLayout付けてよ
511nobodyさん:2007/08/25(土) 21:44:21 ID:???
validate_arrayってのを早くしてほしい
512nobodyさん:2007/08/28(火) 16:04:26 ID:XU/nJc53
英語できるやつ
次のバージョンアップいつごろとか言ってたりしないか教えてくれよ〜
513nobodyさん:2007/08/28(火) 16:43:24 ID:???
たった一人の開発者が退社した
続き作ってくれる人募集中だって
514nobodyさん:2007/08/28(火) 18:42:35 ID:XU/nJc53
>>513
またそれかw
515nobodyさん:2007/08/28(火) 21:23:50 ID:???
>>514
ZendFramework使ってんの?
516nobodyさん:2007/08/28(火) 21:50:07 ID:???
>>515
使うつもりなの
517nobodyさん:2007/08/28(火) 22:36:30 ID:???
英語出来ないけど九月の上旬って言ってたような気がする。
ほんとに出るかは知らんけど
518nobodyさん:2007/08/29(水) 17:13:42 ID:???
include_pathはlibraryを指定でいいの?
519nobodyさん:2007/09/02(日) 01:10:09 ID:???
>>519なら明日の朝1.1がリリース
520nobodyさん:2007/09/02(日) 16:07:26 ID:???
 >>519
 メモ?
521nobodyさん:2007/09/07(金) 01:00:46 ID:???
http://www.magentocommerce.com/

お前らこのE-コマースシステムよさげじゃない
ZendFrameworkで出来てるらしいけど
522nobodyさん:2007/09/10(月) 17:03:05 ID:or3awNLm
>>521
varienって何?
523nobodyさん:2007/09/11(火) 08:36:19 ID:???
PHPフレームワーク Zend Framework入門
http://www.amazon.co.jp/exec/obidos/ASIN/4881665936/

Zend Frameworkは使ったことないけど、一応どんなものか目を通しておこうと思います。
524nobodyさん:2007/09/13(木) 22:38:43 ID:???
Zend Framework in Action
http://www.manning.com/allen/

in Actionシリーズで、LLのフレームワークだとこれが初なのかな?
525nobodyさん:2007/09/14(金) 06:00:51 ID:???
in Actionのほうもうっすいな
チュートリアルぽい内容かな
526nobodyさん:2007/09/16(日) 22:52:04 ID:???
本屋行ったらzend本売ってて「おっ」と声出してしまった
かなり太い本だね
527nobodyさん:2007/09/17(月) 00:01:19 ID:???
で内容的にはどうすか?
528nobodyさん:2007/09/18(火) 14:05:12 ID:nuy2Jlr4
ZendFrameworkを勉強しようと使い始めたんですがURLってどうなるんですか?
http://example.com/コントローラ名/アクション名/ だと思うんですが
http://example.com/index/index とするとNotFoundになってしまいます。
誰か教えてください。
529nobodyさん:2007/09/18(火) 14:11:36 ID:MFKSKhVe
>>528
コントローラ名を大文字にしてみてくれ。
あと、rewriteちゃんとしてる?
530nobodyさん:2007/09/18(火) 15:37:11 ID:nuy2Jlr4
できました、rewriteが上手くいってなかったみたいです。
ありがとうございます。
531nobodyさん:2007/09/20(木) 20:15:14 ID:VUodyB3I
特定のディレクトリだけをrewriteの対象外にしたいんだけど、どうすればいい?
532nobodyさん:2007/09/20(木) 20:53:23 ID:???
RewriteCond %{REQUEST_URI} ^/static/
RewriteRule .* - [L]

RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
533nobodyさん:2007/09/25(火) 18:30:38 ID:D7nKFtyY
zendはsymfonyのpagerみたいな機能ってないですか?
534nobodyさん:2007/09/25(火) 18:43:14 ID:???
535nobodyさん:2007/09/26(水) 08:27:29 ID:MYWbpKEC
>>534
ありがとうございます!
536nobodyさん:2007/09/26(水) 10:58:48 ID:kAbaoEHt
Zend Framework 1.0.2 age
537nobodyさん:2007/10/03(水) 11:37:55 ID:37NbQuPT
page1->page2という風に必ず特定のページからしか
移動できないようにし、他のページからきた場合には他の
ページに飛ばしたいのですが、
どこのページから移動してきたか確認できるようなものってないですか?
538nobodyさん:2007/10/03(水) 16:32:15 ID:???
トークン?
539nobodyさん:2007/10/06(土) 21:31:55 ID:???
>>518
Yes
>>123
書籍発売にあわせて全面的に書き直し済み
540nobodyさん:2007/10/10(水) 21:32:52 ID:???
ZFベースのAlex@Net BlogってCMSのソースもってるひといませんか?
雑誌やらで記事がのっててコード見たいんだけどWeb上から消滅してる
541nobodyさん:2007/10/10(水) 22:34:37 ID:???
http://www.alexatnet.com/
ここかな
そのソースがあるかどうかはしらんが
542nobodyさん:2007/10/10(水) 22:38:16 ID:???
>>541
どうも。でもどうやらページごと消えたんですな↑のWeb上から…。
543nobodyさん:2007/10/11(木) 00:00:12 ID:9NrsxWrE
バージョン古いやつのソースだから消したんじゃね
544nobodyさん:2007/10/11(木) 19:57:35 ID:Y4cbxz38
夏前にやったチュウトリアルの内容、全部忘れてしまった
545nobodyさん:2007/10/12(金) 04:09:50 ID:???
>>534
Pear使うんだったらZend Framework意味無いな
546nobodyさん:2007/10/14(日) 00:22:24 ID:mwhCy2ge
modelsっていうフォルダに入れるものって結局どういうもんなの?
意味がわかんないんだけど
547nobodyさん:2007/10/14(日) 03:50:52 ID:???
モデル
548nobodyさん:2007/10/14(日) 03:54:49 ID:utDu4jlp
>>546
俺は自作クラス入れてる。
549nobodyさん:2007/10/14(日) 05:10:42 ID:???
VとC以外のもの
550nobodyさん:2007/10/14(日) 15:59:12 ID:???
MVCもわからん奴が来たか…
551nobodyさん:2007/10/14(日) 22:34:36 ID:???
ZFにおけるModelの扱いって微妙に厄介なテーマだと思うなー
Zend_Db_Table、Zend_Db、バリデーションなどをうまくさばいた
モデル設計の最良解が見えにくいので
結局オレオレFWが出来上がりやすい⇒FWの意味半減
552nobodyさん:2007/10/14(日) 23:39:50 ID:???
model周りに限らずなんつーか、ZFって
「デフォルト状態ですぐに使えるモノ」が色々と足りなさ過ぎるよなあ
自由度や柔軟性とのトレードオフな部分もあるけどさ
かゆいところに手が届かないフレームワークというか

RoRはConvention over Configurationだけど
ZFってCustomization over Conventionだもん

もう決め打ちしてくれよって感じ
553nobodyさん:2007/10/18(木) 01:20:47 ID:KqVQHgFy
symfonyで言うところのsfPropelUniqueValidator
みたいなやつ用意してくれませんのかね?
554nobodyさん:2007/10/18(木) 02:35:20 ID:???
>>552
そこやっかいですよね〜
そんなこんなでまだethna使ってます。
コンポーネントとか素材はいいんだけど。
早くethna捨てたい
555nobodyさん:2007/10/19(金) 19:04:08 ID:/DeIRb8R
1.1.0まだ〜?
556nobodyさん:2007/10/20(土) 02:50:21 ID:???
cakephpからpear::DB使うみたいに、Zend_Db 使う
ってことは可能なの?
Zend_Controller や Zend_View なしでも
動くようになってるんでしょうか?
557nobodyさん:2007/10/20(土) 03:44:11 ID:hv51ePaW
controllerとview周り意外は大体単品で使える
558nobodyさん:2007/10/20(土) 04:01:10 ID:???
>>556
Zend_Db つかうドライバ(DboSourceを継承したクラス)を書けばいい。
pear::DB用ドライバがコメント除いて100行程度だから簡単だろう
559nobodyさん:2007/10/20(土) 11:56:16 ID:???
>>557
それってZF内でなんか方針として決まってるんだろうか
それとも今後Zend_Controller前提になるんだろうか
560nobodyさん:2007/10/20(土) 12:03:07 ID:lDCmHmbT
単品で使えるのはそういうポリシーでしょ
561nobodyさん:2007/10/20(土) 19:45:35 ID:hv51ePaW
Filter_Inputでfieldsに配列入れると
Validate_IsEmptyがちゃんと動かないんだけど
これって正しい動きなの?
562539:2007/10/21(日) 16:14:54 ID:???
>>556
Zend_Controller や Zend_View なしでもOK
>>558
ドライバ不要
>>559
独立したコンポーネントで使えるのがZFの方針
563nobodyさん:2007/10/21(日) 17:27:31 ID:???
PHP4で動かないの?
564nobodyさん:2007/10/21(日) 18:44:18 ID:???
PHP4で動かないのがZFの方針
565nobodyさん:2007/10/21(日) 18:48:20 ID:???
PHP4(笑
566nobodyさん:2007/10/21(日) 20:14:31 ID:???
(笑 w
567nobodyさん:2007/10/22(月) 00:05:58 ID:nQ80Rs2X
w
568nobodyさん:2007/10/22(月) 00:17:40 ID:???
コンポーネントで使えるおかげでいろいろな別フレームワークに組み込めてらっきーですよ。
あくまでPHP5用ライブラリね>ZF
569nobodyさん:2007/10/23(火) 00:05:27 ID:???
zfを勉強中なのですが、アクションコントローラはapplication/controller配下にだだ並びになるのが普通なんでしょうか。
570nobodyさん:2007/10/23(火) 10:59:20 ID:???
RewriteRouterのModuleでサブディレクトリに分けることもできるよ
571569:2007/10/23(火) 14:06:52 ID:???
レスありがとうございます。
皆さんはどうしてますか?
ディレクトリ分けしているのでしょうか?
572nobodyさん:2007/10/24(水) 01:30:51 ID:???
Contorollerの説明ってややこしいっていうか、わかりづらいっすよね

>>569 570

サブディレクトリに分けるだけなら
Zend_Controller_Front::getInstance()したコントローラーに対して
setControllerDirectoryで配列を渡せばいけます。
内部的にはRewriteRouterがデフォだから570さんが間違ってるわけじゃないと思うけど・・・

ところで便乗質問なんだけど

Zend_Controller_Router_RouteとかをZend_Controller_Router_RewriteにaddRouteして独自のパターンで
コントローラーを呼び出せるのはわかったんだけど、
例えば、ドキュメントルートでrewriteしたとして、
fooというサブディレクトリのコントローラーを
http://hoge.hoge.com/foo/controller/action/value/
と呼び出してvalueを取得するようなrouterってできますか?
573nobodyさん:2007/10/24(水) 03:59:44 ID:???
Zend_Db の
insert、updateメソッドのように
SQLを意識しないで使用できるSELECT用のメソッドって
ないのでしょうか?
マニュアル見てみましたが見当たりません。

SELECT文の場合、みなさんシコシコとSQL書いてるんでしょうか。
where句とかを見るとげっそりするのです。
574nobodyさん:2007/10/24(水) 04:48:56 ID:???
SQLくらい意識しろ
575572:2007/10/24(水) 08:27:04 ID:???
できました。というか、マニュアルにでてたの見逃してた。
参考までに一応書いておきます。
$route = new Zend_Controller_Router_Route(
'foo/:controller/:action/:value',
array('module' => 'foo')
);
$router = new Zend_Controller_Router_Rewrite();
$router->addRoute('foo', $route);

こんな感じでいけました。
ただこれだけだと
http://hoge.hoge.com/foo/controller/action/
と、valueがないとルーティングできないので
$front = Zend_Controller_Front::getInstance();

$front
->setControllerDirectory(array(
"default"=>"/path/to/controller",
"edit"=>"/path/to/controller/edit",
))
->setRouter($router)
としておけばvalueがなくてもOK。
お騒がせしました。
576nobodyさん:2007/10/24(水) 08:28:26 ID:???
しまった。
"edit"=>"/path/to/controller/edit",

"foo"=>"/path/to/controller/foo",
です。
577nobodyさん:2007/10/24(水) 11:58:48 ID:???
>>573
Zend_Db_Selectっていう名前ズバリそのもののクラスがあるだろうが
selectは複雑だから別クラスになってんだよ
578573:2007/10/24(水) 17:11:28 ID:???
>>577
サンクス、
見てみたけど、さすがにupdateやinsertのようなシンプルさはないですね、、、
579nobodyさん:2007/10/24(水) 20:05:53 ID:???
ていうかマニュアルちゃんと嫁よ十分シンプルだっつーの
SELECT文は取得条件の項目が多いから単にメソッドが多くなってるだけ
メソッドチェインで取得条件足してくだけだろうが
あれがupdateやinsertみたいな1メソッドだったら引数が複雑になる
580nobodyさん:2007/10/25(木) 00:11:44 ID:???
phpでメソッドチェインなんかはじめて見た
581nobodyさん:2007/10/25(木) 23:00:57 ID:YQ1wPxgb
よくある改行コードを\nに統一するフィルター作ろうと思うんですけど
どんな名前がいいと思いますか?
582nobodyさん:2007/10/25(木) 23:07:21 ID:???
CrRemover
583nobodyさん:2007/10/25(木) 23:19:10 ID:???
aaa(\r)bbb を aaa(\n)bbb にするかもしれないから
CrRemover って名前はどうかな

そのまま名前にしちゃえばいいんじゃない?
WellKnownFilterToUnificateNewlineCodeToLf とかw
584nobodyさん:2007/10/25(木) 23:25:04 ID:???
>WellKnownFilterToUnificateNewlineCodeToLf
こんなの嫌です><

>CrRemover
にしときます!
585nobodyさん:2007/10/25(木) 23:25:35 ID:???
nl2lf
だと関数みたいだよね
586nobodyさん:2007/10/25(木) 23:32:51 ID:???
ポチ
587nobodyさん:2007/10/26(金) 17:21:16 ID:???
Ethnaたんハァハァ
588nobodyさん:2007/10/27(土) 00:02:29 ID:???
なにやら海外生活に興味津津な奴がいるな
589nobodyさん:2007/10/27(土) 01:22:28 ID:???
http://sourceforge.net/search/index.php?all_words=zend+framework

ここでZend_Formを見つけたんやけど
なんでこれだけこんなところで配布してんの?
590539:2007/10/28(日) 01:00:56 ID:???
>>589
http://mitchellhashimoto.com/zend-form/guide
をみるとnot officially part of the Zend Frameworkと断り書きしてますね
591nobodyさん:2007/10/28(日) 10:40:55 ID:???
英語読めないから詳しいことはわかんないけど、
勝手に"Zend_"で始まる名前を使っちゃだめなんじゃないの?

http://framework.zend.com/manual/ja/coding-standard.naming-conventions.html
592591:2007/10/28(日) 10:46:21 ID:???
ごめんトンチンカンなこと言ってた。
593nobodyさん:2007/10/28(日) 11:12:23 ID:???
Zendがそういう規約作って無くても
ネームスペース縛りが厳しいPHPで
オレオレライブラリにZendのプレフィックス
安易に使っちゃう奴の気が知れん
594nobodyさん:2007/10/28(日) 13:51:04 ID:???
zfのwikiで考えてるのと同じ仕様のものを非公式に配布してるってことじゃないの?
それでもややこしいことしてくれてるけど
595nobodyさん:2007/10/29(月) 01:59:27 ID:???
http://framework.zend.com/manual/ja/zend.mail.html#zend.mail.introduction.sendmail

Zend_Mail::setDefaultTransport($tr);

$mail = new Zend_Mail();
に影響する理由が良く分からんのですが、、、
どなたか教えて栗


あと、
Zend_Mail::setDefaultTransport($tr);
じゃなくて、
new Zend_Mail();
でインスタンス生成したあとに '[email protected]'を
指定する方法きぼんぬです
596nobodyさん:2007/10/30(火) 13:07:58 ID:???
>>595
staticだからってことなんじゃないの?

あと、
$mail = new Zend_Mail();
$mail->send($tr);
597nobodyさん:2007/10/31(水) 04:47:05 ID:???
Zend_Config
Zend_Mail
Zend_Db
が使いやすいな〜と思い、
ZF使いになった俺です。

極力ZFを使用するように努めてるんですが、
たとえば認証部分の場合、
DBにユーザ情報格納するときには、
DBのuserテーブル、IDとPASSでwhere句で調べて、1行じゃなければアウト、って
いう俺俺クラスを作ったほうが、
Zend_AuthやZend_Aclを使うよりも恐ろしく楽な気がします。

こういったときの使い分け基準ってみなさんどうしてますか?
598nobodyさん:2007/10/31(水) 05:31:04 ID:???
俺も極力ZFのやつで・・・
って考えて作って行ってたけど
無理だと思ってやめた
599nobodyさん:2007/11/01(木) 04:05:54 ID:???
Zend_Mail::sendの結果で
if処理したい場合、
$result = Zend_Mail::send;
if( $result ){
echo "成功";
}else{
echo "失敗";
}
でよかとでしょうか?
マニュアルにはboolenとか書いてないとですが。
600nobodyさん:2007/11/01(木) 08:46:28 ID:yKQSluaW
>>599

* @return Zend_Mail Provides fluent interface
601600:2007/11/01(木) 08:47:16 ID:???
上げちゃった。ごめん。
602nobodyさん:2007/11/01(木) 12:46:57 ID:???
1.0.2インスコしてるが、あんま使わねーな
603599:2007/11/01(木) 13:42:31 ID:???
>>600
おいらにはそれを訳す能力がありません。
へるぷみ
604nobodyさん:2007/11/01(木) 19:14:11 ID:???
>>603
つ辞書
つ教科書
つ中学校の先生
605nobodyさん:2007/11/01(木) 20:16:01 ID:???
流れるようなインタフェースを使える、
メソッドチェーンで流れるように書けるよってことかな

fluent interfaceについてはこの辺を
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?FluentInterface
http://d.hatena.ne.jp/higayasuo/20071025#1193319054
http://d.hatena.ne.jp/takagimasahiro/20071027/fluentinterface
606599:2007/11/02(金) 01:49:05 ID:???
Zend_Mail Provides fluent interface
Zend_Mail は「流れるようなインタフェース」を提供する
が return?
メソッドチェーンと何の関連が。。。
全然意味わからんとです。
607nobodyさん:2007/11/02(金) 01:57:42 ID:???
@return Zend_Mail -- Provides fluent interface
  ↓
返す型:Zend_Mail …… fluent interface を提供するため。

599は>>605のリンク先を少しは読め
608nobodyさん:2007/11/03(土) 05:21:17 ID:???
ZFはFWのFWとなるべく生まれてきたんじゃないかと思う。
FWのFWというかDSLのDSLというか。
609nobodyさん:2007/11/03(土) 06:06:39 ID:???
dslって何だ?
adsl?
610nobodyさん:2007/11/03(土) 12:32:41 ID:???
PHPの文法じゃDSLとは言い難いだろ
611nobodyさん:2007/11/04(日) 00:45:50 ID:pUsvR5iH
Db_Table_Rowって昔
user_nameみたいなカラムを

$row->userName

みたいにするような感じじゃなかった?
612nobodyさん:2007/11/04(日) 01:03:54 ID:???
だからdslって何なんだよ
Nintendo DS Lightのことか?
613nobodyさん:2007/11/04(日) 01:39:49 ID:???
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20070604/273453/?P=4&ST=oss
Glenn Vanderburg氏*3によれば,メタプログラミング機能が最も活用できるのはDSL(Domain Specific Language)の分野なのだそうです。
DSLとは特定の分野向けに機能を強化した小規模なプログラミング言語のことで,昔からあるアイディアです。

だってさ
614nobodyさん:2007/11/04(日) 17:38:17 ID:pUsvR5iH
http://ho.ge/user/:username

みたいなページで:usernameのユーザーが登録されてないときに
404ページ出す場合ってforwardでエラーページに飛ばすべきか
throw new Zend_Controller_Dispatcher_Exception()をするべきか
どっちがいいですか
615nobodyさん:2007/11/04(日) 18:40:59 ID:???
ちんぽまるだしで全部解決
616nobodyさん:2007/11/05(月) 11:16:12 ID:???
>>614
Controllerの中でerrorActionを定義するのが簡単
その次がException
617nobodyさん:2007/11/05(月) 12:46:18 ID:???
しばらく見てないけど
Zendルータってもう使いものになるレベルになってんの?
618nobodyさん:2007/11/06(火) 20:29:30 ID:???
いつのバージョンと比較してるのかは知らんが
使えないのは、単にお前の能力不足じゃないのか
619nobodyさん:2007/11/07(水) 02:53:53 ID:???
いや…
前見た時はなんかろくすっぽ実装されてなかったけど
620nobodyさん:2007/11/07(水) 02:55:45 ID:???
ってかルータ使うのに能力も何もねーだろ・・・
意味不明な煽りすんな氏ね>>618
621nobodyさん:2007/11/08(木) 02:26:48 ID:???
Zend_Log のDB使用の際のイベントの追加の仕方がよく分からないんですが、
下記のようにnew Zend_Log_Writer_Db時点($columnMapping)で、追加予定のイベント指定して、
new Zend_Logでインスタンス生成してから
setEventItemするという順で良いのでしょうか?

$db = Zend_Db::factory('PDO_MYSQL', $params);

$columnMapping = array('lvl' => 'priority', 'msg' => 'message', 'pid' => 'pid');
$writer = new Zend_Log_Writer_Db($db, 'log_table_name', $columnMapping);

$logger = new Zend_Log($writer);

$logger->setEventItem('pid', getmypid());
622nobodyさん:2007/11/09(金) 21:37:56 ID:???
>>617
まだがっつりとは触ってないけど、私見では十分使えるレベルだと思う。
Net_URL_Mapperなんかでごりごり書くよりも直感的で、本当にルータっぽく
設定できるので、個人的には結構気に入っている。というか、他の機能が
まだ少し未熟な(好意的に見れば柔軟性に富んだ)感触なのに対して、ほぼ唯一
そのまま使える機能といってもいいw

むしろ、Validator周りが予想以上に使えなくて、今頑張ってるよ…。
623nobodyさん:2007/11/10(土) 00:36:32 ID:grKOANVo
>>622
その辺はZend_Formとかとくっつける為にあんな感じなんだろう
624nobodyさん:2007/11/10(土) 00:49:31 ID:???
なんで放置されてるZend_Form?適当な事言ってない?
625nobodyさん:2007/11/10(土) 01:04:16 ID:???
PonkotsuFramework
626nobodyさん:2007/11/10(土) 02:58:12 ID:???
Zend_Log組み込んでるんだけど、
DEBUGはロギングしない、とか後で変更できないの?
わざわざ継承して、debug関数の処理空にする、とかしか思いつかない。
627626:2007/11/10(土) 02:59:42 ID:???
スマソ、フィルタってのがあるね
628nobodyさん:2007/11/10(土) 15:52:22 ID:???
Zend_Db_Adapter_Abstract::insert()
で1日ハマってるんだけど、誰か助けてくれ〜〜

$db->insert( $table, $insert_data );
としても全くインサートされない。

Zend_Db_Profiler でクエリー文調べてみたら
INSERT INTO `table` (`hoge`, `hoge2`) VALUES (?, ?)
となってるんだが、ホワィ??
なぜにプリペアドステートメント?
629nobodyさん:2007/11/10(土) 16:37:29 ID:???
なぜってお前・・
630nobodyさん:2007/11/10(土) 18:43:54 ID:???
>>628
Zend_Db_Profilerで見られるクエリでPDOでbindする前のじゃなかったっけ
だからそれはそれであってるんじゃないの(この仕様もどうかと思うんだけどね)
例外が返ってくることもなくデータが入らないの?
631nobodyさん:2007/11/10(土) 23:10:26 ID:???
>>607
objectが返るってことはソースからなんとなくわかったんだが、
結局
>>599のように送信が成功したかどうかで分岐させたい場合、
どんな記述をすればよいの?
632nobodyさん:2007/11/11(日) 01:37:50 ID:???
try catch
633nobodyさん:2007/11/11(日) 09:38:19 ID:???
>>631
sendで失敗したら例外が投げられるから投げられてたらエラー
tryでsendしてcatchに失敗した時の処理を書く
634nobodyさん:2007/11/11(日) 10:16:36 ID:???
Zendframeworkはやはり諸々のお手本として勉強になりますなぁ
ZF周辺の頭脳派集団的オーラがぜひPHPコミュニティ全体に波及しますように
635nobodyさん:2007/11/11(日) 23:29:07 ID:???
try catch ってソース汚くなっていやなんだが
ほかの人はあれ好きなの?
636nobodyさん:2007/11/11(日) 23:43:13 ID:???
好きなヤツはいないと思うけど、さっくりとException投げられるから仕方なく使ってる
.NetでもSMTPにメールアドレスが拒否られた場合、普通にException投げてくれるから同じ書き方になる
try{mail.send(primary)}
catch
try{mail.send(secondary)}
catch{return false;}
他の言語だとどうなんだろうね
637nobodyさん:2007/11/12(月) 00:32:16 ID:OoaTyYVU
try catchの美しさを理解できないのか
638nobodyさん:2007/11/12(月) 00:46:57 ID:???
インデントが1段下がるのが嫌だ
639nobodyさん:2007/11/12(月) 01:36:43 ID:???
Zend_Db_Tableはリレーションまでまともに使い物になる日は来るんだろうか?
SimonとかいうヤシのProposalはどうも現場感覚が決定的に不足してる感じがする
640569:2007/11/12(月) 07:21:42 ID:???
throwsがないのが不便。
641nobodyさん:2007/11/12(月) 10:09:01 ID:zaguTSbK
汚いって思うやつは、try{〜}の中が長すぎるんだろ。
642nobodyさん:2007/11/12(月) 14:04:06 ID:MO0zYBuT
Zend_Mailって日本語もばっちり?
643nobodyさん:2007/11/12(月) 18:00:06 ID:???
>>642
OK!
644nobodyさん:2007/11/12(月) 18:03:05 ID:???
>>642
一つ書き忘れ。送信者名に日本語使うときの対処方法がZend framework入門の
P299に書いてあります。
645nobodyさん:2007/11/12(月) 18:26:18 ID:???
ばっちりちゃいますやんw
646644:2007/11/13(火) 13:00:03 ID:???
>>645
ゴメソ
647642:2007/11/13(火) 19:59:22 ID:lFhItDW1
なるほどです。
>>644
給料出たので奮発してその本買って見ます。
648nobodyさん:2007/11/13(火) 20:32:39 ID:???
「Zend Framework入門」は別に買わなくてもいいんじゃないかと。
マニュアル以上のことが書いてあるわけでも無いし。

俺は買って損した気分です。
649nobodyさん:2007/11/13(火) 22:09:12 ID:???
>>648
同意
650nobodyさん:2007/11/14(水) 01:14:37 ID:???
ZF入門は残念ながら内容薄かったね。
英語でよければ「Zendframework in action」がオンライン購入で途中まで読めるようになっており
コチラはもう少し読みやすく実践的なのでモチベーションが上がる。
まぁZFのバージョンアップではやくも内容が古くなりつつあるけど。
651nobodyさん:2007/11/14(水) 01:44:20 ID:???
Zend_Viewでビュースクリプトから取得される文字列をデフォでエスケープさせようと弄ってるんだけど、

public function __set($key, $val){
if ('_' != substr($key, 0, 1)) {
$raw_key = $key . '__raw';
$this->$raw_key = $val;
return;
}
require_once 'Zend/View/Exception.php';
throw new Zend_View_Exception('Setting private or protected class members is not allowed', $this);
}

public function __get($key){
$raw_key = $key . '__raw';
if(strpos($key, '__noescape') === false){return $this->$raw_key;}
else{return $this->escape($this->$raw_key);}
}

こういう書き方ってダメなんだっけ?
__setの時点でWindows環境だと無応答、Linuxだとメモリ確保できないぞゴルァみたいなエラーが。
652nobodyさん:2007/11/14(水) 01:49:41 ID:???
poka-n
653nobodyさん:2007/11/14(水) 03:29:33 ID:???
try{
$db = Zend_Db::factory('PDO_MYSQL', $params);
$db->insert('table', $params2);
}catch(Zend_Exction $e){
echo "メッセージ: " . $e->getMessage() . "\n";
}
でinsertのエラーがキャッチできないんだけどなぜに?
654nobodyさん:2007/11/14(水) 03:30:29 ID:???
Zend_Exception
655nobodyさん:2007/11/14(水) 05:29:12 ID:???
うわ、これって「Zend_Exction Class が未定義」というエラーにならないんだな。
はじめて知った。さすがPHP、奥が深いな。
656nobodyさん:2007/11/14(水) 10:07:45 ID:???
うむ
657nobodyさん:2007/11/14(水) 14:21:55 ID:???
Zend_Exception としたところでキャッチされない。
反映行数がinsertの返し値なようだから、
0ならfalseとかthrowとかしなきゃいけない、でファイナルアンサー?
658nobodyさん:2007/11/14(水) 17:50:43 ID:???
insertの戻り値ダンプしてみて0だったってこと?
それで例外キャッチできないって絶対何か別の原因があると思うけどなあ
内部で何かエラーがあれば必ずZend_Exception派生の例外は投げられるはずだけど
データの取得(SELECT)はちゃんとできるかい?
659657:2007/11/15(木) 12:38:07 ID:???
>>658
はい、そうです。
selectなども正常にできています。
意図的にDBパスワードミスとかするとちゃんとcatchしてくれます。

何となく思ったのですが、
653のままでも
本来insertが例外を投げているのであれば、
catchされないままになってしまうので
通常はエラーが出るはずですよね。
660nobodyさん:2007/11/16(金) 03:03:39 ID:???
は?insertの返り値が0だったら本当に例外返ってくるのか?
661nobodyさん:2007/11/16(金) 03:55:13 ID:???
なんで通ってんのに例外なげんの?
662658:2007/11/16(金) 12:18:44 ID:???
>>659
うむ

>>660
戻り値が0だったら例外が投げられるとかって事じゃなく
insertが通っているのに戻り値0で
実際にはinsertされてないってのは
何か別の原因が、って意味で書いた
663nobodyさん:2007/11/16(金) 20:37:00 ID:???
そりゃどう考えてもスキーマかお前さんのSQL文が悪いんだろう
664nobodyさん:2007/11/16(金) 21:15:28 ID:???
Java厨のおいらがPHPやりたくないけどやらざるをえない状況になったんで
ZendFrameworkってどうよ?って質問しに来たんだが、
ざっとスレ読んで放置することにしたわw
665nobodyさん:2007/11/16(金) 22:17:00 ID:???
PHPのピの字も分からんうちからFW使おうとすんな。
666nobodyさん:2007/11/16(金) 22:19:53 ID:???
PHPって子どものおもちゃじゃないですかwww
667nobodyさん:2007/11/16(金) 22:26:57 ID:???
>>666
お兄さん大人なの?おしりの穴貸して欲しいナ
668664:2007/11/16(金) 23:12:19 ID:???
いや仕事で使ったことはあるよ。てかフレームワークスレも読んだがgdgdだな。
自分で作ることにするわ。汎用性ありそうだったら公開するお。
669nobodyさん:2007/11/16(金) 23:20:25 ID:???
>>668
汎用性無くても公開してほすぃ
670nobodyさん:2007/11/16(金) 23:30:58 ID:???
いつ頃?
671nobodyさん:2007/11/16(金) 23:46:54 ID:???
素直にPhrameでも使っとけよ
672nobodyさん:2007/11/16(金) 23:56:08 ID:rj+nso4l
ZF好きだけどな
ソースとかなんでもclassにしちゃうとことか
とっても好感を持てます
673nobodyさん:2007/11/16(金) 23:59:50 ID:???

それ普通じゃないの
674nobodyさん:2007/11/17(土) 00:49:58 ID:???
PHPはModuleとか無いからなぁ
普通にClassにするだろ
675nobodyさん:2007/11/17(土) 01:48:15 ID:???
$db->beginTransaction();
ってController_Actionのところでやるのがいいの?
MVCとかにこだわるならコントローラーではやらないほうがいいの?
676nobodyさん:2007/11/17(土) 01:53:00 ID:???
どう考えてもビジネスメソッドじゃねぇの?
677nobodyさん:2007/11/17(土) 02:14:26 ID:???
じゃあ

User extends Zend_Db_Table
UserProfile extends Zend_Db_Table

みたいな2つがあるとして
ユーザー登録ページみたいなので
2つ同時にinsertするときは
どういう風に
$db->beginTransaction();
するのがいいんですか?
678nobodyさん:2007/11/17(土) 03:03:48 ID:???
トランザクション使わないといけないほど重要なページなのならストアドでも使えば?
679nobodyさん:2007/11/17(土) 05:35:35 ID:eWyQP34E
例外の扱い方にもよるだろ
680nobodyさん:2007/11/17(土) 11:44:10 ID:???
>>677
俺ならUserにregisterメソッドを用意して
その中でbeginTracnsanctionして
UserへのinsertとUserProfileへのinsertを行う
って感じでmodelに押し込めるな
Controllerからはトランザクションを意識したくはないな
681nobodyさん:2007/11/17(土) 16:52:25 ID:???
俺はControllerでbeginTracnsanctionしちゃうな。
でUser::insert(),UserProfile::insert()
でControllerでcommitする。
Controllerでトランザクション意識するのってそんなに良くない事かな?
俺はどっちかっていうとmodelでcommitすることに抵抗あるな。
トランザクションの制御はなるべく外側でやりたい。
682nobodyさん:2007/11/17(土) 20:07:19 ID:???
それはMVCじゃない
683681:2007/11/17(土) 20:44:28 ID:???
>>682
そうか、やっぱりダメか。
なんかControllerで何やって良いかまだ良く分かってないんだ。
なら>>677の別の解答として、
UserRegisterクラスを作って
その中で
 beginTracnsanction()
 User::insert()
 UserProfile::insert()
 commit()
とするのはどうかな。
684nobodyさん:2007/11/17(土) 20:53:01 ID:???
>>681
いや俺もコントローラでコミットするよ。
そんでbeginとcommitの場所はソース的には一カ所になるようにする。
そうすると安全。
685nobodyさん:2007/11/17(土) 21:01:26 ID:???
>>683
上記2つはともかくそれはないw絶対ないw
686nobodyさん:2007/11/17(土) 21:18:14 ID:???
MVC学べよ
687nobodyさん:2007/11/18(日) 00:20:09 ID:???
MVC厨乙
688nobodyさん:2007/11/18(日) 00:54:29 ID:???
この辺もどっちがMでどっちがCですべきかはあいまいだしな。
まー好きにしろってこった。
689nobodyさん:2007/11/18(日) 02:40:59 ID:???
MVC構成を想定で設計されているフレームワークスレで何をいうか。
データの処理関係はモデルです。曖昧も何もない。勉強不足
690nobodyさん:2007/11/18(日) 02:48:04 ID:???
MVCが何かも知らずにMVCフレームワークを使い始めるのはどうかしているよ・・w
根本的にセンスがない。
691nobodyさん:2007/11/18(日) 04:27:24 ID:???
VCはやること基本的に決まってるけど
モデルって結構幅広いから
どういう設計にしたらいいかすっげー悩むんだけど
その辺のルールがよくわからない
692nobodyさん:2007/11/18(日) 07:28:10 ID:???
結局この話題は>>680が最適解?
693nobodyさん:2007/11/18(日) 07:29:05 ID:???
何をもって最適と?
694nobodyさん:2007/11/18(日) 07:33:16 ID:???
流れ読めよ。MVC的にだろ。
695nobodyさん:2007/11/18(日) 08:02:11 ID:???
MVC厨的には最適ですw
696688:2007/11/18(日) 08:16:49 ID:???
>>689
ぶっちゃけZendFramewordつかってないから良くしらんのだがwww
単に複数の別クラスのモデルを1つのトランザクションで処理するときどうするの?
697nobodyさん:2007/11/18(日) 08:32:29 ID:???
トランザクションをコントロールしている…と考えれば
Cでコントロールしてもおかしくない
698nobodyさん:2007/11/18(日) 08:55:51 ID:???
そんな理屈なら表示をコントロールするからってVの部分をCでやっていいのかw
699nobodyさん:2007/11/18(日) 09:01:34 ID:???
まあ、ありな場合もあるんじゃね
700nobodyさん:2007/11/18(日) 12:04:45 ID:???
>>696
複数の処理をする単一のモデルを新たに作れってことじゃないの
701nobodyさん:2007/11/18(日) 12:08:08 ID:???
>>700
>>683は無しらしいよ
702688:2007/11/18(日) 12:18:02 ID:???
>>700
うわwそれは嫌だな。
なんかMVCにしろデザインパターンにしろ、その流儀を守るために
無駄にクラス作ったりコードが増えたり複雑になるのは嫌だわ。
703nobodyさん:2007/11/18(日) 12:36:09 ID:???
そもそもカプセル化という重要なことを忘れているヤツがいるな。

小規模個人サイトくらいなら気にすることないけど
704nobodyさん:2007/11/18(日) 12:55:18 ID:???
原理主義と簡便性のバランスはいつだって難しいね……

データが(程度の問題で)かなりアトミックに扱うべきだと思ったら
一見複雑になるように見えても新たなクラスを作る合理的理由があるはずだろうし
シチュエーション的な理由(Cによるということ)だけでに複数のモデルを同時に扱いたいってのなら
Cからtran制御することにもそれなりな正当性がありそうに思える
705nobodyさん:2007/11/18(日) 13:20:09 ID:???
ケースバイケースだろ

ただ上記のUserとUserProfileっていう名前の場合、
普通1:1か1:nの関係でエンティティとしては「ユーザ」という1エンティティなわけで
そのユーザエンティティを登録する処理なんだから
Userの登録処理に押し込めるのは自然な流れだと思うし
それ以外の場合でも、そういう複数モデル(テーブル)にまたがる
一連の更新処理をモデルに対応するテーブル間のマッピングから考えて
いずれかのモデルに押し込めておくのは俺はわりとやる

でも全く関係のない2者間のモデルを同時更新するなら(UserとLogとか)
Cでトランザクションすることだってあるだろう
どっちかでしかトランザクションしないってのは思考停止

っていうか実際そんな簡単にMCは割り切れない部分もあるし
その場に応じてちょっと普通ではやらない置き方になる時も多々あるよ
MVCMVC言って盲目的に割り切ろうとしてる奴も思考停止だ
706nobodyさん:2007/11/18(日) 13:39:00 ID:???
明らかに全然関係なかったらトランザクションいらないんじゃないの?
707nobodyさん:2007/11/18(日) 14:07:55 ID:???
よーわからんが、1リクエストの処理が以下のように共通化されてて
try {
トランザクション開始
アクション関数呼び出し
} catch () {
 ロールバック
 ログ出力
} finally {
例外じゃなきゃコミット
}
アクション内ではトランザクションとか何も意識しない
とかなっとけばいいんでないの?
モデルのなかでいちいちトランザクション貼ってロールバックとか
毎回書く方がナンセンスじゃないか?
複数のモデルの処理が全部正常に行われたらコミット、
何か1つでも失敗あったらロールバックてときも上の方法だと何も考えなくても対処できてる。
708569:2007/11/18(日) 14:56:17 ID:???
PHPにfinallyあったっけ?
709nobodyさん:2007/11/18(日) 15:11:10 ID:???
>>707
アクション内全部が1トランザクションとか愚の骨頂
どんなアクションだろうが最初にファイルをオープンしてロックかけておけば
いつでもファイルいじれるよ!どうだい柔軟で便利だろ!
とか言ってるのと同じくらいバカ

CだろうがMだろうがどこでトランザクション張ってようが
そこで毎回rollbackの対応を書いたりなんてしない
FW使ってるなら普通上層で一元的に例外に対するコントロール部分があるし
そもそも例外発生したらcommitされないんだから
そのまま終了しても自動的にrollbackされる
710707:2007/11/18(日) 15:47:47 ID:???
>>709
すまん、>>707は簡素すぎた。
実際はopenTransaction()ってメソッドが親のコントローラとかにあって、
それを呼ぶとトランザクションが貼られる。
で、明示的にアクション内でcommit()呼ばないとアクション抜けたときに自動的にコミット。

>FW使ってるならほげほげ
そういう仕組みがあるならいいよ。
てか上の話見てて毎回書くようなことを書いてるように見えたから
ちょっぴり自己主張しちゃいました。

>>708
すまん、実はJava厨が紛れ込んだだけなんだ。
711nobodyさん:2007/11/18(日) 19:22:08 ID:kBwRbUKB
でも、finallyは必要だよな。
712nobodyさん:2007/11/18(日) 19:24:42 ID:???
finallyって存在意味あるの?
例外投げられたらcatchに移行する
例外投げられなかったらfinallyが実行される
てことはtryの最後にfillany内の処理書いとけば同じことじゃんなんて思うんだが
713nobodyさん:2007/11/18(日) 19:32:13 ID:???
>>712
もっかい勉強しようぜ
714707:2007/11/18(日) 20:32:34 ID:???
>>711
namespaceもほしいお

>>712
ファイルとかセッション閉じる処理とか例外でも正常終了でもしないといけないっしょ?
そういうのをfainallyにまとめて書くのだ。
715nobodyさん:2007/11/18(日) 20:54:37 ID:???
>fainally
(^-^)
716nobodyさん:2007/11/18(日) 21:36:37 ID:???
>>714
PHPの場合はリクエスト(≠プロセス)終了時に変数はすべて開放されるし、
そのときリソースも開放される。(ファイルを閉じたり、DBならトランザクションを
アボートしてコネクションを閉じたりする。セッションハンドラも然り)
てなわけで、JavaやC++ほどfinally節の必要性は感じない。

まあ無いよりはあった方がいいとは思うけど。
717707:2007/11/18(日) 22:45:39 ID:???
そういえば前にcloseしてねーけどいいのこれ?って聞いた覚えが。
確かにphpではfinallyはあんまいらないかも。
718nobodyさん:2007/11/18(日) 23:06:35 ID:???
JavaだとデストラクタがあってもGCでいつ開放されるかが予測しにくいので
finallyで処理する必要があるんだよね。
DB接続もリクエストをまたいで使い回すのが普通だし。
719nobodyさん:2007/11/18(日) 23:39:18 ID:???
Java信者も大変だよな
720707:2007/11/19(月) 00:10:52 ID:???
>>718
そうなんだよね。
そういう点ではC++のがデストラクタにきっちり組み込めるのでfinally無しでもいけたりする。

>>719
Javaはフレームワークは混沌としてる。
結局railsだけだなFW的にまともに軌道乗ってるの。
VM乗って高速化したらrailsの天下かもね。
721nobodyさん:2007/11/19(月) 00:55:15 ID:???
PHPも十分混沌としてると思うぞ
722nobodyさん:2007/11/19(月) 01:06:02 ID:???
選択肢が一つしかないよりは乱立してるほうが健全じゃね?
723nobodyさん:2007/11/19(月) 13:24:40 ID:xD0eowNd
>>722
なかなか良いこと言うな
724nobodyさん:2007/11/19(月) 22:57:53 ID:???
そうか?
725nobodyさん:2007/11/21(水) 00:20:31 ID:???
最後には淘汰されつついくつかに統合されるのがプログラミング以外にも当てはまる世の流れだな。最初から選択肢が一つは不健全
726nobodyさん:2007/11/21(水) 00:28:36 ID:???
そうして文字コードもたくさんできました。
727nobodyさん:2007/11/21(水) 15:45:13 ID:???
Zend_Configで.も含む設定名ってどうすればいいんでっしゃろ。
[sample]
hoge.hoge = var
だと
$sample = $Zend_Config->sample->toArray();

$sample[hoge][hoge];
に格納されてしまうけど、
$sample[hoge.hoge]としたいんです。

そもそも[]の中に.使えませんでしたっけ?
728nobodyさん:2007/11/21(水) 22:44:32 ID:???
>そもそも[]の中に.使えませんでしたっけ?
使えるよ。っていうかこれはすぐ調べられることだと思うんだが^_^
729nobodyさん:2007/11/21(水) 23:38:30 ID:???
コーディング規約だけつこうた。
730nobodyさん:2007/11/22(木) 02:35:12 ID:???
Zend_Viewきっついな
Controllerとやたら密接に絡んでるせいですんげぇ使いづらい・・
731nobodyさん:2007/11/22(木) 03:26:56 ID:???
なんであんな密接にしたんだろうな
しなくてもよさそうなもんなのに
732nobodyさん:2007/11/22(木) 12:08:27 ID:8IILrWGo
>>730
$front->setParam("noViewRenderer",true);
にしておけ。
733nobodyさん:2007/11/23(金) 04:43:01 ID:???
zendはコンポーネントベースだからPearライブラリを使ったみたいに自分で構成までくむの?それとも推奨構成あり?
734nobodyさん:2007/11/23(金) 11:37:35 ID:???
推奨構成はあるよ規約ではないけどな
ドキュメント嫁
735nobodyさん:2007/11/23(金) 16:12:50 ID:???
世間のウェブデザのほとんどが使いこなせないのがPHP。
真珠の掲示板ですら設置できない低スキルで、毎月数十万のぼったくり請求している酷い業界。
736nobodyさん:2007/11/23(金) 17:03:13 ID:???
それでいてデザイン発注するとテーブルレイアウトで返してきたりな
737727:2007/11/24(土) 14:31:21 ID:???
どなたか改善策きぼんぬ
738nobodyさん:2007/11/24(土) 16:34:31 ID:???
parse_ini_fileでいいじゃん
設定ファイル読み込むだけのクラスが
直感的に使えない時点でもう何かダメだと思うんだ
739nobodyさん:2007/11/24(土) 17:03:10 ID:???
てか単純な設定ファイルなら普通に.phpで書いてもいい気がするけどな
740nobodyさん:2007/11/24(土) 17:10:15 ID:???
作法に従いたいって事だろうな。
741nobodyさん:2007/11/24(土) 17:36:48 ID:???
初歩的な質問で、検討はずれな事を言っていたらすいません。

$db->query('SELECT * FROM `hote_table` WHERE `id` = ?', $id);
Zend_Dbでプリペアドステートメントを使ってSQLのクエリを送信しようとしているのですが、
数値文字列にもクォーテーションがついてしまいます。オプションか何かで数値文字列に
クォーテーションが付かないようにしたりできますか?
また、そうでなくとも似たような簡略化する方法は予め用意されていますか?

ご教示お願い致しますm(_ _)m
742nobodyさん:2007/11/24(土) 20:03:59 ID:???
$db->query('SELECT * FROM `hote_table` WHERE `id` = ?', (integer) $id);
でキャストしてもそうなる?
743nobodyさん:2007/11/25(日) 02:52:34 ID:???
$db->-select()
->from( 'table' )
->where( "status = '1'" );

特定条件下で上記 where句を取り除きたい場合、
if($hoge){
$db->-select()
->from( 'table' )
->where( "status = '1'" );
}else{
$db->-select()
->from( 'table' );
}
のようにif文で分けるなどの方法しかないでしょうか?

$db->-select()
->from( 'table' )
if($hoge){ ->where( "status = '1'" ) };
みたいな感じの書き方はないでしょうか。
744nobodyさん:2007/11/25(日) 07:30:29 ID:???
>>743
出来ないはず。
whereメソッド戻り値見てみ。すぐに意味が解るはずだから。
745nobodyさん:2007/11/25(日) 13:01:53 ID:???
>>743
取り除くんじゃなく必要に応じて足していく

$select = $db->select()->from(〜);
if (条件1) {
 $select->where(〜);
}
if (条件2) {
 $select->order(〜);
}
...
$sql = $select->__toString();
746nobodyさん:2007/11/25(日) 14:26:50 ID:???
>>727
ここを参考にしてちょ
 プログラマ向けリファレンスガイド 5.3. Zend_Config_Ini
---引用開始---
デフォルトでは、キーの区切り文字はピリオド (.) です。 しかし、これは変更することもできます。変更するには、 Zend_Config_Ini オブジェクトの作成時に $config のキー 'nestSeparator' を設定します。たとえばこのようになります。
require_once 'Zend/Config/Ini.php';
$config['nestSeparator'] = ':';
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging', $config);
---引用終わり---
747nobodyさん:2007/12/03(月) 21:28:30 ID:???
748nobodyさん:2007/12/04(火) 01:25:06 ID:???
>>747
Google Data PHPクライアントライブラリ、YouTubeやPicasaをサポート
http://journal.mycom.co.jp/news/2007/12/03/036/index.html

ZF 1.0.3以降とZend GdataでYouTube、Picasa Web Albums、Google Documents Listが
サポートされるそうです。
749nobodyさん:2007/12/04(火) 07:19:25 ID:???
また内緒でZend_Loaderが変わってたらしいじゃない。
750nobodyさん:2007/12/04(火) 14:24:37 ID:???
Gdataとかそんなサブ的な、おまけ的なところ後回しでいいから
Formとか作れよ
751nobodyさん:2007/12/04(火) 16:45:59 ID:???
PDFの日本語はまだダメ?
752nobodyさん:2007/12/04(火) 18:14:52 ID:???
adroitおもすれ
753nobodyさん:2007/12/05(水) 17:30:35 ID:???
1.0.3 リリースで鯖落?
754nobodyさん:2007/12/05(水) 19:11:57 ID:???
くう…
良さそうな無料レンサバがみんなPHP4だorz
755nobodyさん:2007/12/05(水) 21:04:00 ID:???
xreaでいいじゃん
756nobodyさん:2007/12/06(木) 03:32:59 ID:???
safemode懐かしい
757nobodyさん:2007/12/06(木) 11:19:10 ID:???
>>753 今は復活 ヨーロッパ諸国やイスラエルが活動を始めるまえに
(日本時間で 冬15時、夏14時)ダウンロードするものを済ませ
たほうがいいよ。それ以降は混雑しますので、Zend Frameworkに限らず。
758nobodyさん:2007/12/08(土) 21:58:18 ID:???
今日使い始めたばかりなんだけど、いきなり躓いてしまった。
インストールや初期設定は終わり、一番最初のindexアクションは成功。
controllers/以下にIndexController.phpを作って
http://127.0.0.1/
でIndexController.phpのindexactionは表示できるようになった。

そこで次は別のを作成。
controllers配下にMainController.phpを作成
<?php
require_once 'Zned/Controller/Action.php';

class MainController extends Zned_Controller_Action
{
    public function indexAction()
    {        echo "初期";    }
    public function newsAction()
    {        echo "ニュース";    }
}
内容は単純なこんなもの。

調べた結果によると、
http://127.0.0.1/main/ でアクセスすれば初期と表示され
http://127.0.0.1/main/news/ でアクセスすればニュースと表示されるはずなのに
どちらも
Not Found
The requested URL /main/ was not found on this server.
とでて表示されない。

何か設定が足りないのだろうか?
ttp://blog.so-net.ne.jp/pluto-blog/
環境はこのブログを参考にして構築してみた。
759nobodyさん:2007/12/08(土) 22:05:50 ID:???
Zned→Zend
スペル間違い訂正。
修正しても変わらず。
760nobodyさん:2007/12/08(土) 22:08:31 ID:???
とりあえずZendがZnedになってるtypoを確認
でも404だと根本的にroutingできてなさそうだな
.htaccessを確認をしてみるとか
761nobodyさん:2007/12/08(土) 22:18:28 ID:???
言われたとおり.htaccessでした。
そもそもApacheの方で設定できてなかった・・・orz

設定後、表示はされるようになりました。
しかし何故か文字化け・・・
日本語を使うと文字化けしてしまう。
でもIndexController.phpの方は日本語でもちゃんと表示される。
MainController.phpの方だと文字化けしてしまっている。
それぞれのファイルの保存文字コードや改行コードを調べてみるもどちらもUTF-8で保存、改行はLFのみ。

全部化けるならPHPのマルチバイト辺りの設定かなと思うのだけど、
indexのが化けないで、mainが化ける意味が・・・
762nobodyさん:2007/12/08(土) 22:34:52 ID:???
吐き出すコンテンツにmetaタグ指定も無しで
response headerでもcharset指定してないんだったら
そりゃ化けてもおかしくないだろう

・とりあえず吐き出す内容にmetaタグ入れてみる
・responseのcontent-typeヘッダにcharset指定を入れる

くらい最低試せ
763nobodyさん:2007/12/08(土) 22:48:26 ID:???
そういやそうだよね・・・
indexが化けなかったのは日本語が長めだったからブラウザが自動認識してたみたい。
初期とかじゃないくて同じ文字入れたら化けなかった。
こっちは短すぎてブラウザが文字コード断定するに至らなかったようだ。

metaタグ入れたら短くてもちゃんと表示されるようになった。
どうもありがとう。

一通りいけたので、これから頑張ってやっていけそう。
764nobodyさん:2007/12/08(土) 23:59:02 ID:vYBrSVgv
がんがれ
765nobodyさん:2007/12/15(土) 17:18:24 ID:???
766nobodyさん:2007/12/19(水) 21:47:47 ID:???
1.03使ってみることにしたよ。
あまりユーザいないのかもしれないけどよろしく。
767nobodyさん:2007/12/20(木) 00:41:26 ID:xSS/j6Nl
いるよ。いっぱいいるよ
768nobodyさん:2007/12/20(木) 04:01:45 ID:???
そうか?
769nobodyさん:2007/12/20(木) 06:46:02 ID:???
ちょっと質問。

$front->setBaseUrl('/sample');
とやって、(たぶんsetBaseUrl()していることは関係ないと思うけど)
ttp://localhost/sample/
とか
ttp://localhost/sample/index
ではちゃんとアクセスできるんですが、
ttp://localhost/sample/index.php
でエラーが発生するのはデフォ?
dumpさせると
["controller"] => string(9) "index.php"
["action"] => string(5) "index"
["module"] => string(7) "default"
ってあったから、「"Index.php"と言うコントローラ(Index.phpController.php)が無いよ!」
ってことなんだろうけど、ほんとうにこの動作がデフォルトなんだろうか?

770nobodyさん:2007/12/20(木) 06:46:51 ID:???
お前は何を言ってるんだ
771nobodyさん:2007/12/20(木) 12:41:22 ID:???
>>769
普通にデフォルト
772nobodyさん:2007/12/20(木) 17:09:50 ID:???
>>771
さんくす、そうだったのか。

>>770
うまく伝わらなかった? それとも「今更」だったのか。
まぁ、今更だったんだろうけど、念のため確認しておきたかった。
既出だったらスマソ。

そこで、/sample/index.phpとアクセスされた場合、みなさんどうしてる?
1. エラーメッセージhtmlを吐く
2. ErrorControllerから _forward('index')
3. ErrorControllerから setRedirect() でHTTP Location: ヘッダーを吐く。


2と3を比べた場合、2の方が負荷が低いだろうけど、何となく気持ち悪いので3かな。
773nobodyさん:2007/12/20(木) 19:15:15 ID:???
>>772
いや、というかURL Routingしてんだから
index.phpというURLに対して特別にRoutingする必要自体がない
404 Not Foundにするべき
(すでにindex.phpで公開していてその形に変更するなら
ブックマークへの対応としてindexへリダイレクトする必要はあると思うけど)

バックエンドがphpであろうとperlであろうと
最終的にブラウザに返すリソースはこの場合htmlであって
.phpというURLにリクエストしなきゃいけないのはあくまでサーバ側の都合によるもの
774nobodyさん:2007/12/20(木) 20:06:07 ID:???
>>773
あーそっか、頭堅すぎだな > 俺
404ね、納得した。
ありがd。
775nobodyさん:2007/12/20(木) 21:45:37 ID:???
>>772
自分でそういう風にルーティング設定しているのにわざわざ騒いでて意味わかんねってこと。
index.phpにリクエストが来てどういう挙動をすれば納得したんだ?
776nobodyさん:2007/12/20(木) 23:49:49 ID:???
>>775
>>773の説明でスッキリした。確かにそういう風にルーティングしたんだからな。
769の時点ではクライアントにはわからない(関係ない)のだろうけど、index.phpを
置いているんだから、/index.phpにアクセスがあったら/index/indexに自動的に
ルーティングされるべきと思っていたんだよ。

最初から404を吐いてたら気づいたか... いや余計に混乱したかな?
まぁ、俺の頭の固さ所以だ。許してつかーさい。
777nobodyさん:2007/12/22(土) 06:14:11 ID:???
778nobodyさん:2007/12/22(土) 15:46:48 ID:???
PHPでコマンドラインねぇ
コード生成とかか
779nobodyさん:2007/12/22(土) 16:48:43 ID:???
cakeとかsymfonyにもあるけど、zendのはxml書くのかもしれん
780nobodyさん:2007/12/29(土) 22:20:05 ID:???
ZFの中のメソッドから直接echoしてるとこってある?
781nobodyさん:2007/12/29(土) 22:40:12 ID:???
grep -r echo *

(省略されました・・全てを読むにはワッフルワッフルと書き込んでください)
782nobodyさん:2007/12/29(土) 22:42:31 ID:???
あるよ
783nobodyさん:2008/01/10(木) 12:18:00 ID:???
ルーティングで
http://URL/APP/controller/action でも
http://URL/APP/controller/action/
でもアクセスできるから,自システムへのリンクを張るときに相対パスで
<a href="../otherAction/">
とか書くと上の2種類の場合でアクセス先が変わってしまうんだが
こういう時はどうすればいいの?相対パスは無理?
784nobodyさん:2008/01/10(木) 21:07:34 ID:???
無理矢理どっちかからしかアクセスさせない、とかやる方法もあるとは思うけど、
基本的には無理なんじゃないかな。
面倒だけど
{$baseUrl}/controller/otherAction
みたいなことにしてる。
785nobodyさん:2008/01/10(木) 21:37:16 ID:???
ルーティングを前提としたFWならリンク生成は
Controller/Action/Parameterを引数にとるヘルパがあって
それを使って生成するもんじゃないかね
ZFにもUrlHelperってやつがあるよ一応
(リンクは生成してくれない、上記引数からhrefになるパスを生成するだけ)

デフォルトでリンク生成のヘルパすら無いZFもどうかと思うんだけど
786nobodyさん:2008/01/14(月) 22:21:16 ID:???
windowsなんだけど、Modelをrequireする時ってc:\app\models\someModel.phpみたいに
フルパスで書いてる?それともinclude_pathに基底パス入れてる?
Modelも指定ディレクトリを参照してControllerと同名のファイルを自動で読み込んでくれればいいのに。
787nobodyさん:2008/01/14(月) 22:26:41 ID:???
>>786
置き場所変わっても動くように相対でやるのが基本。
require dirname(__FILE__) . '/aaa/bbb/ccc/Hoge.php';
みたいに、そのスクリプトファイルからの相対で書く。
ちなみにModelを一気にrequireするときは
foreach (glob(Modelのディレクトリ . "*.php") as $path) {
 require_once($path);
}
のようにする。
788nobodyさん:2008/01/15(火) 04:22:21 ID:???
>>787
ありがとう。相対パスでやってみる。

ZFでこれだけモデルが冷遇されてるのは何故なんだろう。
他のFWではモデルも自動で読み込んでくれるようなんだけど。
789nobodyさん:2008/01/15(火) 22:34:48 ID:???
autoload使えば?
790nobodyさん:2008/01/17(木) 18:31:07 ID:???
別に冷遇されてないだろ。
Zendのコンセプトは疎結合なんだから、自動で読み込まれたら結合しすぎってことだろ。
791nobodyさん:2008/01/17(木) 22:08:33 ID:???
じゃviewが自動で読み込まれるのは?
792nobodyさん:2008/01/17(木) 22:42:57 ID:???
よく知らないけどビューはコントローラを使う時ほぼ必ず必要になるからじゃない?
ごめん俺よく分からないから適当なこといってると思う。
793nobodyさん:2008/01/17(木) 22:48:02 ID:???
controllerとviewも最初は疎結合だったよ
viewが自動でロードされるようになったのもだいぶ後になってから
結局疎結合過ぎてもっていう部分で
ようやくバランス取って来てる段階
794nobodyさん:2008/01/17(木) 22:57:13 ID:???
これにDIコンテナつけて欲しい
guiceみたいにコードで書ける奴
795nobodyさん:2008/01/18(金) 21:35:47 ID:???
>>794
お前そこらじゅうでDIコンテナいってるな。どうかしたのか?
796nobodyさん:2008/01/20(日) 18:46:56 ID:???
Smartyの手動呼び出しではなくViewRendererに組み込む方法が
スムーズにいなかなくて悩んでいたんだけど、setViewBasePathSpec()メソッドが肝だった。
これでZend_Viewとほぼ同じように扱える。
既に知っていた人、Smarty使ってない人は気にしないで下され。
797nobodyさん:2008/01/21(月) 23:57:18 ID:???
PDT最新版だいぶマシになってるね。
ただphp_mysql.dllを読んでくれない・・・
php_mbstring.dllはよんでくれるんだけどなぁ。
798nobodyさん:2008/01/22(火) 00:32:15 ID:???
Zend Framework使用しているアプリでEclipseにうまく対応できるの?
799nobodyさん:2008/01/23(水) 10:37:16 ID:???
Zend使おうと思ってるけど、スレ過疎ってるなぁ・・・
今はもう人気ないのかな?

これってURL直下におかずに、外部から呼び出すタイプでおk?
800nobodyさん:2008/01/23(水) 10:46:23 ID:???
高木神のおかげでZFの日本語マニュアルが完璧なので掲示板で聞くことがあまりないし。
801nobodyさん:2008/01/23(水) 10:56:54 ID:???
>>800
ちょっと詳しく聞かせてもらおうじゃないか

今ZFダウソして、使ってみようと思うんだが
参考サイトとか何かないのかな
802nobodyさん:2008/01/23(水) 11:04:00 ID:???
インスコ出来ないんだったら素直に聞けばいいのに。。。
803nobodyさん:2008/01/23(水) 11:19:24 ID:???
インスコのしかた教えてください(´;ω;`)ブワッ
804nobodyさん:2008/01/23(水) 11:39:57 ID:???
マニュアル嫁
805nobodyさん:2008/01/23(水) 12:01:02 ID:???
>>804
おまいってやつは・・・
806nobodyさん:2008/01/23(水) 12:03:44 ID:???
Zend Framework Tutorial Screencasts
http://framework.zend.com/manual/videos

映像付きの解説。英語分からなくても流れくらいは分かるっしょ
807nobodyさん:2008/01/23(水) 13:41:50 ID:???
マヌアルより

--------------------------------------------------
<?php
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('/path/to/app/controllers');

これは、フロントコントローラのインスタンスとディスパッチを行います。
この結果、アクア本コントローラへリクエストが転送されます。
--------------------------------------------------

Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in
C:\xampp\php\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php:198 Stack trace: #0
C:\xampp\php\ZendFramework\library\Zend\Controller\Front.php(929):
Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1
C:\xampp\php\ZendFramework\library\Zend\Controller\Front.php(233): Zend_Controller_Front->dispatch() #2
C:\xampp\htdocs\Project\ZendTest\index.php(3): Zend_Controller_Front::run('/path/to/app/co...') #3 {main} thrown in
C:\xampp\php\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php on line 198

いきなりこれかよZend死ね
808nobodyさん:2008/01/23(水) 13:56:35 ID:???
>>807
いきなりも何もまだ続きがあるだろ
というかクイックスタートの終わりまでくらいは我慢しろよwww
おまえの限界クイック過ぎだろwww
809nobodyさん:2008/01/23(水) 14:24:24 ID:???
>>808
ごめ、ちょっと先走った
コントローラー設置してみて、最初の
Zend::loadClass('Zend_Controller_Action');
の部分が「Class not found」になるんだけど、
index.phpでクラスをインクルードしてからコントローラーをインクルードしてるんじゃないの?
htaccessから直接コントローラーを呼び出しているとは思えないし・・・
810nobodyさん:2008/01/23(水) 14:30:11 ID:???
>>809
Zendクラスなんてもう無いよ
どこのマニュアルを読んでるんだ?
811nobodyさん:2008/01/23(水) 14:32:17 ID:???
>>810
適当に探してブログ見つけて読んでましたorz
記事見ると07/1/13だた・・・

マニュアルは何か飛び飛びでわからないので、
簡単なサンプルを解読していく感じにしているのですが、
そういったサイトを探すので手間取ったうえでやっと見つけた資料なのにorz

812nobodyさん:2008/01/23(水) 14:42:16 ID:???
これはひどい
813nobodyさん:2008/01/23(水) 14:47:57 ID:???
おk、流れつかんできた!
814nobodyさん:2008/01/23(水) 14:48:33 ID:???
>>811
http://framework.zend.com/manual/ja/zend.controller.html
ここ通りやればとりあえずは動くよ
マニュアルわからないとか食わず嫌いして見ない方が回り道
飛び飛びと感じてもある程度全体の概念は先に掴んだほうが良い
815nobodyさん:2008/01/23(水) 14:48:35 ID:???
っていっても、マニュアルもZendクラス呼び出してるんだが・・・
http://framework.zend.com/manual/ja/zend.view.html#zend.view.introduction.view
816nobodyさん:2008/01/23(水) 15:01:16 ID:???
>>815
そのマニュアルで呼び出してるのって、Zend_Loaderクラスだよ。

>811
http://codezine.jp/a/article/aid/1961.aspx?p=1
817nobodyさん:2008/01/23(水) 15:03:12 ID:???
>>816
なるほど!
だんだん分かってきた
これ面白いな

もっと遊びつくしてみま
818nobodyさん:2008/01/23(水) 15:07:57 ID:???
質問すると>>817と同じ人と思われるかもしれんが・・・。

/Controller/.htaccessで自動的にAction.phpスクリプトを読み込むようにするのってアリかな?
毎回先頭にrequire_onceを記述するのがめんどう
819nobodyさん:2008/01/23(水) 15:44:21 ID:???
>>818
Action.phpってZend/Controller/Action.phpのこと?

Zend/Controller/Action.phpはZend/Controller/Dispatcher/Standard.php
でrequire_onceしてるから、コントローラに書かなくてもおk。

Zend/Controller/Action.phpを継承したオレオレ_Controller_Actionクラスだと
require_onceしないとダメだけど。

自分なら.htaccessに書くんじゃなくて、index.phpとかに書くかなぁ。
820nobodyさん:2008/01/23(水) 21:25:58 ID:???
だから面倒ならautoload使えと(以下略
821nobodyさん:2008/01/23(水) 21:44:27 ID:???
今subversionのやつ見てきたら、Zend_Layoutってのがあったから次のバージョンから追加されるっぽいのかな
822nobodyさん:2008/01/25(金) 11:33:37 ID:???
FW語るスレからきました

Zend使ってるんだけど(始めたばかり)
モデルのところで、データベースアクセス関係作って、
必要に応じてコントローラから呼び出す形になるのかな?
入門書買ったけど、その辺が詳しく載ってない
データベースアクセス関係のスクリプトばっかりでどこに保存しとけばいいのかわかんない
823nobodyさん:2008/01/25(金) 21:14:23 ID:???
モデルは基本的に好きなようにやれ
824nobodyさん:2008/01/26(土) 16:03:52 ID:???
PDTでZF使ってる人いる?
どこで指定すればZFを読み込んでくれるの?
825nobodyさん:2008/01/27(日) 00:12:48 ID:???
>>824
includeでできない?
826nobodyさん:2008/01/27(日) 00:36:20 ID:???
なんだ、IDEとして互換性があるのかと思っていたけど普通にincludeして実行できるだけなのね・・・。ともあれthx
827nobodyさん:2008/01/27(日) 16:07:19 ID:???
>>826
ZendStudio for Eclipseならincludeしなくてもいい。
828nobodyさん:2008/01/29(火) 09:40:07 ID:???
>>823
というと、基本的にFrontかコントローラから必要に応じたモデルのみincludeするのかな?
829nobodyさん:2008/01/29(火) 11:01:17 ID:???
ふと見たら1.5.0のプレビュー版リリースされてたのね
830nobodyさん:2008/01/29(火) 11:35:06 ID:???
PDT使ってるけど、デフォルトでZendFWを使えるように設定とかないかな・・・?
自分でパッケージ作っておくべきか
831nobodyさん:2008/01/30(水) 03:34:39 ID:???
832nobodyさん:2008/01/30(水) 09:50:07 ID:???
>>831
便利そう
便利そうなんだけど・・・
高いんだよなorz
833nobodyさん:2008/01/30(水) 12:39:11 ID:???
Zend_Mailってマルチバイト対応してないっけ
834nobodyさん:2008/01/30(水) 20:36:56 ID:???
>>833
してる
$this->_mail = new Zend_Mail(Zend_Mime::ENCODING_7BIT);
$this->_mail->setBodyText($str,Zend_Mime::ENCODING_7BIT);
835nobodyさん:2008/01/30(水) 20:57:17 ID:???
zend_mailって携帯に送っても文字化けしたりしない?
836nobodyさん:2008/01/30(水) 22:07:35 ID:???
変な文字コードで送らなければ大丈夫だろ
837nobodyさん:2008/02/01(金) 11:10:58 ID:???
>>835
JISで送るといいよ
そこはZendだけじゃなくPHPのmail関数でも一緒
(Zendもmail関数だっけ)

ところで、ディスパッチャ処理で$this->_forward("hoge", "hoge")って、
リダイレクトじゃなく呼び出し?
フロントコントローラ通さずに直接アクション呼び出してると思うんだが・・・
$_POSTデータもそのままだし・・・。
838837:2008/02/01(金) 11:12:47 ID:???
・・・と、リダイレクトは_redirectがあったのか・・・。
839nobodyさん:2008/02/01(金) 15:42:05 ID:???
アクションヘルパーのredirectorもあるでよ
840nobodyさん:2008/02/02(土) 17:13:49 ID:???
actionとviewってactionnameActionの代わりにactionNameActionみたいに書けますか?
/actionName でリクエストしても、Zend_View_Interface#renderに全部小文字で渡ってくるぽいので
デフォルトだと無理そうなのですけど、何か設定変えてやる方法ないでしょうか?
841nobodyさん:2008/02/02(土) 17:39:49 ID:???
>840
http://framework.zend.com/manual/ja/zend.controller.action.html
> アクションメソッド名が camelCase 方式の場合、 ビュースクリプトのファイル名では
> 単語が '-' で区切られることに注意しましょう。
だから、actionNameActionにすると
ビュースクリプト名はaction-name.phtmlになるけど
ビュースクリプト名もcamel caseにしたいということ?

viewRendererあたりに手を入れる必要があるんじゃないかと思う
コード追っかけてみるか、素直にデフォルトの規約でやるかだな
842nobodyさん:2008/02/02(土) 18:21:28 ID:???
あれ、俺の環境では大文字小文字関係なしにテンプレート読んでくれるけど
843nobodyさん:2008/02/02(土) 19:20:48 ID:???
そりゃWindowsだからだろ
844nobodyさん:2008/02/02(土) 19:25:23 ID:???
そういうわけでなくハイフン区切りにしなくてもということ
845nobodyさん:2008/02/04(月) 14:10:35 ID:???
>>841
そう。ソース追ったら、
$this->getViewScript($this->_request->getActionName());
でViewRendererから呼ばれる
Zend_Controller_Action_Helper_ViewRenderer#_translateSpec
でtolowerしてました。Renderer変えないとだめそうです。
/controller-name/action-name (url) -> ControllerName#actionNameAction (controller) -> controller/action-name.php (view)
がZend推奨ぽいですね。

>>842
>>844
そうですね。これドキュメントまちがってますね。
846nobodyさん:2008/02/04(月) 14:14:16 ID:???
>>834
> $this->_mail = new Zend_Mail(Zend_Mime::ENCODING_7BIT);
こっちは new Zend_Mail('ISO-2022-JP'); ですよね?
しかし、ヘッダー関連足すときに自分でencodeしないと変なエンコーディングになって面倒・・
847nobodyさん:2008/02/04(月) 22:51:58 ID:???
>>846
ああ、ごめん、確かに間違ってたわ
__construct($charset='iso-8859-1')
なのね
848nobodyさん:2008/02/04(月) 22:58:45 ID:???
失礼、引数みるとsetBodyTextも2番目はcharsetなので
setBodyText($str,'ISO-2022-JP',Zend_Mime::ENCODING_7BIT);
ですな
まぁラッパークラス作ればエンコーディングの指定は毎度毎度やらないだろうからいいんじゃないかな
849nobodyさん:2008/02/05(火) 13:18:44 ID:???
>>845
今度出る1.5では「FooController::CamelCaseAction」が「foo/camel-case.phtml」になるらしい
ttp://tdiary.ishinao.net/20080204.html#p01
850nobodyさん:2008/02/05(火) 15:07:24 ID:???
camelcaseの区切りはアンダースコアにして欲しいんだけどな
アンダースコアはpath delimiterに使われてるからか

url: controller/action_name
action: actionName()
view: controller/action_name.phtml

が一番しっくりくるんだけど
851nobodyさん:2008/02/06(水) 12:07:54 ID:P8eN/dUP
オプションで変更できればいいんだけどな。
852nobodyさん:2008/02/06(水) 23:02:38 ID:???
このフレームワークって
controller/action/引数名/値/引数名/値/
ってリクエストの形式だけど、
controller/action/値/値/
の形式でgetParam(0)とかで引数参照できるようにできないのかね。そっちのほうが好きなんだが。
853nobodyさん:2008/02/07(木) 00:46:59 ID:???
>>852
http://framework.zend.com/manual/ja/zend.controller.router.html
Zend_Controller_Router_Rewrite
のあたりと、getParamsを使うと少し幸せになるかもよ
854nobodyさん:2008/02/07(木) 10:19:25 ID:???
>>852
デフォルトでできるんだが
むしろ前者のパターンだと相当古いバージョンを使ってると思うが
855nobodyさん:2008/02/07(木) 10:26:05 ID:???
デフォでできんの?どうやんの?
856nobodyさん:2008/02/07(木) 11:18:06 ID:???
>>855
routerにrouteを追加するだけ
$route = new Zend_Controller_Router_Route(':controller/:action/:id/:id2');
$router->addRoute('two_params', $route);
ていうかマニュアル嫁
857nobodyさん:2008/02/07(木) 23:56:07 ID:???
ttp://msdn.microsoft.com/msdnmag/issues/08/01/PHPandIIS7/default.aspx?loc=jp
ZFっぽく、URLパースして特定のメソッドをInvokeMemberするようIIS7モジュールを
ZFのControllerソース見ながら作ろうとして挫折
便利に使えるように、なんだかんだで内部じゃ頑張ってるんだな、ZF
858nobodyさん:2008/02/08(金) 00:12:15 ID:???
1.5のPreでても1.5の話題が全然でなくてしょんぼり。
859nobodyさん:2008/02/08(金) 02:27:47 ID:kZbVINNL
でも、良いの〜。あたしゲイツ様に捕まってうれしいの〜♪
860nobodyさん:2008/02/08(金) 16:03:42 ID:???
Zend_Db使ってDBの行に値を格納するときって、
必ず自分で
class Bugs extends Zend_Db_Table_Abstract
{
protected $_name = 'bugs';
protected $_primary = 'bug_id';
}
みたいに書かなきゃいけないの?
861nobodyさん:2008/02/08(金) 16:43:41 ID:???
そんなことないけど?
862nobodyさん:2008/02/08(金) 23:31:33 ID:???
>>860
1.5はまだ触っていないけど、1.0.3の話で言うと
テーブル名から機械的に作れないようなクラス名を使いたい時だけ $_nameの明示が必要だよ

$_primaryはキー項目を要求するメソッド、たとえばfindを使いたいときに指定してあげる必要があるよ
863nobodyさん:2008/02/12(火) 10:38:38 ID:???
modelsディレクトリの存在って特に意味ないのかな
ただ、そこにスクリプト置くと効率がいいよってな感じと見ておk?
モデルを簡単に呼び出すようなものがあれば便利なんだけどなぁ
864nobodyさん:2008/02/12(火) 11:38:37 ID:???
MVCについて勉強するといいよ
865nobodyさん:2008/02/12(火) 11:40:01 ID:???
>>864
いや、仕組みは理解できたんだけど、
ZendにはModelをサポートするような機能がないから気になって・・・
結構Modelに関しては放置してるような記事が数点見られたし、どうなのかなと
866nobodyさん:2008/02/12(火) 12:54:34 ID:???
Zend_Db_TableとZend_Db周りがあるじゃない
867nobodyさん:2008/02/12(火) 15:16:31 ID:???
質問です。
PDO接続で、どうしてもエラーが出るのですが、
The mysql driver is not currently installed'

MySQLは使えるのですが、PDOの接続ができないということでしょうか?
普通のMySQLとして接続する方法とかないのでしょうか
868nobodyさん:2008/02/12(火) 15:33:30 ID:???
pdoは入っているけど、pdo_mysqlが入っていないと見た。
869nobodyさん:2008/02/12(火) 15:36:00 ID:???
>863
>モデルを簡単に呼び出すようなものがあれば便利

これって例えばどんな感じ?
ただ、ZFのDB関連は比較的プリミティブだとは思う。
870nobodyさん:2008/02/12(火) 15:37:06 ID:???
>>868
そのとおり、Pdo_Mysqlが入っていませんでした・・・
Zend_Dbを見ると、Pdo_Mysqlが入っていること前提ということなのでしょうか?
ローカルでできたのにレン鯖でできなかったorz 作り直さなきゃいけないのか・・・
871nobodyさん:2008/02/12(火) 15:48:39 ID:???
pdo_mysqlだとレン鯖では難しいかもしれない。ユーザ領域に追加するのが難しい。
サーバがCentOSみたいなパッケージベースでバージョンが分かっていて、
PHPのインクルードパスを変更できるなら、
コンパイル済みのpdo_mysqlパッケージをユーザ領域に展開してインクルードできるかも。
当然、コンパイル環境はないんだよね?
872nobodyさん:2008/02/12(火) 15:50:40 ID:???
>>871
当然ないです。
ということは、ZendDbは使えないということで決定でしょうかorz

おとなしくPEARに戻らないとorz
873nobodyさん:2008/02/12(火) 18:17:01 ID:???
php5とmysqlサポートしてるのに
pdo_mysqlのドライバが入ってないっていうサーバもアレだな
とりあえずサポートに連絡して
40秒で今からpdo_mysql入れなかったら解約だバカってクレームつけろ

まあライブラリがサポートしてるドライバくらい先に見とけってのもあるけど
mysqliドライバはZend_Dbにあるからmysqliが使えないか調べてみるとか
書き直すくらいなら自分でZend_DbのAPIに合わせて
PHPネイティブのmysqlのfunction使ったドライバ書く方が早いんじゃね
874nobodyさん:2008/02/13(水) 09:17:27 ID:???
>>873
有名なさくら鯖様です
875nobodyさん:2008/02/14(木) 02:17:26 ID:???
たまたま自分もさくらで試していたけど、Pdo_Mysqlもmysqliも入ってなかったorz
Pdo_Mysqlが入ってる鯖に乗り換えました
876nobodyさん:2008/02/14(木) 09:51:02 ID:???
意外とPdo_Mysqlの入ってる鯖って少ないのかな?
だったらDb関係は全てPEARで実装するしかないか・・・
$select->from()みたいな感じの記述方法結構気に入ってたのになー
877nobodyさん:2008/02/14(木) 11:46:52 ID:Fq1v3NmX
xrea
878nobodyさん:2008/02/14(木) 14:08:48 ID:???
PDOで$select->from()? PDOはプリペアードステートメントじゃねーの?
879nobodyさん:2008/02/14(木) 16:45:46 ID:???
何言ってんの?
880nobodyさん:2008/02/14(木) 17:35:10 ID:???
あれ?別のアクション呼び出しって$this->_callじゃなかったっけ・・・
881nobodyさん:2008/02/14(木) 21:41:48 ID:???
インターフェースとか正直PHPにとってJava真似のカッコつけでしかないよな。
これはインターフェースを使って実装したからうまくいったなんて例あったら教えてくれ。
882nobodyさん:2008/02/14(木) 22:07:34 ID:???
いきなりどうしたんだ?
883nobodyさん:2008/02/14(木) 22:32:59 ID:???
> これはインターフェースを使って実装したからうまくいったなんて例あったら教えてくれ。

Javaの例がそのままあてはまる。以上。
884nobodyさん:2008/02/14(木) 22:35:21 ID:???
> Javaの例がそのままあてはまる。
885nobodyさん:2008/02/14(木) 22:45:12 ID:???
>>881
インターフェイスはメソッドを実装せずにそのまま継承するとエラーを出すクラスを表現する糖衣構文。
絶対なくてはならないものじゃないけど、あった方が便利でいいよね。
886nobodyさん:2008/02/14(木) 22:54:53 ID:???
それはabstract classじゃないのか
887nobodyさん:2008/02/14(木) 23:08:42 ID:???
>>886
abstractはすでにいくつか実装されたメソッドを持ってるけど、interfaceは持ってない。
まあ似たようなもんだけど。

あ、もしかして>>881は全部abstractでいいじゃんって言いたいのか?
888nobodyさん:2008/02/14(木) 23:31:13 ID:???
インターフェイスってタイプヒンティングにも使えたっけ?
889nobodyさん:2008/02/14(木) 23:35:13 ID:???
もち。
使えなかったらインターフェイスの意味なくね?そうでもない?
890nobodyさん:2008/02/14(木) 23:41:04 ID:???
PHPでの例ならZend_View_Interfaceが良い例だと思うよ。

正直JavaやC#やるまでインターフェイスの便利さが理解できんかった。
便利さが実感できるのは厳格な型がある言語とそうでない言語との違いじゃないかと思う。

891881:2008/02/15(金) 04:02:49 ID:???
>>890
まさにそうだと思う。PHPなんて何でも受け取れるんだからイランと思う。
PHPは方向を見失ってるな。matzは嫌いだが、言っていることは正論だ。
彼のオブジェクト指向に対する考えの深さには驚く。
892nobodyさん:2008/02/15(金) 04:13:23 ID:???
ってかrubyも厳格な型がある言語じゃねーだろ
893nobodyさん:2008/02/15(金) 05:14:03 ID:???
厳格もなにも型がない事の利点を見出して活用してる言語だし、881への指摘としては的外れじゃね
その割には仕様がない事による迷走具合が酷かったりするが、まあスレ違いだな

phpはどこに向かうんだろな。goto導入とか既にブロガー共の定番ネタ化してるが
894nobodyさん:2008/02/15(金) 08:03:17 ID:???
>>891
Interfaceいらないっていう理由がよくわからんな
単に自分が使ってないだけじゃないのか?
理由をもうちょい詳しく言ってくれ
895nobodyさん:2008/02/15(金) 08:28:43 ID:???
>>890はPHPではインターフェースの便利さが理解できなかったって書いてるのであって
インターフェースが要らないとは書いてないしな。
JavaやC#だってインターフェースを使わなくてもプログラミングが出来る。
しかし、OOPするならインターフェースは欲しい。
言語じゃなくてプログラミングスタイル(っていうのか?)次第じゃね。
896nobodyさん:2008/02/15(金) 08:54:29 ID:WvlYrnu/
インターフェースってのはつまり、エラー報告機能のついたドキュメントだよね。
897nobodyさん:2008/02/15(金) 09:35:00 ID:???
>>891 >>893
890だけど、ごめん言葉足らずだったわ。
要るか要らないかって言うと俺は便利だから要る。

>>895
言いたい事書いてくれてありがとうw
898nobodyさん:2008/02/15(金) 09:35:35 ID:???
>>885,896
なんか"エラーを出す"にこだわっているというか重点があるように読めるんだけど、
インターフェースはクライアントに見せる仕様書みたいなものだから、
エラーは二次的なもというかそれ以前の話。
茶碗と箸を用意しても腹はふとらない。
茶碗と箸を使うことを決めてるだけで、クライアントは原則それを使う。
インターフェースでプログラムするのがOOPの基本だろ。
899nobodyさん:2008/02/15(金) 10:13:42 ID:???
>>898
エラーを出すから仕様書みたいな扱いにできるんじゃね?
まあ鶏が先か卵が先かみたいな話になるけど。
900898:2008/02/15(金) 10:59:35 ID:???
>>899
いや、意外と重要だと思うんだ。間違いじゃないけど、理解度の問題かな?
俺もOOを100%理解しているとは思えないので間違ってたら叩いてくれ。

茶碗と箸を用意(実体化:new)して「飯が食えない」ってエラーが出て便利か? ってこと。
インターフェースが便利なのは、飯が和食じゃなくて洋食となりお皿とスプーンが
必要となったとしても、それは実装で変えればいいだけでインターフェースは変わらない。
クライアントコードは茶碗と箸で洋食が食える(クライアントコードを修正する必要がない)

例えが変な気もするが許してくれ、言いたいことは伝わると思ってるんだが。
901nobodyさん:2008/02/15(金) 11:00:22 ID:???
> 茶碗と箸を用意(実体化:new)して「飯が食えない」

ワロタ
902898:2008/02/15(金) 11:08:54 ID:???
ごめん、ちょっと勘違いw。
もちろん、茶碗だけ用意して「箸忘れてんどー」ってエラーが出るのは便利。
>>885,896がインターフェースに対してnewしてエラーが出ると言っていると思ってたスマソ。
903898:2008/02/15(金) 11:27:10 ID:???
なんかツッコミどころを間違えて、ちょっとじゃなくて大きな勘違いだったな。マジでスマソ。
とは言っても、俺的には「実装し忘れてエラー」なんかよりも、
「実装が変わってもクライアントコードはそのまま」がインターフェースの本質だと思ってる。
だから「エラーが出る」とだけ書かれるとなんか引っかかる。
ついに言い訳モード(´・ω・`)
904nobodyさん:2008/02/15(金) 15:57:20 ID:???
>>892
インターフェースがいらないといってるだけなんだが、良く読んでくれ。
Rubyは動的言語(ダックタイピング)をうまく活かして、インターフェースじゃなく
mixinで多重継承を実現してるといいたいだけ。

>>894
上に述べたことに答えは含まれているけど、
PHPでインターフェース宣言するメリットがどこにあるのかわからない。
Javaは受け取る変数の型によってもクラスを作り変えなきゃいけないからインターフェースで外面を定義するのはわかる。
matzの言葉を借りるなら、「仕様の継承」と「実装の継承」

PHPもJava真似をせずに、違う形で多重継承をサポートすべきといいたい。
905nobodyさん:2008/02/15(金) 16:18:44 ID:WvlYrnu/
厳格性を重視するなら、mix-inとインターフェースは対立するよね。
906nobodyさん:2008/02/15(金) 16:33:07 ID:???
>>904
上の方でいくつかインターフェイスの利点が挙げられてるけどそれについてはどう思ってるの?
それを言わずに、メリットがどこにあるのかわからない、って言われても俺には何言ってるのかわからない。
すまんけど、もっときちんと説明してくれ。煽りとかじゃなくてマジでわからんから。
907nobodyさん:2008/02/15(金) 17:26:39 ID:???
PHPはJavaじゃねえっつーの。
interfaceなんかとりいれる暇があったらmixinを実装しろや。
interfaceの利点なんてmixinのそれに比べれば屁みたいなものだし。

ってことじゃないかと思った。
908nobodyさん:2008/02/15(金) 19:03:51 ID:???
Zendの例で言うとViewを拡張してオレオレViewを作りたい、って時に
Zend_View_Interfaceで既定されたAPI通りに作ればそのまま
Zend_Controllerに放り込んでも動きますよ、っていう感じで
別のクラス内部で使われるものを拡張するような
ライブラリを使う場合にinterfaceの意味はちゃんとあると思うけど
(別になくてもいいけど使う側の苦労が増える)

rubyのmoduleのようなmixinが欲しいってのはそりゃ同意だけど、
配列をブラケット表現で書けるパッチに大半が反対意見の惨状を見る限り
ドラスティックに改善する見込みの無いこの保守的な言語に何言っても無駄だと思うので
PHPの言語仕様に文句言う暇があったら他の言語の勉強してる方がまし
それか、こんなところでウダウダ言ってないでinternalsに苦情のメールを投げつけたらいい
909nobodyさん:2008/02/15(金) 20:13:04 ID:???
mixinてIDEの自動補完きかないよね?
そんなのイラネ
910nobodyさん:2008/02/16(土) 08:06:46 ID:???
コーラ噴いた
911nobodyさん:2008/02/16(土) 12:52:02 ID:???
静的で型の強い言語で得られる利点と、動的で型の弱い言語で得られる利点は違う。
型推論を持つ関数言語では、コンパイル時のほぼ全てのバグを検出できるというけど、
PHPはもともとそういうところを目指した言語ではないから、
PHPの性質からいえば、mixinみたいなものの方が緩くていいように思う。
var引数にどんなクラスのインスタンスも渡せてしまうというのが、
欠点なのか利点なのかというのは、バグ検出の立場から言えば明らかに欠点だけど、
例えばストラテジー・パターンでアルゴリズムを書いた場合に、
C++のテンプレート・アルゴリズムみたいに使えるという利点はある。
interfaceの話で言えば、ここである程度型の保証をしたいということになる。
912nobodyさん:2008/02/16(土) 14:07:24 ID:???
これ以上PHPをゆるくするのは個人的には勘弁だなあ
そういうのはもうRubyでやればいいんじゃね?と思う
PHPはJavaのマネをすべきとは思わんがRubyのマネをすべきとも思わんしなあ
913nobodyさん:2008/02/16(土) 14:32:09 ID:???
半端なのがまずいんでしょ
結局phpは緩い自由度提供したいのか、
堅いチェックできっちり作れる言語にしたいのか。

両方を上手く取り入れられれば理想なんだけど、そうもいかんしね
現状では妥協点がはっきりしないまま迷走してる
914nobodyさん:2008/02/16(土) 14:44:56 ID:???
現状は前者だろ?
後者に揺れて迷走してるって具体的に何を指してるんだ?
915nobodyさん:2008/02/16(土) 15:11:24 ID:???
え?おれ自由って認識ないな。制約だらけというか
とりあえずcreate_functionは不自由だと思う。透過的に引っ張り回せないし。
nullと空文字を区別してたり===/!==が必要になったりってのも
リフレクション周りも妙に不自由するじゃない

良い意味でユルい言語ではないし、良い意味で堅い言語でもない
916nobodyさん:2008/02/16(土) 15:12:20 ID:???
「良い意味でユルい言語」ではないし、「良い意味で堅い言語」でもない

としないと意味が逆にw
917nobodyさん:2008/02/17(日) 01:52:40 ID:HodSsYVt
array();なんて書くのかったるいから[]でいいし
hashも区別させたいから{}もつかいたい
でもinternalの中の人はそういうの好まないってきいた
918nobodyさん:2008/02/17(日) 05:11:24 ID:???
ゆるい/堅いというより型が動的だからなぁ。
だからインターフェースがあっても意味が半減するかもしれないが...

以前「php4はメンバがオールpublicなんでカプセルかできねーYO」って書き込みがあって、
そんとき、「カプセル化は独立性が目的なんだから、PEARのようにコーディング規約で...」
って書いたんだけど、そんなんじゃ意味ねぇってことだったかな。
で、アクセス権が指定できるようになって、言語仕様上カプセル化が可能になったわけなんだから
カプセル化されたオブジェクトを弄るインターフェースも、ってのは普通の流れになると思うが、
なんでそれがJavaのまねごとになるかなぁ。

一番の自由はユーザの要望かw。
そんな俺はC#の静的コンストラクタが欲しい。
919nobodyさん:2008/02/17(日) 05:24:11 ID:an+fL3fY
privateなメソッドの単体テストってどうしてる?
920nobodyさん:2008/02/17(日) 07:36:43 ID:???
>>919
単体テスト?
何か問題でも?
921nobodyさん:2008/02/17(日) 12:53:01 ID:???
>>915
> nullと空文字を区別してたり

いや、nullと空文字は概念的に違うものだろ。
ついでに空配列とfalseもそれぞれ違うもの。

たとえばデータベースなんかでも、
nullと空文字は違うもの扱いになっていることが多い。
922nobodyさん:2008/02/17(日) 13:07:00 ID:???
>>919
それさぁ、前から思っているんだけど、privateなメソッドというものは、
その実装をクラス内部しか知らないわけだから、クラス自身が
自己テストという形でやればいいんじゃないかなと思っている。

つまり、クラスにpublicなtestメソッドを作ってそのメソッドが自己テスト。

問題点としては、クラス自身にテストコードが含まれるため
クラスのコードサイズが膨れ上がるということ。

この問題は、C# 2.0の話になるが、C#には一つのクラスを複数のファイルで書くことができる
partial というものがあってそれを使えばテストコードを分離しながらテスト時にはテストコードを
追加してコンパイルリリース時には省いてコンパイルという方法が使えると思う。

とここまで書いたが、単純に条件コンパイルでリリースモードの場合testコードを取り除くという方法でいいかw
テストコードを別ファイルにしたかったら、include。
923nobodyさん:2008/02/17(日) 13:11:50 ID:???
Zend_Filter_Inputを各画面で使いたいんですけど、
validatorsには、受け取る可能性のある全てのフィールド (パラメーター) 名を指定しないと行けないのでしょうか。
どんなフィールド名が来るかわからない時にZend_Filter_Inputオブジェクトを取得する良い方法はありますか?

一部のフィールドにはvalidatorを掛けたいので、
validatorsに指定していないフィールドが来た時はvalidateなしでそのまま格納する、
と言うオプションでもあれば良いんですが、今のところ見当たらなくて。

こっちのフィールドがこういう値だったらこっちのフィールドはこういう値じゃないと駄目、
とか言うチェックもやりづらいし。。
924922:2008/02/17(日) 13:44:48 ID:???
雑にだけどPHP版で書いてみた。
class A {
 private $value = 1;
 private function foo() {
  $this->value++;
 }
 public function test($unit_case_object) {
  include 'a.test.php';
 }
}
//テストコード a.test.php
<?php
$unit_case_object->assertEqual($this->value,1);
$this->foo();
$unit_case_object->assertEqual($this->value,2);
$unit_case_object->assertEqual($this->value,100);
?>

//UnitCaseからこんな感じで呼ばれる予定
class UnitCaseMock {
 function assertEqual($value1, $value2) {
  if($value1!=$value2) {
   print $value1. ' != ' . $value2 . '<br>';
  }
 }
}
class TestCase extends UnitCaseMock {
 function test() {
  $a = new A;
  $a->test($this);
 }
}
925922:2008/02/17(日) 13:47:15 ID:???
privateメソッドはテストすべきとか
ユニットテストはそもそもpublicなものをやるものだとか
いう話はあるけど、自己テストという形でやるべきだという
話は聞いたこと無いんだよね。

まあ詳しく調べたわけじゃないから知らないだけだろうけど。
誰か知っていたら教えて。
926922:2008/02/17(日) 13:57:17 ID:???
思いついた改良ポイント

class Aをの親クラスでfunction testを作っておけば
class Aを継承させるだけですむ。

テストコードのファイルをクラス名から自動判断。
またフォルダにし、a.test/〜.php という形にすれば、
テストコードを記述したファイルを細かく分けられる。
そこに、setUp.php tearDown.php を作ることで、初期化・終了コードも実行できる。
927nobodyさん:2008/02/18(月) 09:53:58 ID:???
Modelsって、一部の動作を簡略化するためにライブラリみたいな感じで置いて使ってるんだが、
こんな使い方でいいのかな?
928nobodyさん:2008/02/18(月) 10:48:32 ID:???
modelが処理の根幹だろ・・・
929nobodyさん:2008/02/18(月) 11:12:15 ID:IeH302DJ
modelsにPEARも置いてる俺
930nobodyさん:2008/02/18(月) 16:00:19 ID:???
>>928
処理はあくまでコントローラで処理のサポートの主な部分がモデルだろ
931nobodyさん:2008/02/18(月) 17:09:03 ID:???
通常はModelがビジネスロジックを持つ
WebフレームワークだとControllerはRouterになりがち
ただ、遷移の多いアプリであれば、Routerこそが処理とも思える
まあ、役割がちゃんと分かれていればいいんじゃないの
932nobodyさん:2008/02/18(月) 18:06:25 ID:???
一つのモデルから、もう一つのモデルへ
データを移動するような処理は
どこに書けばいいのだろうか?
933nobodyさん:2008/02/18(月) 19:06:28 ID:+oxjUq0H
http://framework.zend.com/manual/ja/zend.view.scripts.html#zend.view.scripts.templates

であるように、Zend_View_Smartyを使った場合、テンプレートファイルが
あちこちにある場合は、どうしたらいいのでしょう? setScriptPathだと
ひとつしか設定できないよね?
934nobodyさん:2008/02/18(月) 19:42:55 ID:???
>>933
そもそもSmarty自体が複数のパスに対応してないからしょうがない
まあパスが複数必要になるケース自体も稀だと思うが
最悪、複数Viewのインスタンスを用意して別々のパスを設定すればいいよ
それが手っ取り早いだろう
935nobodyさん:2008/02/18(月) 20:57:41 ID:???
コントローラの分割の仕方が良く分からない。
結局DB主体に作ってる。
4〜5のマスタを管理するコントローラと、3〜4の関係を管理するコントローラみたいな。
でも結合させるから境界なんてあいまいだし。
流用するモデルもあまりないから利点が実感できない。結局アクションごとに独立しちゃってる。
936nobodyさん:2008/02/18(月) 23:13:03 ID:???
>>933
Zend_Controller_Action_HelperBroker::addHelper($viewRender);
で $viewRenderを指定すると、よろしくコントローラにひもづいたテンプレートを
取得してくれるけど、そういう話ではない?

単純に色んなパスから取得するのなら、毎回setSctriptPathを指定するしかないんじゃないかなぁ。
$smarty->setSctriptPath('path/to/foo');
$foo = $smarty->render('path/to/foo.tpl');
$smarty->setSctriptPath('path/to/bar');
$bar = $smarty->render('path/to/bar.tpl');

$smarty->setScriptPath('path/to/hoge');
$smarty->assign('foo', $foo);
$smarty->assign('bar', $bar);
$hoge = $smarty->render('path/to/hoge.tpl');
echo $hoge;
937nobodyさん:2008/02/18(月) 23:40:09 ID:???
Zend/View/Smarty.phpの中身を好きなように書き換えればおk
938nobodyさん:2008/02/19(火) 00:07:36 ID:???
なんだかんだでSmarty利用率高いよな
939nobodyさん:2008/02/19(火) 01:42:45 ID:???
>932
それはたぶん、主となるマスタ側のモデルでしょ
モデルさえ定義しておけば自然にロジックが機能するのが理想
940nobodyさん:2008/02/19(火) 02:51:44 ID:???
なんかMVCの良い見本になるオープンソースアプリとかないかね。
理屈は分かるんだけどやはり実物を見ないと理解が深まらない。
941nobodyさん:2008/02/19(火) 03:27:03 ID:???
Struts
942nobodyさん:2008/02/19(火) 03:29:43 ID:???
> Struts

重い死に行くフレームワークを持ってこられても・・・

943nobodyさん:2008/02/19(火) 03:47:56 ID:???
SSH(笑)の一角を死に行くとかいわれても・・・
944nobodyさん:2008/02/19(火) 05:02:01 ID:???
いや、SpringにとってのStrutsは、JSFに取って代わられつつある
というか、>940の言ってるのはフレームワーク使ってる側でしょ
たぶん、osCommerceとかXOOPSとか、
あのあたりがフレームワーク準拠のMVCで書かれると、
大きさとしてはいいサンプルになると思うけど
そういうのはまだないのかな…
945nobodyさん:2008/02/19(火) 05:09:47 ID:???
リクエストを受け取って動作を決める部分をC
ストレージとのアクセスを担当する部分をM
レスポンスを吐く部分をVと言ってるだけだよ
疎結合とDRYを求めたら自然とそうなっていく形
「ここはCなのか?Mなのか?」とか考え始めたら本末転倒になりがち
946nobodyさん:2008/02/19(火) 13:49:56 ID:BGhiTflR
osCommerceのソースって改めて見るとひどいな
947nobodyさん:2008/02/19(火) 14:05:42 ID:???
XOOPSはXOOPS独自のフレームワークで書かれてて、見た目は結構いいね。
中身は良く知らないけど。
948nobodyさん:2008/02/20(水) 01:27:57 ID:???
中身はいろいろ糞だと突かれてたな
最近のはどうなのかな。全体を包む部分の設計は良い感じなんだけど、掘り進むと(※現場適用を想定)あーこれこっちからも使えるようにしたいなーでもそういう組み方じゃないんだよなーとか色々悩んじゃうね

プロジェクト逼迫してる今やるこっちゃないなw
zendでメールマガジンサーバ/webUIをきっちり作り込んでみたものの、MTA選定が右往左往。。validationクラスは素性が良くて助かります。DB絡みのブリッジでもプレースホルダきっちりしてて良い感じです

ここで俺はぷかぁと煙草くゆらすわけです。
ほんとにこれでいいのかと。この後にDB版に投げて大丈夫なのかいなと。

cube以前のxoops採用は弊社では失敗で終わりました故の愚痴でしたお気に絵図
949nobodyさん:2008/02/20(水) 01:40:21 ID:???
>>948
時間が出来たら、是非サンプルとか公開してくだちい>q<
950nobodyさん:2008/02/20(水) 16:43:41 ID:???
オープンソースのウェブアプリって
なんか有名だから、簡単に採用できるだろ?と
思って使ってみると、こりゃダメだってのが多いよな。

スキル無くて、こういう機能は搭載されていません。
自分のところでは作れません。
できるのは設置とプラグインいくつか入れる程度です。
って所なら、こういうもんってあきらめて終わりなんだろうけど、

自社で開発できる所が、開発費・開発日数削減で使おうと考えると
自社で作ったら簡単に出来るであろうことが、
改造で組み込む→ソース汚い→改造しにくい→愚痴が出る。
ということになるんだよな。
951nobodyさん:2008/02/20(水) 23:34:42 ID:???
愚痴ですか?
952nobodyさん:2008/02/21(木) 12:44:56 ID:???
事実です
953nobodyさん:2008/02/21(木) 12:51:33 ID:???
954nobodyさん:2008/02/22(金) 05:29:10 ID:???
そのプロジェクト、ぜんぶ空みたいだけど
なんかZFに対していいしれぬ不安を覚えた…
955nobodyさん:2008/02/22(金) 05:38:46 ID:???
始める→ZFショボ!!→他やるわ
こんな感じじゃね
俺もだけど
956nobodyさん:2008/02/22(金) 13:41:19 ID:???
MVCの切り分け方は自由であることを承知の上で聞くけど、
各コントローラに対するアクションって、confirm,update,deleteみたいな3〜4個の機能を実装するのが基本なの?
957nobodyさん:2008/02/22(金) 14:47:32 ID:???
>>956
1コントローラに対して1リソースのCRUD関連アクションを
実装するのはまあ普通だ、わかりやすいからな
958nobodyさん:2008/02/22(金) 18:56:33 ID:???
前にSmartyについて質問したもんです。おかえさまで解決。
サンクス。

しかし、デフォルトと違うディレクトリ構成にしたせいか。
ルーティング?でこけて404になる。

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

$front = Zend_Controller_Front::getInstance();
$front->setParam('noViewRenderer', true);
$front->setControllerDirectory(array(
'default' => '../../application/modules/aaa/controllers',
'aaa' => '../../application/modules/aaa/controllers',
'bbb' => '../../application/modules/bbb/controllers',
'ccc' => '../../application/modules/ccc/controllers',
'ddd' => '../../application/modules/ddd/controllers'
));
$front->dispatch();

aaaとかはモジュール名です。ここに書いたパスにちゃんとコントローラーが
置いてあるんですけど、404になるんです。この程度のことでルーター系の
クラスとかいじらないといけないんでしょうか???
959nobodyさん:2008/02/22(金) 20:06:26 ID:???
.htaccessちゃんと設定できてるか?
routingのエラーなら404にはならないよ少なくともデフォルトでは
960nobodyさん:2008/02/23(土) 00:27:27 ID:???
routingのエラーならZend_Controller_Dispatcher_Exceptionが発行されるはず。
パスの指定に相対パス使ってるけど、それって行けるの?
いつも絶対パス使ってる。。

とりあえず$front->dispatch(); を try-catchでくくって例外エラーひろってみたら?
961nobodyさん:2008/02/23(土) 22:32:04 ID:NHRB8E0h
漏れも絶対パスつかてるよ。
相対パスは試したことないから分からないけど…

Zend_Db_Table って JOIN できるの?
マニュアルには出来るって書いてあるけど出来ねー
例 10.97. は嘘か
962958:2008/02/24(日) 00:34:51 ID:???
Zendの入門本が相対パスだから、相対パスにしてみた。
それで簡単な(Hellow Worldだけ)IndexControllerを書いたら、
ちゃんと動いた。

しかし、ちょっと進化したController書いて958のように
したら、404に。そこで、絶対パスに変更してみたところ、
960氏の言うようにZend_Controller_Dispatcher_Exception
が発行された。よく分からない・・・。
963nobodyさん:2008/02/24(日) 01:33:29 ID:???
君にゃFWはまだ早いんでは・・・
964nobodyさん:2008/02/24(日) 01:49:07 ID:???
>>962
>>958 見て思ったんだけど、
'default' => '../../application/modules/aaa/controllers',
'aaa' => '../../application/modules/aaa/controllers',

ってこれって同じディレクトリ指定してるけど、'aaa' => の方を消したらどうなる?
aaaの方は要らないと思う。
965nobodyさん:2008/02/24(日) 19:40:49 ID:???
http://akrabat.com/2008/02/21/simple-zend_form-example/
Zend_Formないわー
QuickFormの悪夢再びじゃねーか
こんなもんに力注ぐくらいならViewHelperをちゃんと作ってくれよって感じ
966nobodyさん:2008/02/24(日) 20:40:53 ID:???
フォームはテンプレートから呼び出せた方が良いと思う
967nobodyさん:2008/02/24(日) 21:13:55 ID:???
禿同。オレも使わん。

ファイルのアップロードのクラスとか、Zend_Configでyamlをデフォルトで使えるように
サポートして欲しい。
968958:2008/02/25(月) 01:00:35 ID:???
だめだ・・・直接index.phpを呼んでも404だ。
index.phpを単なるハローワールドにして呼ぶとちゃんと出てくる。
でもZendにフロントにすると404だ。
俺にはFWは早いって言うか、プログラマやめっかな。
969nobodyさん:2008/02/25(月) 01:20:38 ID:???
ホントに404か?それ
970nobodyさん:2008/02/25(月) 02:27:59 ID:???
ひょっとしてErrorHandlerとかErrorControllerが設定されてない?

ほんでもって、アクセスしてるURLは規約通りか?
971958:2008/02/25(月) 12:44:26 ID:???
ErrorHandlerもErrorControllerもないです。

昨日とは状況が変わって、http://host/index.php と呼ぶと
defaultのIndexControllerが呼び出されるけど、http://ホスト/index/
とかにすると、

Not Found
The requested document was not found on this server.

になるんだよね・・・。
972nobodyさん:2008/02/25(月) 12:55:59 ID:???
htaccessだろ
973958:2008/02/25(月) 18:56:29 ID:???
自己解決。

モジュールごとにコントローラーのディレクトリを分けているんだけど、
コントローラーのクラス名にモジュール名のプレフィックスを付けないと
ダメっぽい。

http://framework.zend.com/manual/ja/zend.controller.modular.html
974nobodyさん:2008/02/26(火) 04:50:16 ID:???
.htaccess以前だな

規約に従えってことか
975nobodyさん:2008/02/26(火) 08:30:48 ID:???
addModuleDirectoryを使ってるとよくわかるけど
モジュール名が必要というよりは、
defaultモジュールの場合だけモジュール名が省略できると思っていればいい
976nobodyさん:2008/02/27(水) 11:18:30 ID:???
Zend_FormのaddElementでselectを作りたいんですが、
optionsはどうやって指定すればよいのでしょうか?
$form->addElement('select', 'test', array(1 => 'a', 2 => 'b'));
$form->addElement('select', 'test', array('options' => array(1 => 'a', 2 => 'b')));
$form->addElement('select', 'test', array('attribs' => array('options' => array(1 => 'a', 2 => 'b'))));
上の三つは全てダメでした。分かる人教えてください。
977nobodyさん:2008/02/27(水) 11:36:06 ID:???
今見てみたら俺のZFにZend_Form入ってねぇ
978nobodyさん:2008/02/27(水) 12:09:51 ID:???
Zend_Form は 1.5.0RC1 からだと思う
979976:2008/02/27(水) 16:53:34 ID:???
自己解決しました。
$form->addElement('select', 'test', array('multiOptions' => array(1 => 'a', 2 => 'b')));
マニュアルにサンプルソースを書いておいてほしかった…
980nobodyさん:2008/02/29(金) 14:15:21 ID:???
どのレベルからmoduleを分けたら良い?
いま、全部デフォルトモジュールにしてるんですが、
ユーザー画面と管理画面くらいは別モジュールにするべきか、
または、もっと細かいレベルで分けるべき?
981nobodyさん:2008/02/29(金) 14:22:55 ID:???
ほんとそれは俺も目下の問題
何か指針になるものがあればいいんだが
982nobodyさん:2008/02/29(金) 15:41:34 ID:???
全部デフォルトモジュールで良いよ
でURLをRouter側でうまいことやりくりすればいい
ZFのモジュール構造だとディレクトリがごちゃごちゃし過ぎる
railsやcatalystみたいに各controller/view/model以下での
サブディレクトリの形にしたらいいのにと思う

ただ管理画面みたいに普通ならモジュール切りそうな括りは
AdminControllerみたいな継承元になるベースコントローラを用意しておくと便利
アプリ全体のベースコントローラが1つ、
管理画面全体のベースコントローラが1つ、
とかで良いんじゃないかな
983nobodyさん:2008/02/29(金) 22:46:11 ID:???
モジュールよりもコントローラの分け方が分からん
984nobodyさん:2008/03/04(火) 10:07:41 ID:???
modelsにモデルを置いたところで、
呼び出す時はどうしてる?

いちいちrequire_once 'パス';とかするのって何か効率悪くね?
それならライブラリの集まりにでもしておいて予めinclude_pathを設定しておいたほうがいいと思うんだが
それともモデルを呼び出すような関数があるとか・・・?
985nobodyさん:2008/03/04(火) 14:03:56 ID:???
最初にmodelsにあるファイルを
まとめてロードするようにしとけばいいだけの話
毎回全部modelをロードするのが嫌ならautoloadで
modelもロードできるようにしておけばいい
というかZFはやりたいようにやればいい
986nobodyさん:2008/03/04(火) 14:38:51 ID:???
何か、Zendって規則きっちり勝手に作るわりには
その辺が曖昧だよなぁ・・・

自分でモデルを呼び出すスクリプト組んだわ・・・
987nobodyさん:2008/03/04(火) 18:46:26 ID:???
どういうの?気になる
988nobodyさん:2008/03/05(水) 16:31:44 ID:???
989nobodyさん:2008/03/05(水) 19:46:29 ID:???
ディストリパッケージより
いい加減公式でPEARチャンネル立てて
PEARでインストールできるようにして欲しい

自前のスクリプトでPEARパッケージにして入れてるけど
自動でupgradeできないのが面倒
990nobodyさん:2008/03/05(水) 23:04:50 ID:???
pearには入らんだろ
たぶん。
991nobodyさん:2008/03/05(水) 23:23:03 ID:???
992nobodyさん:2008/03/05(水) 23:42:38 ID:???
>>989
Subversion使ったら?
993nobodyさん:2008/03/05(水) 23:46:21 ID:???
だよな
994nobodyさん:2008/03/06(木) 00:14:24 ID:???
>>989
これじゃダメなん?
ttp://angelicwing.net/diary/4899.html
995nobodyさん:2008/03/06(木) 04:42:40 ID:???
うめ
996nobodyさん:2008/03/06(木) 04:44:26 ID:???
うめ
997nobodyさん:2008/03/06(木) 04:45:47 ID:???
うめ
998nobodyさん:2008/03/06(木) 04:46:23 ID:???
うめ
999nobodyさん:2008/03/06(木) 04:46:50 ID:???
うめ
1000nobodyさん:2008/03/06(木) 04:47:32 ID:???
ZendFramework \(^o^)/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。