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

ZendFrameworkってどうよ?

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/10/07(土) 02:49:15ID:6wQ8r0Dc
ようやくVer.1.0が出るらしいね
これってどうよ?

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

来るべき時が来た。

その名は勇者「Zend Framework」

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

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

http://framework.zend.com/

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

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

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

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

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

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

↑わわわ、このガイドページちゃんと更新されているんだ!!!
2月21日ならホットな情報ですね
0074nobodyさん2007/02/26(月) 00:52:56ID:???
ZFにMojaviでいうフィルタ実装しようとしたら結構苦労すんね。
プラグインでなんとか出来そうだけど。
0075nobodyさん2007/02/26(月) 01:44:59ID:???
ZFで組んだらZFにあわせて
非publicなら_付けるみたいなダサいコーディングしないと駄目なの?
0076nobodyさん2007/02/26(月) 03:30:35ID:???
カッチリした規約のくせに
オートローダ用意してないのはなんで?
いちいちZend::loadClass()とか書いてられねーっつの
0077nobodyさん2007/02/26(月) 03:37:20ID:???
つーか、Zend::loadClass()とかあるくせに、
ソースではrequire使ってるよな
0078nobodyさん2007/02/26(月) 08:47:24ID:???
>>74
MojaviでいうフィルタがZFでいうプラグインなのかと思ってた
0079nobodyさん2007/02/26(月) 10:16:54ID:???
>>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で良い、要は使い分け
0080nobodyさん2007/02/26(月) 17:31:26ID:???
>>78
MojaviのフィルタはpreFilterとpostFilterの二つがセットになってるけど
ZFのプラグインは一カ所のフックに差し込むだけでバーガー状にできない。
まあバーガーが必須でもないからこういう形にしたのかな
0081nobodyさん2007/02/26(月) 22:19:05ID:???
アプリ固有のクラスとか設定ファイルはどこに置く?
/application/models?
/library/?
0082nobodyさん2007/02/26(月) 22:21:40ID:???
Zend:_Sessionに
session_id()を返すgetId()ってメソッドはあるのに
session_name()を返すメソッドがありません。
クッキー使えない環境を想定してリクエストにセッション情報を含めたいんですが、
直接session_name()を使うしかないんでっしゃろか?

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

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

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

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

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

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

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

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

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

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

お願いいたします
0111nobodyさん2007/03/02(金) 14:03:35ID:???
DBは何を使ってる?MySQL?
DB接続時にユーザ名指定してる?
0112nobodyさん2007/03/02(金) 20:31:47ID: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も無事取得できました。
0113nobodyさん2007/03/02(金) 22:29:09ID:???
>>112
$params = array(
'host' => 'localhost',
'username' => 'hoge',
'password' => '',
'dbname' => 'hogedb'
);
みたくパスワードもちゃんと空のパラメータにしてみて
あと、試しにfactory直後でクォートせず何かクエリ投げてみて、
同じようにroleがないみたいな例外が返って来るなら
多分DB接続がうまくいってなくて
PDOはクォートする時もコネクション使うからそこでこけてると思うんだ
01141122007/03/02(金) 22:32:52ID: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です。
0115nobodyさん2007/03/02(金) 22:45:15ID:???
>>114
PDOのコンストラクタの引数は
new PDO('mysql:host=localhost;dbname=test', $user, $pass);
こんな感じ
そこのコードは特に間違ってはいない

んで引数の指定がなかった場合なんだが、
おそらくDB側はUNIX自体のユーザ名・パスワード
をDBのユーザ・パスワードと仮定して扱うと思うから
ちょうど今君はapacheのユーザ・パスワードを合わせてしまっているから
たまたま接続がうまくいってるとかそんな気がする
01161142007/03/03(土) 01:47:36ID: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を使っています。
01171162007/03/03(土) 02:45:02ID:???
いろいろ実験してみたけど
うちの環境ではやっぱり
new PDO('pgsql:host=localhost;dbname=test', $user, $pass);
ではなく
new PDO('pgsql:host=localhost dbname=test user=user password=pass');
じゃないとつなげないっぽいですね。

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

ありがとうございました。
0118nobodyさん2007/03/03(土) 05:32:34ID:???
>>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のバグかもしれない。
01191122007/03/03(土) 13:57:46ID:fjJSaYh6
PHP板にも書いたんですけど
>>113を見逃していました。みなさんごめんなさい。

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

申し訳ございませんでした。
&ありがとうございました。  
0120nobodyさん2007/03/03(土) 23:21:06ID:???
Zendで行こうかと思ったがやっぱりsymfonyで行きます
symfonyが10としたらZendは3くらいだし
Zendしょぼすぎワロタ
0121nobodyさん2007/03/04(日) 04:37:54ID:???
Zend_Service_Akismetとやらを見て、Akismetの存在を知った。
面白いなこれ。
0122nobodyさん2007/03/04(日) 05:28:00ID:???
ZendはsymfonyのescapingOutputがないのが糞
いちいちescapeしてられるかっての
0123nobodyさん2007/03/04(日) 14:32:22ID:???
おいおい…
http://www.zend.co.jp/tech/index.php?%A4%BD%A4%CE%C2%BE%2FZend%20Framework
ここのサンプルだと、View呼び出すのに絶対パスコントローラに埋め込んでるじゃねぇか…
いくらなんでもひどすぎだろ
0124nobodyさん2007/03/04(日) 14:52:52ID:???
zend japanのレベルなんてそんなもの
0125nobodyさん2007/03/04(日) 16:57:57ID:brIiO66u
Zend_Db_Tableってもしかして
Zend_Db_Selectと連携出来ないっぽいですか?
0126nobodyさん2007/03/04(日) 17:01:33ID:???
>>125
別扱いだな
tableにrailsライクなfind()が欲しけりゃselect使って実装しろってこった
0127nobodyさん2007/03/04(日) 17:05:28ID:???
ZF疎結合すぎワロタ
0128nobodyさん2007/03/04(日) 17:21:00ID: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使った方が早いと思うんですけど、どうなんでしょう?
01291252007/03/05(月) 00:37:51ID:514EdfV5
PDO::FETCH_CLASSでfetchAll簡単に出来ました。
やっぱり早いですね。当然ですけど。
まあ、WEBアプリでは一回に何千もレコード取得して表示する事もそんなないだろうから
差は微々たる物だけど

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

今後に期待しちゃうな

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

見間違いました。

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

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

解りましたら。教えてください。
0134nobodyさん2007/03/14(水) 10:42:23ID: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を設定したりしなきゃならないのでしょうか?
お願いいたします。
0135nobodyさん2007/03/14(水) 10:47:31ID: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>
しかありません。
0136nobodyさん2007/03/14(水) 11:52:04ID:???
なんかそんなのあった気もするがバージョンは?
最新の0.8ってもうnoRoute自体なかったような(__call()で処理)
0137nobodyさん2007/03/14(水) 11:54:47ID:???
>>135
PHPのエラーログとか見れ。
01381352007/03/14(水) 13:09:56ID:???
>>136
>>137
レスありがとうございます

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

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

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

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

そうすると

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

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

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

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

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

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

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

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

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

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

みんなViewを素で使ってるのかな?
俺はViewを抽象化もせずにSmarty直接叩いてるけど。
0153nobodyさん2007/03/22(木) 13:22:24ID:???
今頃Zendコアクラスに変更か
0154nobodyさん2007/03/25(日) 00:39:42ID:kYJTpB8y
404ページをどうやって作ればいいんだ
0155nobodyさん2007/03/25(日) 02:34:38ID: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っていうのが馴染みがないせいか、イマイチよくわからなくて・・・
0156nobodyさん2007/03/25(日) 02:45:08ID:???
1.0になったらどうにかなるかもしれないから放置するべきか・・・
404くらいデフォルトでなんとかなるようにしてくださいよ!
フレームワークあんだから!
0157nobodyさん2007/03/25(日) 12:06:39ID:???
useDefaultControllerAlways=trueで
デフォルトのコントローラを404コントローラにする
んでアクションが無い場合(__call)もそっちにforwardしてやるとか

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

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

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

とりあえず、>>155の言ってる、
>Actionが見つからない場合はは__callが呼ばれるので
>そこで404ページを出せばOKだけど
ってのがどういう意味かよくわかんなかったんだけど、__callを自分のアクションでオーバーライドして処理するってこと?
0164nobodyさん2007/03/25(日) 18:22:22ID:???
>>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を自分で使えるようにしておいた方がいいと思う

こんな感じかな?
01651612007/03/25(日) 19:58:28ID:???
>>164
なるほど。APIが禿しく変わったと思ってたけど、けっこうちゃんとマニュアルに書いてあるんだな。
404の処理方法も正式バージョンではドキュメント化されるかもね。
ひとまず当面は>>164のやり方しかないんだろう。
0166nobodyさん2007/03/25(日) 23:02:53ID:clpaUIjl
Zend_Loaderってなんだよorz
01671572007/03/26(月) 10:29:04ID: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がでてますね。早く正式リリースされないかな
0168nobodyさん2007/03/26(月) 11:28:00ID:B9eaVhyg
2重投稿防止の処理ってなんかあるの?
今までは自前でセッションとリクエスト比較して来たんですが。
0169nobodyさん2007/03/26(月) 11:55:36ID:???
そんな高級な機能がZFにあるわけないです
01701682007/03/26(月) 12:52:34ID:???
>>169
おお。
気に入った。
0171nobodyさん2007/04/01(日) 11:53:09ID: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で認識しないので、ちょっと面倒かなと・・・
0172nobodyさん2007/04/01(日) 12:01:18ID:???
あった、ZFcheckDoublePost
0173nobodyさん2007/04/01(日) 12:32:18ID:???
>>171
mod_rewriteの設定は修正したのか?
0174nobodyさん2007/04/01(日) 15:41:17ID:sAfc6g3U
>>173
.htaccessは

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

となっています。
変わったのでしょうか?
0175nobodyさん2007/04/01(日) 18:23:36ID:???
そのcssのURLもrewriteされてるんじゃないかと
思ったんだけどcssだから大丈夫か
相対パスはindex.phpからのであってるよ
0176nobodyさん2007/04/01(日) 19:08:42ID:+UiPUal0
>>171
画像やスタイルシートはドキュメントルートからのパスになるだろ?
01771712007/04/01(日) 19:14:37ID: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です
0178nobodyさん2007/04/01(日) 20:18:45ID:???
<link href="/styles/foobar.css" rel="stylesheet" type="text/css" />

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

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

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

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

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

とかじゃダメ? 話が違う?
header のところを 404 を出す処理にでも変えればいいような気がする。
01831802007/04/02(月) 08:46:24ID: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というのがあったので
ドキュメントルートのパスを設定したり、"/"のみを設定してみましたが、駄目でした。
どの辺を見直せば良さそうですかね?
ご意見ありましたらよろしくお願いします
01841802007/04/02(月) 10:01:33ID:YVop49f1
>>181
違ったらすいませんが、
もしかして
>>178さんみたいに"/"から指定してないですか?
<link href="/styles/foobar.css" rel="stylesheet" type="text/css" />
それならうごくんです。というか、絶対パスだし。

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

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

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

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

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

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

http://www.blackhat.com/html/bh-japan-07/bh-jp-07-jp-reg.html
0202nobodyさん2007/04/09(月) 00:29:53ID:???
安っ!100人分申し込んだ
0203nobodyさん2007/04/09(月) 00:38:59ID:???
>>201
そんなの申し込む人おるん?
0204nobodyさん2007/04/09(月) 02:02:12ID:???
俺が口臭をyoutubeで流してやるよ!
0205nobodyさん2007/04/14(土) 23:56:03ID: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に文字コード指定しちゃいけないのかな?
0206nobodyさん2007/04/15(日) 00:57:32ID:???
>>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は使わないかな
02072052007/04/15(日) 04:41:44ID: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に変えるよりその方がよさそうですね。
0208nobodyさん2007/04/15(日) 13:38:18ID:???
  \(^o^)/             \(^o^)/ zend frameworkオワタ
    )  )               ノ ノ
((((  > ̄ > )))) \(^o^)/ ((( < ̄< ))))
              )  )
         (((  > ̄ > ))))    code igniterハジマタ
02092052007/04/15(日) 16:11:36ID:f7ZVC+MY
とりあえずいまのところ日本語メールはサポート外って感じですね。

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

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

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

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

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

このペースだと1.0リリースは年内ぎりぎりいっぱいって感じ?
大丈夫か?この開発ペース。
0216nobodyさん2007/04/25(水) 09:53:04ID:???
たった一人の開発者が風邪で寝込んでるらしい
0217nobodyさん2007/04/25(水) 16:55:07ID:???
zendstudioみたいに有料配布ならもっと人員割り当てられるだろうけどねえ。
オープンで利益が見込めない以上、待つしか無い。orz
0218nobodyさん2007/04/26(木) 01:24:02ID:???
オープンソースで利益が見込めないってのがいかにも後進国日本の発想
0219nobodyさん2007/04/27(金) 19:55:00ID: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自体に手いれないと無理?
0220nobodyさん2007/04/28(土) 01:56:10ID:???
Routerでそういう風にルーティングすればいいだけ
0221nobodyさん2007/04/28(土) 02:09:27ID:tgkVshtz
>>168
>>172
にあるZFcheckDoublePostって今もうないですよね?
何か別の名前になってるのでしょうか?

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

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

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

マニュアルにありますか?ちょっと探してみたけど見つからないのですが。
0225nobodyさん2007/04/30(月) 12:42:34ID: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;
と代入してやれば動くけど、メモリ無駄遣いしてる感じもするし。
なんかほかにいい書き方ありませんでしょうか?

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

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

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

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

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

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

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

【とうとう】ZF0.9.1000遂にリリース!【四桁】
0260nobodyさん2007/05/10(木) 15:53:39ID:???
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
0261nobodyさん2007/05/10(木) 20:56:52ID:???
Zend.php ってなくなったの?
0262nobodyさん2007/05/10(木) 21:39:26ID:???
0.9あたりでdeprecatedになって
0.9.3で完全にファイルもなくなった
Zend.phpにあったメソッドはそれぞれ別のクラスに移動してる
0263nobodyさん2007/05/11(金) 00:22:17ID: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_ってつけなきゃいけなくなったのでしょうか?
それとも何か他が原因でしょうか?
0264nobodyさん2007/05/11(金) 10:21:14ID:???
>>262-263
そーだったのか…
0.9.3にアップグレードしたら動かないんだもん
頼むよゼンドさん
0265nobodyさん2007/05/11(金) 18:35:31ID:???
更新に合わせて修正してたけどもうつきあっててられん。
1.0になってからやる。
0266nobodyさん2007/05/13(日) 04:18:32ID:???
>>265
ふむ
確かにそうですね。

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

がんばれZEND!!
マジで遅すぎる!!
0267nobodyさん2007/05/13(日) 04:30:33ID:???
Zend「PHPなんてだっせーよな!Rubyやろうぜ!」
0268nobodyさん2007/05/13(日) 04:56:35ID:???
開発遅いとかではなくて、コロコロ仕様変更すんな!ってことだろ。
0269nobodyさん2007/05/13(日) 11:37:19ID:???
Rubyは作者がきもちわるいから…
0270nobodyさん2007/05/13(日) 17:09:43ID:???
phpはzendに金玉握られてるけどな。
0271nobodyさん2007/05/13(日) 18:46:10ID:???
Rubyの作者は、>>269に比べたら、まっとうな人間。
0272nobodyさん2007/05/13(日) 22:32:44ID:???
おまえに >>269 の何がわかるってんだよ
0273nobodyさん2007/05/16(水) 01:49:02ID:???
404について書いてるらしきページがあったんだが
http://framework.zend.com/wiki/display/ZFDEV/5.+Dispatch+Error+Handling+and+404+Error+Pages#5.DispatchErrorHandlingand404ErrorPages-AddingaCustom404ErrorPage
これどうなのよ?
0274nobodyさん2007/05/22(火) 03:58:54ID:???
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てボッタクリすぎだろ
こんなの教えてもらわないと使えない奴なんざ
ハナから使えねーっての
0275nobodyさん2007/05/22(火) 08:02:48ID:???
>>274
まぁまぁ、別スレでも書いた気がするけど、
そんなものだよ、金額。2日でその金額だと、むしろ安いほうに入るかも。

自分は行く必要性全くないと思ってても、会社で無理矢理行かされることもある。
超絶苦痛だがな・・・。
素人に対してどういうふうに教えるかという、先生役のスキルを磨くと思って参加するしか。
0276nobodyさん2007/05/29(火) 02:07:15ID:???
>>272
大好きなrubyを馬鹿にされて興奮しちゃっただけだよ
0277nobodyさん2007/05/29(火) 13:24:50ID:afdgnzAT
1.0.0 RC1 リリース上げ
0278nobodyさん2007/05/29(火) 20:02:02ID:???
さっそくDLしますた。
ってか、ここはどの板ですか。
0279nobodyさん2007/05/29(火) 20:40:28ID:???
1.0.0RC1 萌え
0280nobodyさん2007/05/29(火) 21:30:01ID:???
待ちわびたぞ・・・1.0・・・
0281nobodyさん2007/05/29(火) 22:06:39ID:???
次はRC1.01だ
0282nobodyさん2007/05/30(水) 08:02:39ID:???
そこまで愚図だったら、どうすんだ。
まぁ俺には作れないから文句言わないで使わせてもらうが。
0283nobodyさん2007/05/30(水) 08:09:35ID:amo3UjDj
おおおお!!
きたね!!
0284nobodyさん2007/05/31(木) 22:01:23ID:???
ZF が載ってる本ってないの?
0285nobodyさん2007/05/31(木) 22:03:38ID:???
公式のマニュアルだけで十分じゃね?
0286nobodyさん2007/05/31(木) 22:26:49ID:???
QuickForm_Controller 的なことがしたいけど、よくわからなくて…
Zend_Filter, Zend_Validate 使って自分でゴリゴリ書くのかな
誰か本だしてけろ
0287nobodyさん2007/05/31(木) 23:58:46ID:gup0HDto
PHPの薬箱なら基本的な使い方書いてあるけど
0288nobodyさん2007/06/01(金) 07:53:25ID:???
>>216,230の流れはZend Frameworkの開発者が、という事?
0289nobodyさん2007/06/01(金) 08:55:41ID: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生成時とヴァリデイトルールの設定が一カ所でできるのもわかりやすくて良いかな〜とも思ってる。
でも、ページ数増えると、コピペが増えて、メンテナンス性が損なわれそうな気も。

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

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

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

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

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

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

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

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

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

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

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

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

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

これ正式リリースの予定って出てる?
英語の苦手な私のために情報あったらお願いします。
0311nobodyさん2007/06/10(日) 09:23:49ID:???
Zend_Controller_Frontを継承して、
ViewRendererにZend_View_Smartyを渡すように書き換えて、
getInstanceコピペしたら使えるようになったんだけど、
これで良いのか?
0312nobodyさん2007/06/10(日) 09:25:35ID:???
Frontを継承するとか勘弁してくれ
0313nobodyさん2007/06/10(日) 15:01:03ID: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で直接つっこむと挙動違うのかな。
0314nobodyさん2007/06/10(日) 17:08:48ID:???
>>313
もちろん>>310の二つのメソッド追加して、
ついでにInterfaceじゃなくてAbstract使うようにして、
_runメソッド追加。

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

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

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

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

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

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

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

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

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

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

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

> むしろ>>350形式のようなquery stringからルーティングする方式は
> 最近のFWではもうほとんどサポートされてないような
前に触ったときは、CakePHPはサポートしてたよ。mod_rewrite なくても大丈夫って。
0359nobodyさん2007/06/27(水) 01:23:41ID:???
Zend_View Enhancedってよさげ
03603502007/06/27(水) 23:08:11ID: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
みたいにしたいな〜と思ったんです。
0361nobodyさん2007/06/28(木) 00:50:42ID:???
>>360
URIパスマッピング=ルーティングに、POSTの話し混在させるのがよくワカランけど
やりたいならルータコントローラーを拡張すればいいんじゃないの。出来るでしょ。
でも普通はパラメタで処理するよ、そういうのは。
0362nobodyさん2007/06/28(木) 01:06:18ID:???
>>358
CodeIgniterもサポートしてるけど、結局使わんでしょ。
PATH_INFOやREQUEST_URIだけ取得できれば,mod_rewriteなしでも
http://example.com/index.php/foo/bar/
形式でのルーティングできるもん。
0363nobodyさん2007/06/28(木) 07:52:48ID:???
>>362
http://example.com/index.php/foo/bar/
この 〜〜.phpがいやーんな時に使いたいのが ScriptAlias かな?
mod_php で使えるのかは知らないが。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

ほんとに入んのかな。なんで Zend_Controller、Zend_View から独立してんだ。
0471nobodyさん2007/07/26(木) 01:24:41ID:???
http://framework.zend.com/wiki/pages/viewpage.action?pageId=33071
こっちが入ると思う、いつの間にかReviewになってるね。
svnからコードも落とせるよ
0472名無しさん@そうだ選挙に行こう2007/07/29(日) 17:35:22ID:???
入力フォーム → 確認画面 → 完了画面 をやるのに、
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 になっちゃう。
0473名無しさん@そうだ選挙に行こう2007/07/29(日) 19:56:36ID:???
そんなところにセッションなんて使わなきゃいいじゃん
0474名無しさん@そうだ選挙に行こう2007/07/29(日) 20:04:39ID:???
ZFでセッションなんて使えるわけないじゃん
04754722007/07/29(日) 20:08:14ID:???
>>473
確認画面で受け取った値をそのままhiddenに入れるのは危険だよ

自己解決しますた。
echo $this->formCheckbox('hoge', $session->hoge === '1' ? '1' : null);
こんなかんじで…
なんだかなー
0476nobodyさん2007/07/29(日) 21:21:12ID:???
>>133のチュートリアルやろうかと思ったら
http://www.alexatnet.com/
がDrupalに変わっちゃっててブログツールの場所が見つからないんだけど
公開終了しちゃってるの?
0477nobodyさん2007/07/30(月) 18:46:09ID:0pTg8goE
Zend_Sessionで
use_only_cookies = on
にしておけって書いてあるけど、
携帯対応するとoffにせざるを得ないよね?
0478nobodyさん2007/07/30(月) 21:47:24ID:???
そんときゃ自前でセッション管理のコードを書いた方が良い気がする
0479nobodyさん2007/07/31(火) 13:59:05ID: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ファイルで外側に出す方法もマニュアルに出てると思った
04804792007/07/31(火) 14:02:44ID:???
追記
たしかZF_Session内でini_set()してるから
.htaccessに書いてもうわがかれちゃう。
0481nobodyさん2007/07/31(火) 22:34:55ID:???
セキュリティ的によろしくないって話でしょ?
30.4. グローバルセッションの管理に書いてあるヤツ
0482nobodyさん2007/07/31(火) 23:53:28ID:qBa+C6/R
>>481
そうれはそうだけど>>477さんも言っている様に
日本の携帯特にDOCOMOはとてつもなく技術が遅れていて
そうするよりしかたがないんですよ。

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

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

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

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

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

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

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

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

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

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

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

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

もう決め打ちしてくれよって感じ
0553nobodyさん2007/10/18(木) 01:20:47ID:KqVQHgFy
symfonyで言うところのsfPropelUniqueValidator
みたいなやつ用意してくれませんのかね?
0554nobodyさん2007/10/18(木) 02:35:20ID:???
>>552
そこやっかいですよね〜
そんなこんなでまだethna使ってます。
コンポーネントとか素材はいいんだけど。
早くethna捨てたい
0555nobodyさん2007/10/19(金) 19:04:08ID:/DeIRb8R
1.1.0まだ〜?
0556nobodyさん2007/10/20(土) 02:50:21ID:???
cakephpからpear::DB使うみたいに、Zend_Db 使う
ってことは可能なの?
Zend_Controller や Zend_View なしでも
動くようになってるんでしょうか?
0557nobodyさん2007/10/20(土) 03:44:11ID:hv51ePaW
controllerとview周り意外は大体単品で使える
0558nobodyさん2007/10/20(土) 04:01:10ID:???
>>556
Zend_Db つかうドライバ(DboSourceを継承したクラス)を書けばいい。
pear::DB用ドライバがコメント除いて100行程度だから簡単だろう
0559nobodyさん2007/10/20(土) 11:56:16ID:???
>>557
それってZF内でなんか方針として決まってるんだろうか
それとも今後Zend_Controller前提になるんだろうか
0560nobodyさん2007/10/20(土) 12:03:07ID:lDCmHmbT
単品で使えるのはそういうポリシーでしょ
0561nobodyさん2007/10/20(土) 19:45:35ID:hv51ePaW
Filter_Inputでfieldsに配列入れると
Validate_IsEmptyがちゃんと動かないんだけど
これって正しい動きなの?
05625392007/10/21(日) 16:14:54ID:???
>>556
Zend_Controller や Zend_View なしでもOK
>>558
ドライバ不要
>>559
独立したコンポーネントで使えるのがZFの方針
0563nobodyさん2007/10/21(日) 17:27:31ID:???
PHP4で動かないの?
0564nobodyさん2007/10/21(日) 18:44:18ID:???
PHP4で動かないのがZFの方針
0565nobodyさん2007/10/21(日) 18:48:20ID:???
PHP4(笑
0566nobodyさん2007/10/21(日) 20:14:31ID:???
(笑 w
0567nobodyさん2007/10/22(月) 00:05:58ID:nQ80Rs2X
w
0568nobodyさん2007/10/22(月) 00:17:40ID:???
コンポーネントで使えるおかげでいろいろな別フレームワークに組み込めてらっきーですよ。
あくまでPHP5用ライブラリね>ZF
0569nobodyさん2007/10/23(火) 00:05:27ID:???
zfを勉強中なのですが、アクションコントローラはapplication/controller配下にだだ並びになるのが普通なんでしょうか。
0570nobodyさん2007/10/23(火) 10:59:20ID:???
RewriteRouterのModuleでサブディレクトリに分けることもできるよ
05715692007/10/23(火) 14:06:52ID:???
レスありがとうございます。
皆さんはどうしてますか?
ディレクトリ分けしているのでしょうか?
0572nobodyさん2007/10/24(水) 01:30:51ID:???
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ってできますか?
0573nobodyさん2007/10/24(水) 03:59:44ID:???
Zend_Db の
insert、updateメソッドのように
SQLを意識しないで使用できるSELECT用のメソッドって
ないのでしょうか?
マニュアル見てみましたが見当たりません。

SELECT文の場合、みなさんシコシコとSQL書いてるんでしょうか。
where句とかを見るとげっそりするのです。
0574nobodyさん2007/10/24(水) 04:48:56ID:???
SQLくらい意識しろ
05755722007/10/24(水) 08:27:04ID:???
できました。というか、マニュアルにでてたの見逃してた。
参考までに一応書いておきます。
$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。
お騒がせしました。
0576nobodyさん2007/10/24(水) 08:28:26ID:???
しまった。
"edit"=>"/path/to/controller/edit",

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

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

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

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

http://framework.zend.com/manual/ja/coding-standard.naming-conventions.html
05925912007/10/28(日) 10:46:21ID:???
ごめんトンチンカンなこと言ってた。
0593nobodyさん2007/10/28(日) 11:12:23ID:???
Zendがそういう規約作って無くても
ネームスペース縛りが厳しいPHPで
オレオレライブラリにZendのプレフィックス
安易に使っちゃう奴の気が知れん
0594nobodyさん2007/10/28(日) 13:51:04ID:???
zfのwikiで考えてるのと同じ仕様のものを非公式に配布してるってことじゃないの?
それでもややこしいことしてくれてるけど
0595nobodyさん2007/10/29(月) 01:59:27ID:???
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();
でインスタンス生成したあとに '-freturn_to_me@example.com'を
指定する方法きぼんぬです
0596nobodyさん2007/10/30(火) 13:07:58ID:???
>>595
staticだからってことなんじゃないの?

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

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

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

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

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
06065992007/11/02(金) 01:49:05ID:???
Zend_Mail Provides fluent interface
Zend_Mail は「流れるようなインタフェース」を提供する
が return?
メソッドチェーンと何の関連が。。。
全然意味わからんとです。
0607nobodyさん2007/11/02(金) 01:57:42ID:???
@return Zend_Mail -- Provides fluent interface
  ↓
返す型:Zend_Mail …… fluent interface を提供するため。

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

$row->userName

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

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

みたいなページで:usernameのユーザーが登録されてないときに
404ページ出す場合ってforwardでエラーページに飛ばすべきか
throw new Zend_Controller_Dispatcher_Exception()をするべきか
どっちがいいですか
0615nobodyさん2007/11/04(日) 18:40:59ID:???
ちんぽまるだしで全部解決
0616nobodyさん2007/11/05(月) 11:16:12ID:???
>>614
Controllerの中でerrorActionを定義するのが簡単
その次がException
0617nobodyさん2007/11/05(月) 12:46:18ID:???
しばらく見てないけど
Zendルータってもう使いものになるレベルになってんの?
0618nobodyさん2007/11/06(火) 20:29:30ID:???
いつのバージョンと比較してるのかは知らんが
使えないのは、単にお前の能力不足じゃないのか
0619nobodyさん2007/11/07(水) 02:53:53ID:???
いや…
前見た時はなんかろくすっぽ実装されてなかったけど
0620nobodyさん2007/11/07(水) 02:55:45ID:???
ってかルータ使うのに能力も何もねーだろ・・・
意味不明な煽りすんな氏ね>>618
0621nobodyさん2007/11/08(木) 02:26:48ID:???
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());
0622nobodyさん2007/11/09(金) 21:37:56ID:???
>>617
まだがっつりとは触ってないけど、私見では十分使えるレベルだと思う。
Net_URL_Mapperなんかでごりごり書くよりも直感的で、本当にルータっぽく
設定できるので、個人的には結構気に入っている。というか、他の機能が
まだ少し未熟な(好意的に見れば柔軟性に富んだ)感触なのに対して、ほぼ唯一
そのまま使える機能といってもいいw

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

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

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

俺は買って損した気分です。
0649nobodyさん2007/11/13(火) 22:09:12ID:???
>>648
同意
0650nobodyさん2007/11/14(水) 01:14:37ID:???
ZF入門は残念ながら内容薄かったね。
英語でよければ「Zendframework in action」がオンライン購入で途中まで読めるようになっており
コチラはもう少し読みやすく実践的なのでモチベーションが上がる。
まぁZFのバージョンアップではやくも内容が古くなりつつあるけど。
0651nobodyさん2007/11/14(水) 01:44:20ID:???
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だとメモリ確保できないぞゴルァみたいなエラーが。
0652nobodyさん2007/11/14(水) 01:49:41ID:???
poka-n
0653nobodyさん2007/11/14(水) 03:29:33ID:???
try{
$db = Zend_Db::factory('PDO_MYSQL', $params);
$db->insert('table', $params2);
}catch(Zend_Exction $e){
echo "メッセージ: " . $e->getMessage() . "\n";
}
でinsertのエラーがキャッチできないんだけどなぜに?
0654nobodyさん2007/11/14(水) 03:30:29ID:???
Zend_Exception
0655nobodyさん2007/11/14(水) 05:29:12ID:???
うわ、これって「Zend_Exction Class が未定義」というエラーにならないんだな。
はじめて知った。さすがPHP、奥が深いな。
0656nobodyさん2007/11/14(水) 10:07:45ID:???
うむ
0657nobodyさん2007/11/14(水) 14:21:55ID:???
Zend_Exception としたところでキャッチされない。
反映行数がinsertの返し値なようだから、
0ならfalseとかthrowとかしなきゃいけない、でファイナルアンサー?
0658nobodyさん2007/11/14(水) 17:50:43ID:???
insertの戻り値ダンプしてみて0だったってこと?
それで例外キャッチできないって絶対何か別の原因があると思うけどなあ
内部で何かエラーがあれば必ずZend_Exception派生の例外は投げられるはずだけど
データの取得(SELECT)はちゃんとできるかい?
06596572007/11/15(木) 12:38:07ID:???
>>658
はい、そうです。
selectなども正常にできています。
意図的にDBパスワードミスとかするとちゃんとcatchしてくれます。

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

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

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

User extends Zend_Db_Table
UserProfile extends Zend_Db_Table

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ご教示お願い致しますm(_ _)m
0742nobodyさん2007/11/24(土) 20:03:59ID:???
$db->query('SELECT * FROM `hote_table` WHERE `id` = ?', (integer) $id);
でキャストしてもそうなる?
0743nobodyさん2007/11/25(日) 02:52:34ID:???
$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'" ) };
みたいな感じの書き方はないでしょうか。
0744nobodyさん2007/11/25(日) 07:30:29ID:???
>>743
出来ないはず。
whereメソッド戻り値見てみ。すぐに意味が解るはずだから。
0745nobodyさん2007/11/25(日) 13:01:53ID:???
>>743
取り除くんじゃなく必要に応じて足していく

$select = $db->select()->from(〜);
if (条件1) {
 $select->where(〜);
}
if (条件2) {
 $select->order(〜);
}
...
$sql = $select->__toString();
0746nobodyさん2007/11/25(日) 14:26:50ID:???
>>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);
---引用終わり---
0747nobodyさん2007/12/03(月) 21:28:30ID:???
1.0.3 出てるよ
http://framework.zend.com/changelog
0748nobodyさん2007/12/04(火) 01:25:06ID:???
>>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が
サポートされるそうです。
0749nobodyさん2007/12/04(火) 07:19:25ID:???
また内緒でZend_Loaderが変わってたらしいじゃない。
0750nobodyさん2007/12/04(火) 14:24:37ID:???
Gdataとかそんなサブ的な、おまけ的なところ後回しでいいから
Formとか作れよ
0751nobodyさん2007/12/04(火) 16:45:59ID:???
PDFの日本語はまだダメ?
0752nobodyさん2007/12/04(火) 18:14:52ID:???
adroitおもすれ
0753nobodyさん2007/12/05(水) 17:30:35ID:???
1.0.3 リリースで鯖落?
0754nobodyさん2007/12/05(水) 19:11:57ID:???
くう…
良さそうな無料レンサバがみんなPHP4だorz
0755nobodyさん2007/12/05(水) 21:04:00ID:???
xreaでいいじゃん
0756nobodyさん2007/12/06(木) 03:32:59ID:???
safemode懐かしい
0757nobodyさん2007/12/06(木) 11:19:10ID:???
>>753 今は復活 ヨーロッパ諸国やイスラエルが活動を始めるまえに
(日本時間で 冬15時、夏14時)ダウンロードするものを済ませ
たほうがいいよ。それ以降は混雑しますので、Zend Frameworkに限らず。
0758nobodyさん2007/12/08(土) 21:58:18ID:???
今日使い始めたばかりなんだけど、いきなり躓いてしまった。
インストールや初期設定は終わり、一番最初の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/
環境はこのブログを参考にして構築してみた。
0759nobodyさん2007/12/08(土) 22:05:50ID:???
Zned→Zend
スペル間違い訂正。
修正しても変わらず。
0760nobodyさん2007/12/08(土) 22:08:31ID:???
とりあえずZendがZnedになってるtypoを確認
でも404だと根本的にroutingできてなさそうだな
.htaccessを確認をしてみるとか
0761nobodyさん2007/12/08(土) 22:18:28ID:???
言われたとおり.htaccessでした。
そもそもApacheの方で設定できてなかった・・・orz

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

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

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

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

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

一通りいけたので、これから頑張ってやっていけそう。
0764nobodyさん2007/12/08(土) 23:59:02ID:vYBrSVgv
がんがれ
0765nobodyさん2007/12/15(土) 17:18:24ID:???
http://blogs.zend.com/2007/11/22/zend-framework-launch-zendcon-roadmap-and-zf-11/
ZF 1.5
2008年第1四半期予定?
0766nobodyさん2007/12/19(水) 21:47:47ID:???
1.03使ってみることにしたよ。
あまりユーザいないのかもしれないけどよろしく。
0767nobodyさん2007/12/20(木) 00:41:26ID:xSS/j6Nl
いるよ。いっぱいいるよ
0768nobodyさん2007/12/20(木) 04:01:45ID:???
そうか?
0769nobodyさん2007/12/20(木) 06:46:02ID:???
ちょっと質問。

$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)が無いよ!」
ってことなんだろうけど、ほんとうにこの動作がデフォルトなんだろうか?

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

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

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


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

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

最初から404を吐いてたら気づいたか... いや余計に混乱したかな?
まぁ、俺の頭の固さ所以だ。許してつかーさい。
0777nobodyさん2007/12/22(土) 06:14:11ID:???
1.5でコマンドラインくる!
http://devzone.zend.com/article/2856-Zend-Framework--Coming-soon-to-a-Command-Line-near-You
0778nobodyさん2007/12/22(土) 15:46:48ID:???
PHPでコマンドラインねぇ
コード生成とかか
0779nobodyさん2007/12/22(土) 16:48:43ID:???
cakeとかsymfonyにもあるけど、zendのはxml書くのかもしれん
0780nobodyさん2007/12/29(土) 22:20:05ID:???
ZFの中のメソッドから直接echoしてるとこってある?
0781nobodyさん2007/12/29(土) 22:40:12ID:???
grep -r echo *

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

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

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

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

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

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

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

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

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

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

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

/Controller/.htaccessで自動的にAction.phpスクリプトを読み込むようにするのってアリかな?
毎回先頭にrequire_onceを記述するのがめんどう
0819nobodyさん2008/01/23(水) 15:44:21ID:???
>>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とかに書くかなぁ。
0820nobodyさん2008/01/23(水) 21:25:58ID:???
だから面倒ならautoload使えと(以下略
0821nobodyさん2008/01/23(水) 21:44:27ID:???
今subversionのやつ見てきたら、Zend_Layoutってのがあったから次のバージョンから追加されるっぽいのかな
0822nobodyさん2008/01/25(金) 11:33:37ID:???
FW語るスレからきました

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

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

viewRendererあたりに手を入れる必要があるんじゃないかと思う
コード追っかけてみるか、素直にデフォルトの規約でやるかだな
0842nobodyさん2008/02/02(土) 18:21:28ID:???
あれ、俺の環境では大文字小文字関係なしにテンプレート読んでくれるけど
0843nobodyさん2008/02/02(土) 19:20:48ID:???
そりゃWindowsだからだろ
0844nobodyさん2008/02/02(土) 19:25:23ID:???
そういうわけでなくハイフン区切りにしなくてもということ
0845nobodyさん2008/02/04(月) 14:10:35ID:???
>>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
そうですね。これドキュメントまちがってますね。
0846nobodyさん2008/02/04(月) 14:14:16ID:???
>>834
> $this->_mail = new Zend_Mail(Zend_Mime::ENCODING_7BIT);
こっちは new Zend_Mail('ISO-2022-JP'); ですよね?
しかし、ヘッダー関連足すときに自分でencodeしないと変なエンコーディングになって面倒・・
0847nobodyさん2008/02/04(月) 22:51:58ID:???
>>846
ああ、ごめん、確かに間違ってたわ
__construct($charset='iso-8859-1')
なのね
0848nobodyさん2008/02/04(月) 22:58:45ID:???
失礼、引数みるとsetBodyTextも2番目はcharsetなので
setBodyText($str,'ISO-2022-JP',Zend_Mime::ENCODING_7BIT);
ですな
まぁラッパークラス作ればエンコーディングの指定は毎度毎度やらないだろうからいいんじゃないかな
0849nobodyさん2008/02/05(火) 13:18:44ID:???
>>845
今度出る1.5では「FooController::CamelCaseAction」が「foo/camel-case.phtml」になるらしい
ttp://tdiary.ishinao.net/20080204.html#p01
0850nobodyさん2008/02/05(火) 15:07:24ID:???
camelcaseの区切りはアンダースコアにして欲しいんだけどな
アンダースコアはpath delimiterに使われてるからか

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

こっちのフィールドがこういう値だったらこっちのフィールドはこういう値じゃないと駄目、
とか言うチェックもやりづらいし。。
09249222008/02/17(日) 13:44:48ID:???
雑にだけど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);
 }
}
09259222008/02/17(日) 13:47:15ID:???
privateメソッドはテストすべきとか
ユニットテストはそもそもpublicなものをやるものだとか
いう話はあるけど、自己テストという形でやるべきだという
話は聞いたこと無いんだよね。

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

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

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

であるように、Zend_View_Smartyを使った場合、テンプレートファイルが
あちこちにある場合は、どうしたらいいのでしょう? setScriptPathだと
ひとつしか設定できないよね?
0934nobodyさん2008/02/18(月) 19:42:55ID:???
>>933
そもそもSmarty自体が複数のパスに対応してないからしょうがない
まあパスが複数必要になるケース自体も稀だと思うが
最悪、複数Viewのインスタンスを用意して別々のパスを設定すればいいよ
それが手っ取り早いだろう
0935nobodyさん2008/02/18(月) 20:57:41ID:???
コントローラの分割の仕方が良く分からない。
結局DB主体に作ってる。
4〜5のマスタを管理するコントローラと、3〜4の関係を管理するコントローラみたいな。
でも結合させるから境界なんてあいまいだし。
流用するモデルもあまりないから利点が実感できない。結局アクションごとに独立しちゃってる。
0936nobodyさん2008/02/18(月) 23:13:03ID:???
>>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;
0937nobodyさん2008/02/18(月) 23:40:09ID:???
Zend/View/Smarty.phpの中身を好きなように書き換えればおk
0938nobodyさん2008/02/19(火) 00:07:36ID:???
なんだかんだでSmarty利用率高いよな
0939nobodyさん2008/02/19(火) 01:42:45ID:???
>932
それはたぶん、主となるマスタ側のモデルでしょ
モデルさえ定義しておけば自然にロジックが機能するのが理想
0940nobodyさん2008/02/19(火) 02:51:44ID:???
なんかMVCの良い見本になるオープンソースアプリとかないかね。
理屈は分かるんだけどやはり実物を見ないと理解が深まらない。
0941nobodyさん2008/02/19(火) 03:27:03ID:???
Struts
0942nobodyさん2008/02/19(火) 03:29:43ID:???
> Struts

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

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

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

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

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

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

自社で開発できる所が、開発費・開発日数削減で使おうと考えると
自社で作ったら簡単に出来るであろうことが、
改造で組み込む→ソース汚い→改造しにくい→愚痴が出る。
ということになるんだよな。
0951nobodyさん2008/02/20(水) 23:34:42ID:???
愚痴ですか?
0952nobodyさん2008/02/21(木) 12:44:56ID:???
事実です
0953nobodyさん2008/02/21(木) 12:51:33ID:???
>>940
http://sourceforge.net/projects/zfcms
http://sourceforge.net/projects/zfblog
http://sourceforge.net/projects/zfbk
http://sourceforge.net/projects/zfweb20

こういうの?
0954nobodyさん2008/02/22(金) 05:29:10ID:???
そのプロジェクト、ぜんぶ空みたいだけど
なんかZFに対していいしれぬ不安を覚えた…
0955nobodyさん2008/02/22(金) 05:38:46ID:???
始める→ZFショボ!!→他やるわ
こんな感じじゃね
俺もだけど
0956nobodyさん2008/02/22(金) 13:41:19ID:???
MVCの切り分け方は自由であることを承知の上で聞くけど、
各コントローラに対するアクションって、confirm,update,deleteみたいな3〜4個の機能を実装するのが基本なの?
0957nobodyさん2008/02/22(金) 14:47:32ID:???
>>956
1コントローラに対して1リソースのCRUD関連アクションを
実装するのはまあ普通だ、わかりやすいからな
0958nobodyさん2008/02/22(金) 18:56:33ID:???
前に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になるんです。この程度のことでルーター系の
クラスとかいじらないといけないんでしょうか???
0959nobodyさん2008/02/22(金) 20:06:26ID:???
.htaccessちゃんと設定できてるか?
routingのエラーなら404にはならないよ少なくともデフォルトでは
0960nobodyさん2008/02/23(土) 00:27:27ID:???
routingのエラーならZend_Controller_Dispatcher_Exceptionが発行されるはず。
パスの指定に相対パス使ってるけど、それって行けるの?
いつも絶対パス使ってる。。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

自分でモデルを呼び出すスクリプト組んだわ・・・
0987nobodyさん2008/03/04(火) 18:46:26ID:???
どういうの?気になる
0988nobodyさん2008/03/05(水) 16:31:44ID:???
http://devzone.zend.com/article/3232--Zend-Framework-to-be-part-of-Ubuntu
zendframeworkがubuntuに入るっぽい
0989nobodyさん2008/03/05(水) 19:46:29ID:???
ディストリパッケージより
いい加減公式でPEARチャンネル立てて
PEARでインストールできるようにして欲しい

自前のスクリプトでPEARパッケージにして入れてるけど
自動でupgradeできないのが面倒
0990nobodyさん2008/03/05(水) 23:04:50ID:???
pearには入らんだろ
たぶん。
0991nobodyさん2008/03/05(水) 23:23:03ID:???
次スレ
http://pc11.2ch.net/test/read.cgi/php/1204726884/
0992nobodyさん2008/03/05(水) 23:42:38ID:???
>>989
Subversion使ったら?
0993nobodyさん2008/03/05(水) 23:46:21ID:???
だよな
0994nobodyさん2008/03/06(木) 00:14:24ID:???
>>989
これじゃダメなん?
ttp://angelicwing.net/diary/4899.html
0995nobodyさん2008/03/06(木) 04:42:40ID:???
うめ
0996nobodyさん2008/03/06(木) 04:44:26ID:???
うめ
0997nobodyさん2008/03/06(木) 04:45:47ID:???
うめ
0998nobodyさん2008/03/06(木) 04:46:23ID:???
うめ
0999nobodyさん2008/03/06(木) 04:46:50ID:???
うめ
1000nobodyさん2008/03/06(木) 04:47:32ID:???
ZendFramework \(^o^)/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。