ZendFrameworkってどうよ?
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/10/07(土) 02:49:15ID:6wQ8r0Dcこれってどうよ?
PHP5に移行したほうがいいのかな
0002nobodyさん
2006/10/07(土) 02:53:24ID:???来るべき時が来た。
その名は勇者「Zend Framework」
君は生き残ることができるか!?
0003nobodyさん
2006/10/07(土) 05:06:08ID:???0004nobodyさん
2006/10/07(土) 08:26:13ID:???0005nobodyさん
2006/10/07(土) 15:20:30ID:???時間経つのはえー
0006nobodyさん
2006/10/07(土) 16:12:39ID:6wQ8r0Dc0007nobodyさん
2006/10/07(土) 16:58:54ID:???ていうか、原始人でいいじゃんと思うのは俺だけ?
0008nobodyさん
2006/10/08(日) 00:37:31ID:???0009nobodyさん
2006/10/08(日) 00:50:14ID:???ふてえ野郎だな
0010nobodyさん
2006/10/08(日) 04:50:33ID:qm46jQzh俺の友達のプログラムがすっげぇ上手い奴が言ってた。
0012nobodyさん
2006/10/08(日) 06:04:10ID:???0014nobodyさん
2006/10/08(日) 20:03:17ID:???0015nobodyさん
2006/10/08(日) 22:35:53ID:???前スレ立てたの漏れだ スマソ
0016名無し募集中。。。
2006/10/09(月) 01:41:04ID:???ZFの特集じゃなかったっけ
読んだ人いる?
0018nobodyさん
2006/10/09(月) 14:25:43ID:???開発者が抜けたりなんだりで現在の予定としては来年リリース
0019nobodyさん
2006/10/09(月) 22:22:17ID:???ジーブなまけんな
0020nobodyさん
2006/10/09(月) 23:15:17ID:???リンクくらい晴れ
http://framework.zend.com/
日本語マニュアル
http://framework.zend.com/manual/ja/
0021nobodyさん
2006/10/10(火) 01:41:52ID:fhnBXHJ2Ethnaの方が使いやすいじゃん
0022nobodyさん
2006/10/10(火) 01:59:52ID:???もう笑うしかない
002321
2006/10/10(火) 02:27:53ID:fhnBXHJ2他にはSymfonyとか?
0025nobodyさん
2006/10/10(火) 14:03:33ID:fhnBXHJ2>>10
>>俺の友達のプログラムがすっげぇ上手い奴が言ってた。
テラワロスプギャwww
0026nobodyさん
2006/10/11(水) 00:01:33ID:0Yey4Vjlmodelsの中って何入れりゃいいの?
マニュアルになんも書いてないんだけど。
0027nobodyさん
2006/10/11(水) 01:01:28ID:???0028nobodyさん
2006/10/11(水) 02:34:26ID:U+ILIO/5夢と希望を詰め込んで実行してみたのだけど、
バグが発生してばかりでした。
どういうこと?
0029nobodyさん
2006/10/11(水) 06:48:18ID:???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:???って言うほどたいしたものには思えないのだが…
俺の知らない機能でもあるのか?
0037nobodyさん
2006/10/11(水) 20:25:34ID:???0038nobodyさん
2006/10/12(木) 01:43:32ID:???0039nobodyさん
2006/10/12(木) 01:48:50ID:???$request->getParameter("hoge");
は
$_REQUEST['hoge'];
みたいなもんだし。元から簡単なのをわざと難しくしてるってのもあるよな。
php自体がテンプレートエンジンみたいなものなのにさらにphpでテンプレートエンジン
実装してみたり。
0040nobodyさん
2006/10/12(木) 02:25:53ID:???ラップ可能性を担保していない$_REQUESTを
直で使うのは抵抗感でてくるな。
0041nobodyさん
2006/10/12(木) 02:50:36ID:???0042nobodyさん
2006/10/13(金) 00:31:57ID:xr7XiJM/やってくれるってきいたぞ、Eclipseとか
0043nobodyさん
2006/10/14(土) 22:49:03ID:???いまはZend_Db_Tableの継承がメイン
Zend_Db_Modelはまだ先だから自分で拡張する必要あるよ
0044nobodyさん
2006/10/15(日) 02:07:53ID:hzF42wCh0045nobodyさん
2006/10/15(日) 03:17:25ID:???どうせアーカイブを展開して、include_pathを加えて、mod_rewrite書くだけでインストール終わりだし。
0046nobodyさん
2006/10/15(日) 08:29:15ID:???http://pear.zfdev.com/
0047nobodyさん
2006/10/15(日) 08:33:08ID:???0048nobodyさん
2006/10/15(日) 19:42:14ID:???0049nobodyさん
2006/10/15(日) 19:53:06ID:???0050nobodyさん
2006/10/25(水) 01:18:42ID:Nml3v/A2Yahooの検索試したけど上手く行かないなあ。
適当にコード修正してみてどうにか検索結果は取れるようになったけど、
Domの使い方しくってるみたいで結果がなくなってる。
0051nobodyさん
2006/10/25(水) 03:15:15ID:???基本的なところしかできてないんですzendは
0052+++
2006/11/02(木) 00:51:37ID:QD3MWGhS0053nobodyさん
2006/12/21(木) 14:05:37ID:???英語だらけで、読むのに時間がかかって困る;;
もしあれば教えてほしい〜
0054nobodyさん
2006/12/22(金) 01:06:14ID:???0056nobodyさん
2006/12/30(土) 18:24:36ID:oH2ULMYxZFのような汎用フレームワークに乗り換える意味ってあるのでしょうか?
自分で作るより、相当品質の高いものであることは間違いないと思い
ますが、決定的なアドバンテージはあるのかな?
0057nobodyさん
2006/12/30(土) 18:37:11ID:???わざわざ乗り換える意味はないだろ
0058nobodyさん
2007/01/04(木) 19:49:32ID:vTsNrOjZpluginのpreDispatchで取得したオブジェクトをコントローラーに引き渡したいのですが、
これって可能ですか?
現状グローバル変数に割り当てる位しか思いつきません。
どのようにやるのが良いのでしょうか?
0059nobodyさん
2007/01/04(木) 19:51:19ID:???話はそれからだ
0061nobodyさん
2007/01/23(火) 05:55:33ID:???0062nobodyさん
2007/01/24(水) 01:04:08ID:???0063nobodyさん
2007/01/25(木) 13:17:28ID:UWerJgMW0064nobodyさん
2007/02/04(日) 02:28:08ID:???0065nobodyさん
2007/02/11(日) 22:22:14ID:???0066nobodyさん
2007/02/14(水) 16:26:44ID:???0067nobodyさん
2007/02/15(木) 23:38:50ID:???Proposalにもないし、自分で作れってことか
0068nobodyさん
2007/02/15(木) 23:53:07ID:???Zend_Db_SelectにlimitPage()があるからDB取得はそっちでやって、
実際のページ数/リンク生成等のページャ操作はPEARのPagerでやればおk
0069nobodyさん
2007/02/22(木) 02:05:16ID:???0070nobodyさん
2007/02/23(金) 01:58:00ID:CtBpLmme0071nobodyさん
2007/02/23(金) 15:02:25ID:CtBpLmmeヘルパーはいりません!
どうすればいいですか?
0072nobodyさん
2007/02/23(金) 21:41:31ID:???0073nobodyさん
2007/02/25(日) 23:40:07ID:???Zend Framework プログラマ向けリファレンスガイド
2007-02-21
↑わわわ、このガイドページちゃんと更新されているんだ!!!
2月21日ならホットな情報ですね
0074nobodyさん
2007/02/26(月) 00:52:56ID:???プラグインでなんとか出来そうだけど。
0075nobodyさん
2007/02/26(月) 01:44:59ID:???非publicなら_付けるみたいなダサいコーディングしないと駄目なの?
0076nobodyさん
2007/02/26(月) 03:30:35ID:???オートローダ用意してないのはなんで?
いちいちZend::loadClass()とか書いてられねーっつの
0077nobodyさん
2007/02/26(月) 03:37:20ID:???ソースではrequire使ってるよな
0079nobodyさん
2007/02/26(月) 10:16:54ID:???__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:???MojaviのフィルタはpreFilterとpostFilterの二つがセットになってるけど
ZFのプラグインは一カ所のフックに差し込むだけでバーガー状にできない。
まあバーガーが必須でもないからこういう形にしたのかな
0081nobodyさん
2007/02/26(月) 22:19:05ID:???/application/models?
/library/?
0082nobodyさん
2007/02/26(月) 22:21:40ID:???session_id()を返すgetId()ってメソッドはあるのに
session_name()を返すメソッドがありません。
クッキー使えない環境を想定してリクエストにセッション情報を含めたいんですが、
直接session_name()を使うしかないんでっしゃろか?
>>80
Mojavi使ったことないんで良く分かりませんが、
registerPluginで複数プラグイン登録するんじゃ駄目なんですか?
0083nobodyさん
2007/02/26(月) 23:25:21ID:???駄目じゃないけど順番を気にしないといけない。
まあフィルタなんてそんなに頻繁に書く部分じゃないから
気にすればいいんだけど。
0084nobodyさん
2007/02/26(月) 23:32:30ID:???「今ユーザがどのロールを持っているか」の部分を担当するクラスを
ZFは提供してない?
0085nobodyさん
2007/02/27(火) 00:17:59ID:???フレームワークを作るためのフレームワークに近い。
0086nobodyさん
2007/02/27(火) 01:39:24ID:???こういう基本的なとこから先に作れっつの。
0087nobodyさん
2007/02/27(火) 03:32:40ID:???ZendのFilter/FilterChain、
用語が同じで用途が違うからややこしいね。
言葉からの連想から言えばZendの方が直感的かな。
0088nobodyさん
2007/02/27(火) 03:36:11ID:???言われてみればこの方が理にかなってるか…
0089nobodyさん
2007/02/27(火) 06:57:41ID:7OKXpCAAどうもセッション周りがおかしいと思っていたんだが、
Zend_Session::start()
を呼ぶと$_SESSIONの値が全て消えてしまっている。
どうすればいいんだ。
もう眠い。調子こいてZF使わなければよかったorz
0090nobodyさん
2007/02/27(火) 07:39:34ID:???>>89
Zend_Session::start()内でsession_start()してるから
その時にクリアされるみたいよ。
0091nobodyさん
2007/02/27(火) 07:56:00ID:???leafにaddできないから違うと思ったけど
もともとこういう風に書くのか
なんだかんだで勉強になるな
0092nobodyさん
2007/02/27(火) 08:28:16ID:???0093nobodyさん
2007/02/27(火) 08:31:21ID:???Zend::loadClassもいずれ消える運命?
009489
2007/02/27(火) 11:16:48ID:???オプション指定しないとデフォルトでクッキーのみになってしまうんだね。
0095nobodyさん
2007/02/27(火) 11:47:54ID:???実際使ってる人どうしてる?
0096nobodyさん
2007/02/27(火) 12:22:12ID:???0097nobodyさん
2007/02/27(火) 12:23:10ID:???0098nobodyさん
2007/02/27(火) 12:29:46ID:???0099nobodyさん
2007/02/27(火) 12:38:38ID:???各オブジェクトに何を持たせたらいいんだよ
非フルスタックを目指すのはいいが穴ぼこだらけだろ
NIKIBI-frameworkに改名しろや
0100nobodyさん
2007/02/27(火) 12:55:26ID:???0101nobodyさん
2007/02/27(火) 13:10:16ID:???関連検索が「zend framework 動かない」だったwwww
0102nobodyさん
2007/02/27(火) 18:29:00ID:???ほんとだ!!!
http://www.google.co.jp/search?q=zend+framework
関連検索:
Zend Framework 動かない
Googleの突っ込みキツイなーwww
http://pya.cc/pyaimg/spimg.php?imgid=15589
0104nobodyさん
2007/02/28(水) 10:23:33ID:???Compositeパターンは幹にしかAddできないんじゃないか?
Zend::load_Interface消えたんだよな。
なんでだろ。
クラスのロード、全部Zend::loadClassでやってるから
Interfaceだけrequire_onceとかめんどいんだけども。
loadClass消えちゃうんだろか。
0105nobodyさん
2007/02/28(水) 14:29:05ID:???うん、勘違いしてた。
ファイルであると同時にディレクトリでもあるようなものがあれば
ちょっと面白そうだけど…。
クラスのロードはオートローダに任せておくのがいいのかもしれんね。
0106nobodyさん
2007/02/28(水) 16:52:50ID:???AbcDefController
ってできない。
ttp://xxxxxxx/AbcDef/
としても
AbcdefController
を探しに行ってしまうっぽい。
0107nobodyさん
2007/02/28(水) 17:23:22ID:???ファイル名が2語以上のcamelcaseだと確かにだめみたいね
ファイル名をAbcdefController.php にしたら動いた
クラス名はどっちでもいいみたい
古いバージョンはファイル名もcamelcaseでもいけてたような気がするんだけどな
確かにこれ地味に嫌な感じだな、バグなんかなこれ
0109nobodyさん
2007/03/01(木) 19:13:09ID:???あまり使いたくはなかったんだがなあ。
使うとしたら>>79の
>つーかZend::loadClassがZFのオートローダだから
>function __autoload($class) { Zend::loadClass($class); }
>くらい我慢しろ
これが一番楽ちんかな。
0110nobodyさん
2007/03/02(金) 13:46:15ID:MGhMK5UUZend_Dbで接続する時
apacheの実行ユーザー名と
dbの実行ユーザー名が違うと
SQLSTATE[08006] [7] FATAL: role "apache" does not exist
という例外が投げられるんですけど、これは設定でどうにかなるのでしょうか?
ちなみにPDOでじかに接続してる時はならなかったです。
まあ、同じにしてもいいですけど・・・
お願いいたします
0111nobodyさん
2007/03/02(金) 14:03:35ID:???DB接続時にユーザ名指定してる?
0112nobodyさん
2007/03/02(金) 20:31:47ID:MGhMK5UUレスありがとうございます
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:???$params = array(
'host' => 'localhost',
'username' => 'hoge',
'password' => '',
'dbname' => 'hogedb'
);
みたくパスワードもちゃんと空のパラメータにしてみて
あと、試しにfactory直後でクォートせず何かクエリ投げてみて、
同じようにroleがないみたいな例外が返って来るなら
多分DB接続がうまくいってなくて
PDOはクォートする時もコネクション使うからそこでこけてると思うんだ
0114112
2007/03/02(金) 22:32:52ID:AEjNDMWgZend/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:???PDOのコンストラクタの引数は
new PDO('mysql:host=localhost;dbname=test', $user, $pass);
こんな感じ
そこのコードは特に間違ってはいない
んで引数の指定がなかった場合なんだが、
おそらくDB側はUNIX自体のユーザ名・パスワード
をDBのユーザ・パスワードと仮定して扱うと思うから
ちょうど今君はapacheのユーザ・パスワードを合わせてしまっているから
たまたま接続がうまくいってるとかそんな気がする
0116114
2007/03/03(土) 01:47:36ID:fjJSaYh6確かに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を使っています。
0117116
2007/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:???> 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のバグかもしれない。
0119112
2007/03/03(土) 13:57:46ID:fjJSaYh6>>113を見逃していました。みなさんごめんなさい。
passwordを省略すると、あの得体の知れないエラーが出るようです。
エラーが間違ってるジャン!PDOのバグだ!と怒りたいところですが
113の指摘を見逃した私がすべて悪いわけでして・・・
申し訳ございませんでした。
&ありがとうございました。
0120nobodyさん
2007/03/03(土) 23:21:06ID:???symfonyが10としたらZendは3くらいだし
Zendしょぼすぎワロタ
0121nobodyさん
2007/03/04(日) 04:37:54ID:???面白いなこれ。
0122nobodyさん
2007/03/04(日) 05:28:00ID:???いちいち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:???0125nobodyさん
2007/03/04(日) 16:57:57ID:brIiO66uZend_Db_Selectと連携出来ないっぽいですか?
0127nobodyさん
2007/03/04(日) 17:05:28ID:???0128nobodyさん
2007/03/04(日) 17:21:00ID:brIiO66upublic 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使った方が早いと思うんですけど、どうなんでしょう?
0129125
2007/03/05(月) 00:37:51ID:514EdfV5やっぱり早いですね。当然ですけど。
まあ、WEBアプリでは一回に何千もレコード取得して表示する事もそんなないだろうから
差は微々たる物だけど
このフレームワーク、完成度は(当然正式版じゃないので)イマイチだけど
ソース見てると、すごいよく設計されてると思う。
今後に期待しちゃうな
とりあえず自分で改造したやつ使うつもりだけど。
0130nobodyさん
2007/03/05(月) 10:22:28ID:???Symfony、Zend Framework
とりあえずこの二つを使えればプロとして自信が持てそうですw
0131nobodyさん
2007/03/05(月) 10:43:01ID:???0132125
2007/03/05(月) 14:11:20ID:c6MP6ips1rowが1objectじゃなくて
Zend_Db_Table_Rowset Object に全行の配列を持ってるんですね
見間違いました。
>>130
PHPの薬箱は、まだ読んでないですね。チェックしてみます。
私のオススメは
Zend Frameworkと関係なさそうで、微妙に関係ある
「PHPによるデザインパターン」
0133nobodyさん
2007/03/12(月) 08:54:48ID:2JUfcRN6この記事試してみた人いますか?
動きが解って良いんですけど、このブログツールにログインするIDとパスが解りませんOTZ
記事投稿してみたり、いろいろしてみたいんですけど・・・
解りましたら。教えてください。
0134nobodyさん
2007/03/14(水) 10:42:23ID:62gHBZHzIndexControllerの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()で処理)
0138135
2007/03/14(水) 13:09:56ID:???>>137
レスありがとうございます
まさに0.8でした。
__callで処理するようになったんですね。
うまく出来ました。
0139nobodyさん
2007/03/14(水) 20:08:38ID:???マニュアルには
$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:???http://framework.zend.com/manual/ja/zend.controller.modular.html
ここ読めば分かると思うけど普通のフロントコントローラー使って、
配列でディレクトリ指定してやれば使えるようになると思うよ。
0142nobodyさん
2007/03/14(水) 23:00:11ID:???>>140
確かに普通のルーティングだけでも十分満足だけど、
admin を別のアプリにしようと思って。
ソースよむかな・・・
>>141
なるほろ。
助言を基にもう一度やってみます。
0143139
2007/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:???php.iniレベルで設定しておいていいし
pear本家でZendネームスペースを使う事もないだろうから
pear用ディレクトリ以下でZend/Zend.phpをsymlinkにしておけば
アプリ側でinclude_path追加するのは
lib/modelくらいで済むんじゃないかね
0146nobodyさん
2007/03/18(日) 22:00:42ID:WPSFKvBpレスありがとうございます
ふむ。modelに関してはそのアプリのindex.phpでパスを通せばいいのか・・・
まあ、なれてないのでいろいろ考えちゃってるけど、とりあえず作ってみれば
どうすればいいか解ってくるかな。
プレビューが0.9.0になってますね。
マニュアルもちょっとアップされたかな。たぶん。
祝い上げしておきます。
ところで、フォームはpearでやろうと思ってたけど、viewヘルパーなるよさげなものが
あるんですね。あれとZend_Validateを使ってみます。
0147nobodyさん
2007/03/19(月) 15:31:58ID:Y3+UeIKcクラス名をどうしたらいいか悩んでます
My_Plugin_Viewとか考えたんですけど
なんか良い感じの無いですか
0148nobodyさん
2007/03/20(火) 23:47:27ID:EqlsiciXそんなんどうでもいいよっていう人も多そうだけど
意外にネーミングって悩むし、大事ですよね。
個人的にMyと_(アンダーバー)は嫌いなので
(サイト名や会社名や自分の名前)(機能を端的に表した単語)ViewPlugin
例HogeConvertViewPlugin
とか・・・
長いか・・・・
いっそのこと
HogeConvertVP
とか。
0149148
2007/03/21(水) 00:05:18ID:+1/xKX/rMVCというのが何となく解ったようで解らないんですけど
例えばフォームからの入力をDBに登録後、一覧を表示。
なんてアプリの場合、ファームのヴァリデイトはControlでするのでしょうか?
そんな気がするのですが、Modelのような気も・・・
どんなもんでしょうか?
0151nobodyさん
2007/03/21(水) 16:05:45ID:NvhysGYm0152nobodyさん
2007/03/22(木) 11:11:22ID:???使えばいいと思うヨ!
みんなViewを素で使ってるのかな?
俺はViewを抽象化もせずにSmarty直接叩いてるけど。
0153nobodyさん
2007/03/22(木) 13:22:24ID:???0154nobodyさん
2007/03/25(日) 00:39:42ID:kYJTpB8y0155nobodyさん
2007/03/25(日) 02:34:38ID:07q9VATM奇遇だね。今日おれも同じコトやってた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:???404くらいデフォルトでなんとかなるようにしてくださいよ!
フレームワークあんだから!
0157nobodyさん
2007/03/25(日) 12:06:39ID:???デフォルトのコントローラを404コントローラにする
んでアクションが無い場合(__call)もそっちにforwardしてやるとか
何事にも気が利かないのはZFのデフォルトの仕様
rails:設定より規約
ZF:規約よりおまえが書け
0158nobodyさん
2007/03/25(日) 13:20:21ID:07q9VATMそれするとコントローラー省略したときも404が出ちゃわない?
ttp://www.yahoo.co.jp/
みたいにドメインだけ入力したとき。
省略された場合と、存在しない場合で動き変えられれば簡単に解決なんだけど・・
0160nobodyさん
2007/03/25(日) 15:33:13ID:UfKh4Z0S0161nobodyさん
2007/03/25(日) 15:50:16ID:???コントローラごとにオーバーライドするのは面倒くさいと見るか、コントローラごとに分けることができて便利と見るか・・・。
いざとなったら、404用のabstractなコントローラを用意して、継承しまくるとか。
0162nobodyさん
2007/03/25(日) 15:58:06ID:???0163161
2007/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:???そう、旧バージョンの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を自分で使えるようにしておいた方がいいと思う
こんな感じかな?
0165161
2007/03/25(日) 19:58:28ID:???なるほど。APIが禿しく変わったと思ってたけど、けっこうちゃんとマニュアルに書いてあるんだな。
404の処理方法も正式バージョンではドキュメント化されるかもね。
ひとまず当面は>>164のやり方しかないんだろう。
0166nobodyさん
2007/03/25(日) 23:02:53ID:clpaUIjl0167157
2007/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今までは自前でセッションとリクエスト比較して来たんですが。
0169nobodyさん
2007/03/26(月) 11:55:36ID:???0171nobodyさん
2007/04/01(日) 11:53:09ID:sAfc6g3U例えばある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:???0174nobodyさん
2007/04/01(日) 15:41:17ID:sAfc6g3U.htaccessは
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
となっています。
変わったのでしょうか?
0175nobodyさん
2007/04/01(日) 18:23:36ID:???思ったんだけどcssだから大丈夫か
相対パスはindex.phpからのであってるよ
0176nobodyさん
2007/04/01(日) 19:08:42ID:+UiPUal0画像やスタイルシートはドキュメントルートからのパスになるだろ?
0177171
2007/04/01(日) 19:14:37ID:sAfc6g3Uレスサンクス
どうやらリクエストした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:???でいいんじゃないの?
0179nobodyさん
2007/04/01(日) 20:47:16ID:???0180nobodyさん
2007/04/01(日) 22:32:21ID:sAfc6g3Uほうほう、そのタグ知らんかった・・・
サンクス
<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:???遅レスだけど、単純に
$front = Zend_Controller_Front::getInstance();
$front->run("/path/to/controllers");
$res = $front->getResponse();
if ($res->isException()) header("Location: http://localhost/");
とかじゃダメ? 話が違う?
header のところを 404 を出す処理にでも変えればいいような気がする。
0183180
2007/04/02(月) 08:46:24ID:UNZvnAmNまじですか?
適切なコントローラとアクションに振り分けられるので
たぶん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というのがあったので
ドキュメントルートのパスを設定したり、"/"のみを設定してみましたが、駄目でした。
どの辺を見直せば良さそうですかね?
ご意見ありましたらよろしくお願いします
0184180
2007/04/02(月) 10:01:33ID:YVop49f1違ったらすいませんが、
もしかして
>>178さんみたいに"/"から指定してないですか?
<link href="/styles/foobar.css" rel="stylesheet" type="text/css" />
それならうごくんです。というか、絶対パスだし。
う〜ん、ちょっとsymfonyのスレで確認してみます。
0185nobodyさん
2007/04/02(月) 18:45:53ID:???どっちのスレで答えるか迷ったけどsymfonyで自動生成されるタグは
絶対パスになってる。
CSSとか画像へのリクエストはクライアントのブラウザがリクエスト
するものだからブラウザに表示されてるURLからの相対パスで
不思議じゃない。
0186181
2007/04/02(月) 19:11:38ID:???相対パスで試したら余裕で無理だったなんか勘違いしてた
よくよく考えたらURLをrewriteする場合に
相対パスでリソース指定なんてした事なかった
今は反省している
普通絶対パス指定だな
あとdreamweaverはサイト設定したら
認識してくれるもんじゃないかね
0187184
2007/04/03(火) 00:18:05ID:3FiNTxl4レスありがとうです。
symfonyのほうでもレス頂きましたが、すっきりしました。
>>186
いえいえ、そんなに反省しなくてもw
勘違いは誰にもあるし
サイト設定はすっかり忘れてました
試してみます
サンクス
0188nobodyさん
2007/04/07(土) 17:33:25ID:???http://www.zend.co.jp/events/
これはノーパソもくれるってことなのかな
0189nobodyさん
2007/04/07(土) 18:19:08ID:???0190nobodyさん
2007/04/07(土) 19:39:02ID:???0192nobodyさん
2007/04/07(土) 21:22:05ID:???0193nobodyさん
2007/04/08(日) 04:50:22ID:???0194nobodyさん
2007/04/08(日) 07:05:34ID:???まあゼンドエンジンを無料で使っておいて、いまさらゼンドを馬鹿にできる立場じゃないだろうが。
他のPHPエンジンを選択して使えれば良いのにな。
0195nobodyさん
2007/04/08(日) 07:11:17ID:???ゼンドジャパンがあまりレベル高いと思えないのは俺だけ?
0196nobodyさん
2007/04/08(日) 09:58:31ID:???レベル高いの
0199nobodyさん
2007/04/08(日) 22:55:44ID:???会社がお金を出してくれるんでなかったら、自分じゃ行ってないな
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:???0204nobodyさん
2007/04/09(月) 02:02:12ID:???0205nobodyさん
2007/04/14(土) 23:56:03ID:6HoqK2AI日本語どうしてます?
$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:???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は使わないかな
0207205
2007/04/15(日) 04:41:44ID:f7ZVC+MYレスありがとうございます。
携帯のメールで四苦八苦してたんですけど
本文は文字コード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^)/ ((( < ̄< ))))
) )
((( > ̄ > )))) code igniterハジマタ
0209205
2007/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おまえは何を言ってるんだ?
0211nobodyさん
2007/04/22(日) 00:02:52ID:???init使うってのも考えたんですが他にスマートな方法とかないでしょうか?
0212nobodyさん
2007/04/22(日) 08:57:19ID:xZDJWmeUZFを書き換える
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このペースだと1.0リリースは年内ぎりぎりいっぱいって感じ?
大丈夫か?この開発ペース。
0216nobodyさん
2007/04/25(水) 09:53:04ID:???0217nobodyさん
2007/04/25(水) 16:55:07ID:???オープンで利益が見込めない以上、待つしか無い。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:???0221nobodyさん
2007/04/28(土) 02:09:27ID:tgkVshtz>>172
にあるZFcheckDoublePostって今もうないですよね?
何か別の名前になってるのでしょうか?
二重投稿防止があるなら自作しないで使っちゃいたいんですけど・・・
0222nobodyさん
2007/04/29(日) 14:57:15ID:???Frameworkって、functionやclassの詰め合わせみたいなもんでいいのかな?
0223nobodyさん
2007/04/29(日) 19:25:27ID:???0224221
2007/04/29(日) 22:27:25ID:o45ltyhE「Don't call me, we. call you.」ってやつでしょうか?
ところで
もしかして二重投稿防止機能ってデフォでついてる?
フォームに入力した文字を何のヴァリデイトも無しに、単純にDB登録する物作って
submit連射してみたんですけど、一個しか登録されません。
Keep Aliveが切れるの待ってかなりいっぱい連射してみたけど登録されるのは一個だけです。
マニュアルにありますか?ちょっと探してみたけど見つからないのですが。
0225nobodyさん
2007/04/30(月) 12:42:34ID:xadrbgqlfunction 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;
と代入してやれば動くけど、メモリ無駄遣いしてる感じもするし。
なんかほかにいい書き方ありませんでしょうか?
お願いいたします。
0226225
2007/04/30(月) 12:43:47ID:???PHPのくだらねえ〜版に書くつもりで・・・
あっちへ行きます。
0227nobodyさん
2007/04/30(月) 14:12:02ID:???求めてるのはこれだろうか
$other_instance->{$this->name} = 'bar';
0229nobodyさん
2007/05/01(火) 19:09:51ID:???0.9.2で停止してるし。
0230nobodyさん
2007/05/01(火) 20:58:40ID:???0233nobodyさん
2007/05/01(火) 22:14:13ID:???PHP5の何以下だっけ?
たしかZFのソースの中に書いてあったんだけど
0234nobodyさん
2007/05/02(水) 01:31:49ID:???仕切り直しのZF2.0は何をベースにするのだろう?
日本人的にはちいたんなのか?(w
0235nobodyさん
2007/05/02(水) 01:43:14ID:???普及のための戦略製品じゃん、一応
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:???0240nobodyさん
2007/05/02(水) 16:55:25ID:CN0ZcYu0冨樫なんかと一緒にすんなよw
0241nobodyさん
2007/05/03(木) 00:13:22ID:B994S/bS後からシコシコ直せば。
どうせNew BSDライセンスだから,なんかあってもzendが責任負うわけじゃないしw
意外に?生真面目な会社なのかね?
というか、オープンソースって正式リリースは誰が決めるの?
0242nobodyさん
2007/05/03(木) 00:16:59ID:???オープンソースってコピーし放題なのにどうやって儲けるの?
ダウンロードできるのにインストールCD買うアフォって居るの?
0243nobodyさん
2007/05/03(木) 00:32:07ID:B994S/bS普及させて、ZendGuardとかStudioを売ったり、有料サポート(あるのか知らないけど)とか、セミナー?とかで設けるんじゃないの?
あと、Zendって会社名だって、PHPのおかけで業界じゃ知らない人いないし、宣伝費も浮く。
まあ、でも不思議だよね。オープンソースって。
0244nobodyさん
2007/05/03(木) 00:38:14ID:???PHPが普及すればするほど儲かる会社なんだから
というかZFなんかで金取る方がおかしいだろ常識で考えて
0245nobodyさん
2007/05/03(木) 01:52:21ID:???>オープンソースってコピーし放題なのにどうやって儲けるの?
>ダウンロードできるのにインストールCD買うアフォって居るの?
発想が貧困すぎ。
有料ソフトウェア会社が倒産して、オープンソース化して利益を得ている
Blender Foundationのケースでも勉強して出直してきなさい。
0246nobodyさん
2007/05/03(木) 16:35:15ID:B994S/bSここにあるサンプルソースをコピペすると、改行が全部除去されるのはうちだけでしょうか?
マジでめんどくさいんですけどOTZ
0247nobodyさん
2007/05/03(木) 16:54:10ID:???0248246
2007/05/03(木) 21:03:07ID:???今ちょっと思い立ってFirefoxでためしたら改行されなかった。
普段使っているSleipnirでは改行なくなる。IEでもなくなる。
なんかIEの設定っぽいけど
SleipnirのレンダリングエンジンをGekkoにしてお茶を濁します
0249nobodyさん
2007/05/07(月) 16:14:50ID:rh9t4bwF0251nobodyさん
2007/05/08(火) 00:38:50ID:???0252nobodyさん
2007/05/08(火) 02:59:08ID:???そんな文句言ってると、今度からバージョンの桁数さらに増やされるぞ。
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:nxCKFKFF0254nobodyさん
2007/05/08(火) 09:40:42ID:???0255nobodyさん
2007/05/08(火) 10:36:32ID:???0.9.9.1
0.9.9.2
0.9.9.3
・
・
・
0.9.9.9.1
0256nobodyさん
2007/05/08(火) 10:54:11ID:???【何より】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:???0258nobodyさん
2007/05/08(火) 11:35:27ID:???0259nobodyさん
2007/05/08(火) 12:33:50ID:???【とうとう】ZF0.9.1000遂にリリース!【四桁】
0260nobodyさん
2007/05/10(木) 15:53:39ID:???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:???0262nobodyさん
2007/05/10(木) 21:39:26ID:???0.9.3で完全にファイルもなくなった
Zend.phpにあったメソッドはそれぞれ別のクラスに移動してる
0263nobodyさん
2007/05/11(金) 00:22:17ID:dMG3cwh5404的ページに飛ばすのに
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_ってつけなきゃいけなくなったのでしょうか?
それとも何か他が原因でしょうか?
0265nobodyさん
2007/05/11(金) 18:35:31ID:???1.0になってからやる。
0266nobodyさん
2007/05/13(日) 04:18:32ID:???ふむ
確かにそうですね。
beta何だから当たり前と言われればそれまでですが
にして開発遅すぎる!!!
がんばれZEND!!
マジで遅すぎる!!
0267nobodyさん
2007/05/13(日) 04:30:33ID:???0268nobodyさん
2007/05/13(日) 04:56:35ID:???0269nobodyさん
2007/05/13(日) 11:37:19ID:???0270nobodyさん
2007/05/13(日) 17:09:43ID:???0273nobodyさん
2007/05/16(水) 01:49:02ID:???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日間に渡って開催します。
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:???まぁまぁ、別スレでも書いた気がするけど、
そんなものだよ、金額。2日でその金額だと、むしろ安いほうに入るかも。
自分は行く必要性全くないと思ってても、会社で無理矢理行かされることもある。
超絶苦痛だがな・・・。
素人に対してどういうふうに教えるかという、先生役のスキルを磨くと思って参加するしか。
0277nobodyさん
2007/05/29(火) 13:24:50ID:afdgnzAT0278nobodyさん
2007/05/29(火) 20:02:02ID:???ってか、ここはどの板ですか。
0279nobodyさん
2007/05/29(火) 20:40:28ID:???0280nobodyさん
2007/05/29(火) 21:30:01ID:???0281nobodyさん
2007/05/29(火) 22:06:39ID:???0282nobodyさん
2007/05/30(水) 08:02:39ID:???まぁ俺には作れないから文句言わないで使わせてもらうが。
0283nobodyさん
2007/05/30(水) 08:09:35ID:amo3UjDjきたね!!
0284nobodyさん
2007/05/31(木) 22:01:23ID:???0285nobodyさん
2007/05/31(木) 22:03:38ID:???0286nobodyさん
2007/05/31(木) 22:26:49ID:???Zend_Filter, Zend_Validate 使って自分でゴリゴリ書くのかな
誰か本だしてけろ
0287nobodyさん
2007/05/31(木) 23:58:46ID:gup0HDto0289nobodyさん
2007/06/01(金) 08:55:41ID:2oVaVYFS開発、ここ見てるんじゃねえか?・・・
んなわけないか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誰か代わりにググってください
0292nobodyさん
2007/06/03(日) 11:57:07ID:0nGDIlTxえぇ〜
0293nobodyさん
2007/06/03(日) 18:01:50ID:???PHPの薬箱は読んだけど、あんまり役に立ちそうにないかも…
もうちと突っ込んだ内容がほしーす。
>>289
やっぱ自分で書くことが多いよね ZF は。
symfony みたいにビューヘルパーで生成したフォームを
そのままバリデートできると便利なのに。
っで、結局 ZF に QuickForm いれて使ってるけど、ちょーきもい。
みんなはフォームの確認画面とかどーしてるんだろ…
0294nobodyさん
2007/06/03(日) 19:55:30ID:???0295nobodyさん
2007/06/03(日) 22:19:43ID:JuAs3UiOおれはやふってみた
0296nobodyさん
2007/06/03(日) 23:42:09ID:aDzga603>>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:???やるなら自前でViewもヘルパも作るな
てかinterface作ったんならもうそんなに
コード綺麗じゃなくてもいいからZend_View_Smartyを
さっさと実装してとりあえず突っ込みゃいいのにとは思うが
てかもうZend_Viewが糞もうほんと糞
しかもデフォルトじゃviewディレクトリ以下で
また3つのディレクトリに分かれるようになってる?
あーもう1.0間際になってアクションヘルパやらなんやら
色々突っ込みやがって夏休みの宿題じゃねーんだぞボケが
0298nobodyさん
2007/06/04(月) 01:18:53ID:???0300nobodyさん
2007/06/04(月) 11:57:50ID:???アクセスできるようにするってことだろ
まあassignするものまとめて最後に
Vへ登録するのがベターかもしれないけど
MVC的にありえないって話でもないんじゃねーの
0301nobodyさん
2007/06/04(月) 12:12:11ID:???0302nobodyさん
2007/06/04(月) 12:41:14ID:28BocCFwMVC理解できてんのか?
0303nobodyさん
2007/06/05(火) 09:38:25ID:UTW3hgPeそのままではViewRenderer使えないね。
なんか足りないメソッドもあるし、しかもテンプレートのパスを決めるのに
Zend_requestかなんかのインスタンスが帰ってくるから
そっからパスを抽出してセットするロジックを実装しないとだめみたい。
まだよくソース見てないし、ちょっといじっただけだからはっきりわからないけど。
うまく動かせた人、情報お願い
0304nobodyさん
2007/06/06(水) 20:13:13ID:QBphBxXcViewRendererに突っ込んでも動かないってことは
要するにZendViewに慣れた人が扱いやすいからですよね?
Smarty単体ではできないViewRendererのおいしい所は
わざわざコントローラーでdisplay()しなくても、自動的に表示してくれる
とこなのかな?
ってことはアクションヘルパーを書いて自動でdisplay()するようにすれば
Smartyに慣れた人が多い環境では、わざわざZendViewInterfaceをくっつけて使う必要はないような
気がしません?
いや、気がしてきた!うん!
ZFって柔軟に作ってくれてるし、ZendView使っておかないと、後々面倒なことになることもなさそうだし・・・
0305nobodyさん
2007/06/06(水) 20:46:37ID:???仕様変更するし
0306nobodyさん
2007/06/09(土) 06:18:23ID:???0307nobodyさん
2007/06/09(土) 06:20:32ID:???0308nobodyさん
2007/06/09(土) 07:29:05ID:???ちんぽは立ってるんだが…
0309nobodyさん
2007/06/09(土) 09:52:52ID:6f8TWb7Z【PHP】フレームワークについて語るスレ7【総合】
http://pc11.2ch.net/test/read.cgi/php/1181350116/
0310304
2007/06/10(日) 01:40:17ID:T42YmVZbここの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:???ViewRendererにZend_View_Smartyを渡すように書き換えて、
getInstanceコピペしたら使えるようになったんだけど、
これで良いのか?
0312nobodyさん
2007/06/10(日) 09:25:35ID:???0313nobodyさん
2007/06/10(日) 15:01:03ID:T42YmVZbttp://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:???もちろん>>310の二つのメソッド追加して、
ついでにInterfaceじゃなくてAbstract使うようにして、
_runメソッド追加。
後ろ2行はいらないと思うけど、Interface使った方は試してないから動くかわかんない。
あとsetView()するタイミングがよくわかんなかったから、
コンストラクタでViewRendererのインスタンス生成するときに
Zend_View_Smartyのインスタンスを渡すようにした。
0315nobodyさん
2007/06/10(日) 18:12:55ID:???俺は興味なかったからスルーしたけど
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:???と書くとエラーが出るんです。。
0319nobodyさん
2007/06/11(月) 01:07:24ID:???じゃね?
アクションコントローラーから呼ぶ場合な
0320nobodyさん
2007/06/11(月) 07:08:36ID:???0321nobodyさん
2007/06/11(月) 15:49:18ID:???0322nobodyさん
2007/06/13(水) 00:43:28ID:???0324nobodyさん
2007/06/14(木) 22:56:10ID:K2VOGFDY0325nobodyさん
2007/06/15(金) 00:08:18ID:TFCVM0JE0326nobodyさん
2007/06/15(金) 01:58:24ID:???0.6くらいのやつばっかり
0327nobodyさん
2007/06/15(金) 02:20:22ID:???0328nobodyさん
2007/06/16(土) 00:19:07ID:???http://userguide.cilab.info/toc.html
CIはいいッスよ!一度使ってみてね☆
CIにZend Frameworkの一部を利用できるのかな?^^
0329nobodyさん
2007/06/16(土) 00:51:05ID:???0330nobodyさん
2007/06/16(土) 01:07:59ID:???0332nobodyさん
2007/06/16(土) 09:47:38ID:???0333nobodyさん
2007/06/16(土) 12:11:28ID:???0335nobodyさん
2007/06/16(土) 18:41:56ID:???0336nobodyさん
2007/06/17(日) 00:04:19ID:???RCでたっていうし懲りずにまた使おうと思ってる
さしあたりチュートリアルというかモデルとなる
ファイルソース詰め合わせが欲しいんだけどないかな?
なんか公式のWiki(http://framework.zend.com/wiki/x/q)行けないし・・
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:???0340nobodyさん
2007/06/19(火) 13:40:12ID:ZBm9eEIZ0343nobodyさん
2007/06/19(火) 16:20:14ID:ZBm9eEIZヘルパは使わない。
0344nobodyさん
2007/06/19(火) 17:47:51ID:???0345nobodyさん
2007/06/20(水) 01:06:52ID:???plug-inでやるしかないのか
0346nobodyさん
2007/06/20(水) 02:35:36ID:???0347nobodyさん
2007/06/24(日) 03:44:48ID:???0348nobodyさん
2007/06/25(月) 18:35:10ID:tR2eId4K0349nobodyさん
2007/06/26(火) 04:26:20ID:vrMRT0CAhttp://example.com/param/
ってできないの?
0350nobodyさん
2007/06/26(火) 05:26:19ID:ByBI6HRpっていうのをやりたいんだが
どうしたらいいのん?
0351nobodyさん
2007/06/26(火) 11:50:07ID:???Routerのルーティング設定でどうとでもできる
マニュアル嫁
>>350
こっちは自前でRouter作るしかなさそう
てかなんで今更query_stringからController/Actionを決める古いやり方を、、
0352nobodyさん
2007/06/26(火) 19:19:12ID:PKXMvhY50353nobodyさん
2007/06/26(火) 20:43:25ID:???フレームワークは呼ばれるところに書く
0354nobodyさん
2007/06/26(火) 20:58:09ID:+m1wrnTY0355nobodyさん
2007/06/26(火) 21:04:54ID:???うわ〜、それ頂き!
人に教える時なんて言ったら解りやすいのか悩んでた!
MVCとか言うと、やる気なくすし。
0356nobodyさん
2007/06/26(火) 21:38:16ID:???まったくの門外漢だが、Zend Framework てそういうのもセットになってるの?
.htaccess の mod_rewrite ?
railsの影響かと思ってしまうが、そういうのが新しいの?
トレンドに詳しい人の解説があれば嬉しいです。
ScriptAlias を使ったPATH_INFOでの引数渡しは相当初期からあったと思うが、
レンタルサーバで不可能な方法だしなによりCGI対象なため?PHPユーザレベルに
は全く広まってない。使いたかったけど。
>>350 は汎用性がある唯一のやり方だとは思う。
0357nobodyさん
2007/06/26(火) 22:38:30ID:???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:???0360350
2007/06/27(水) 23:08:11ID:I/EFS+XLhttp://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:???URIパスマッピング=ルーティングに、POSTの話し混在させるのがよくワカランけど
やりたいならルータコントローラーを拡張すればいいんじゃないの。出来るでしょ。
でも普通はパラメタで処理するよ、そういうのは。
0362nobodyさん
2007/06/28(木) 01:06:18ID:???CodeIgniterもサポートしてるけど、結局使わんでしょ。
PATH_INFOやREQUEST_URIだけ取得できれば,mod_rewriteなしでも
http://example.com/index.php/foo/bar/
形式でのルーティングできるもん。
0363nobodyさん
2007/06/28(木) 07:52:48ID:???> 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:???まあそういうことかもしれんけど、 ScriptAlias 指定出来るサーバなんだったら
普通mod_rewrite使えるだろ。
>絶対指定
なんで?
0366nobodyさん
2007/06/29(金) 00:43:19ID:???ゼンドなど、ウェブ開発手法「OPTIMA for Zend Framework」を発表
有料?こんなので金取れるのか…?
0367nobodyさん
2007/06/29(金) 02:38:52ID:???0368nobodyさん
2007/06/29(金) 20:46:25ID:???0369nobodyさん
2007/06/29(金) 22:13:28ID:u0ng+pVRhttp://framework.zend.com/
0370nobodyさん
2007/06/29(金) 22:22:03ID:2SpZ3JSR0371nobodyさん
2007/06/29(金) 22:35:00ID:???ゼンドが金儲けするために作ってるっぽくね?
なんかうさんくせー
0372nobodyさん
2007/06/29(金) 22:36:46ID:2SpZ3JSR0373nobodyさん
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:???>>210あたりはオンボロ携帯を全く視野に入れてないだけ?
0377nobodyさん
2007/06/30(土) 23:59:58ID:NoywJpgr日本語桶だよ
0378nobodyさん
2007/07/01(日) 01:23:26ID:mg2cJt1/まだそれほど良くソースみてないけど
本文やsubjectはquoted-printableでエンコードされるみたいじゃないですか?
しかも、対応してないので改造しないとBASE64にすることができない
ということです。
ほとんどの環境がquoted-printableに対応しているとはいえウィルコムの一部の機種や
古いリレーサーバーには対応してない物があると聞きました。
リレーサーバーはよく知りませんが、少なくともうちにあるウィルコムは文字化けしました。
そういう意味で、対応してないということです。
0379nobodyさん
2007/07/01(日) 16:06:36ID:f6e/Y+9u0380nobodyさん
2007/07/01(日) 16:30:22ID:???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:???これも自分で調整しないと駄目なんでしょうかね・・・
0383nobodyさん
2007/07/01(日) 20:04:46ID:eEsmHWC50384nobodyさん
2007/07/01(日) 20:55:10ID:???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そんなものも作れないおまえって・・・
0387nobodyさん
2007/07/01(日) 22:24:54ID:???0388383
2007/07/01(日) 22:27:03ID:???せっかく教えて頂いたんですが、英語でよく解りません。。
翻訳サイト等いろいろ駆使してみたんですが。。
ヒントだけでも頂けませんでしょうか。。
上記のサイトがそうだと言われたらぐぅの根もでませんが。。
0390nobodyさん
2007/07/01(日) 23:50:08ID:???それをまずくまなく読めよ
それでわからなかったらソース読めよ
それができない奴はどんな凄いFW使ったって結局詰まるよ
ZFは特にモジュール毎に分離されてて
一番ソースも読みやすいのに
0391nobodyさん
2007/07/02(月) 02:43:25ID:???全然フレームワークになってねー
0392nobodyさん
2007/07/02(月) 03:57:18ID:???CakePHPかCodeIgnaiterあたりがいい。そのままzendフォルダぶち込める
0393nobodyさん
2007/07/02(月) 04:03:25ID:???それがZF
0394378
2007/07/02(月) 08:35:27ID:BQ6KugYnよかったよかった
0395nobodyさん
2007/07/02(月) 08:48:50ID:???0397nobodyさん
2007/07/03(火) 17:14:17ID:EdzluZTx開発作業には,2005年10月の発表からこれまでに230人の個人および企業系開発者が参加したという。
0398nobodyさん
2007/07/03(火) 17:26:33ID:???0399nobodyさん
2007/07/03(火) 19:31:13ID:???0401nobodyさん
2007/07/03(火) 23:07:48ID:???日本の翻訳率すごいなw
0402nobodyさん
2007/07/03(火) 23:22:07ID:???本家やPHPUnitのドキュメントとかも翻訳してる人だよな?
0403nobodyさん
2007/07/04(水) 01:11:18ID:y0LJklWRマニュアル読んでも、どうも、自信がない・・・
例えば、ユーザーIDとパスがDBにしまってあって
MyPageみたいに、ページによって、このユーザーは編集できる、とか出来ないとか、分けたいとき、
まず最初のリクエストで、セッションにログインしてるユーザー情報がなければ
Authを使って、DBを調べ、パスとIDがあってたら、セッションに保存する。
で、同じリクエスト内で、そのページの編集が出来るユーザーとページのIDを(DBに問い合わせて)
ACLに登録、さらにセッションに登録されている認証ユーザーもACLに登録し
$acl->isAllowed('セッションのユーザーID', 'ページのID', 'edit')
とやって、falseならアボーン。
だいたいこんな感じでしょうか?
0404383
2007/07/04(水) 02:35:22ID:???遅くなりましたがソースざっとですが読んだら解りました。
バカな質問してたと理解しました。
すみません。。
そしてありがとうございました!
0405nobodyさん
2007/07/05(木) 01:23:08ID:+SLXoMdw0406nobodyさん
2007/07/05(木) 01:29:30ID:c737okI5芸スポも、n+もえらい減ってたぞ。。。
0407430
2007/07/05(木) 04:00:54ID:qisI43AQこれってRoleに登録されてないユーザーをisAllowedすると
例外投げるじゃないですか?で、認証かけたユーザーもaddRoleしようとすると、
先にDBに問い合わせて登録したユーザーと被ったときに例外投げる
(つまり認証が成功するユーザーからの問い合わせの時に、そのRoleは既にいますと)。
と言うことはDBに登録されてるユーザー全員をRoleに登録して
その全ページをリソースに登録して、しかも権利も登録して使う物なのですか?
まさか、例外キャッチして・・・ってことはないですよね。
使いどころが良くわかりません・・・・
まあ、Authは便利なのでそれは使って、ユーザーが権利があるかどうかは
自分で実装できるので問題ないのですが
便利なのに、勘違いしていたらもったいないかな、とおもって。
ちなみに404とは別人です
0410nobodyさん
2007/07/05(木) 10:00:02ID:???なんかRoleの理解がおかしいような
管理画面にログインできる人が複数いるとして
一番偉い人だけが触れる画面とそうでない画面がある場合に
総合管理者(=super_admin)と一般管理者(=admin)みたいにRoleを分ける、
DBにはそれぞれの管理者ユーザはどのRoleなのか入ってる、
その場合実際に必要なRoleはadminとsuper_adminだけでしょ
0411407
2007/07/07(土) 03:17:23ID:???作ってみたら、結構思い通りに出来ました
お騒がせしてすんません。
acl便利ってか、いいですね
0412407
2007/07/07(土) 03:36:58ID:???レスありがとうございます。
専ブラがうまく読み込めなくて、レス着いてないかと思って411のレスしちゃいました。
おっしゃるとおり、アクセスレベル的な要素(adminとかstaff、userなど)を、ユーザーに登録して
非常に楽に、色々なレベルでのアクセス制御を実現できました。
ただ、407を書いたときに疑問に思ったとおり、認証をかけたユーザーがすでにaddされていると
例外投げるので、事前に hasRoll(でしたっけ?)で、そのユーザーがいるか確かめてから
addすれば何の問題もなかったわけでして・・・
まあ、ちょっと複雑(ユーザーによって権限が違う)認証システム作るのがはじめてだったので
勘弁してくださいOTZ
0413nobodyさん
2007/07/07(土) 04:06:45ID:???0414nobodyさん
2007/07/07(土) 20:53:32ID:NqO9AG9o0415nobodyさん
2007/07/08(日) 09:25:58ID:???チュートリアルを探し回って、英語だけど1.0にも対応してて
なんとなくよさげだったのでこれやってみる事にした
0416nobodyさん
2007/07/08(日) 12:24:03ID:???0417nobodyさん
2007/07/08(日) 13:30:16ID:???0418nobodyさん
2007/07/08(日) 19:40:07ID:???0419nobodyさん
2007/07/08(日) 19:49:45ID:???微妙に変更はありそうだけど。
0420nobodyさん
2007/07/08(日) 20:46:43ID:???APIや構成とかも後方互換性取りつつ直していくだろう
1.0にした以上実際に使う人も多くなるから
これ以降もコロコロ仕様が変わるようだとMLが苦情で溢れるよ
0421nobodyさん
2007/07/08(日) 20:49:19ID:???0422nobodyさん
2007/07/09(月) 02:25:12ID:???0423nobodyさん
2007/07/09(月) 23:54:55ID:???youtubeAPIのレスポンス取得が失敗する
0424nobodyさん
2007/07/10(火) 00:02:00ID:???0425nobodyさん
2007/07/10(火) 17:13:44ID:???の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:???0432nobodyさん
2007/07/15(日) 08:55:28ID:S10qjWJshttp://framework.zend.com/manual/ja/zend.cache.html
0433nobodyさん
2007/07/15(日) 10:36:56ID:???レスありがとう。
ないとなると、save()するときに日時を取得しとくとか、
Zend_Log関係で工夫するくらいしかないか。
0434nobodyさん
2007/07/15(日) 22:33:46ID:???プロジェクト等あったら教えて
0435nobodyさん
2007/07/15(日) 23:06:51ID:???激しく希望。
PHP4を引きずり続けるいやーな流れをぶった切るようなキラーアプリが欲しい。
MovableTypeやRuby on Railsの様に、レンサバの環境から変えてしまうような。
・・・ZFにそこまでの力があるかはおいておいて、とりあえずPHP5限定のすごい
アプリをつくってエロイ人
0437nobodyさん
2007/07/15(日) 23:09:49ID:???0438nobodyさん
2007/07/15(日) 23:49:43ID:S10qjWJsそっから勉強したいし
0439435
2007/07/15(日) 23:52:28ID:???thx
ざっくり見てみたが、ZFのサンプルというか練習土台としていい感じ?
間違ってもキラーアプリにはなりそうにないが、読みやすいからこのままいじりたく
なるソースの様な気がする。
こういうのが、PHP4との互換性をごにょごにょしてて読めねーよてCMSとかを
押し流してくれたら・・・。
ただ、気になったのは、やっぱり
private static function _stripslashes(){〜〜}
を自分で定義とか
$hoge = isset($_POST['hoge']) ? $_POST['hoge']: '';
なのね。
Notice出まくるソースよりはいいが、この辺をフレームワークに取り込むとか
言う動きはないのかな?
0440nobodyさん
2007/07/16(月) 00:32:20ID:???リクエストパラメータの取得なら、Zend_Controller_Request_Httpとかじゃね?
http://framework.zend.com/manual/ja/zend.controller.request.html
と思ってソースのぞいてみたけど、stripslashesみあたらない。
0441nobodyさん
2007/07/16(月) 00:45:39ID:???0442nobodyさん
2007/07/16(月) 01:31:16ID:???リクエストもスーパーグローバルから取ってるし相当古い
(Requestすらcoreに入ってない時だったんだろうか)
てかチュートリアルやサンプルのアプリ待ってたんじゃ
FWなんざいつまで経っても使えないぜ
0443nobodyさん
2007/07/16(月) 01:44:09ID:???0444nobodyさん
2007/07/16(月) 01:52:57ID:???でも、最新のソース(1.0.0)でもstripslashesは見あたらない。
.htaccess使う前提だから、そこに一行足せばいいと言えばそれまでかもだけど。
0445nobodyさん
2007/07/16(月) 14:43:58ID:???メンテだったらZFのような気がするけど
0446nobodyさん
2007/07/16(月) 15:46:04ID:???素早く書ける仕組みだったり周辺ツールだったりが
色々足りてないのは異存ないが、
個人的にはcakeはコードが醜い、使う気にならない
symfonyは今ある中では一番いいとは思うけど
これもちょっと好みに合わない、
propelはとてもじゃないけど好きになれない
0447nobodyさん
2007/07/16(月) 17:25:11ID:???0448nobodyさん
2007/07/16(月) 20:48:10ID:???0449nobodyさん
2007/07/17(火) 08:13:56ID:???なんで流行ってるんかわからん
使うだけのやつにはいいのかね
0450nobodyさん
2007/07/17(火) 13:09:16ID:???0451nobodyさん
2007/07/17(火) 14:10:19ID:???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:???>cake: タブ
これがなあ。こっち側でタブ表示修正すればいいといえばいいんだけど
if (
isset(
) && ...............
)
こんなの最初に見た時は、何事かと思ったもんだ。
0454nobodyさん
2007/07/17(火) 15:37:12ID:???環境によって見え方が違うっていうのは分かってるんだけど、
タブ=スペース4コが大多数だと思っていた。
考え方を改める事にするよ。
って言ってもおおっぴらに公開するようなモノもないけどさ。
0455453
2007/07/17(火) 15:42:42ID:???結局は神学論争の域だから論じても仕方がないことがあるんだけど、cakeのアレはさすがに・・っていう印象。
0456nobodyさん
2007/07/18(水) 00:15:32ID:???他にも問題あり? > cake
0457nobodyさん
2007/07/21(土) 00:26:22ID:???っていうのはバリデータでやるのがいいの?ちがう?
0458nobodyさん
2007/07/21(土) 00:42:33ID:???実際にFW使うとなると拡張したりする作業は絶対に出てきて、
その時にFWのソースを読みつつ拡張していく事になるけど
それがcakeのソースある程度読んで
別に構わないと思うなら使ってもいいんじゃない
php4に対応する必要があるとかの理由がないなら
基本どれ使うかは好みっちゃ好みだし
0459nobodyさん
2007/07/21(土) 01:40:42ID:???結局ソース読まなきゃいけないことは確かにあるなぁ
だからどういう動きをしているのかとか利用者が多くて情報の多いFWの方がいいよね
0460nobodyさん
2007/07/21(土) 02:39:45ID:???何か必要に迫られた時に
深追いする気になれるコードかどうかってのは
見ておいた方がいいと言うか、
まあ結局FW使ってて深追いしない事なんて無いからw、
それだったら構成がすっきりしていて
自分が綺麗だと思えるコードの方がいいから
0461nobodyさん
2007/07/22(日) 20:27:44ID:???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キャッシュの判別自動化できないかな・・・
0467nobodyさん
2007/07/22(日) 22:06:04ID:???filter_inputとaclあたりの情報をくださいお願いしま
0468nobodyさん
2007/07/22(日) 22:15:13ID:???0469nobodyさん
2007/07/22(日) 22:18:17ID:???俺も安定したら本気だす
0470nobodyさん
2007/07/23(月) 22:39:41ID:???http://framework.zend.com/wiki/display/ZFPROP/Zend_Layout
これ?ぐらいしか見つからなかった。
ほんとに入んのかな。なんで Zend_Controller、Zend_View から独立してんだ。
0471nobodyさん
2007/07/26(木) 01:24:41ID:???こっちが入ると思う、いつの間にか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:???0475472
2007/07/29(日) 20:08:14ID:???確認画面で受け取った値をそのままhiddenに入れるのは危険だよ
自己解決しますた。
echo $this->formCheckbox('hoge', $session->hoge === '1' ? '1' : null);
こんなかんじで…
なんだかなー
0476nobodyさん
2007/07/29(日) 21:21:12ID:???http://www.alexatnet.com/
がDrupalに変わっちゃっててブログツールの場所が見つからないんだけど
公開終了しちゃってるの?
0477nobodyさん
2007/07/30(月) 18:46:09ID:0pTg8goEuse_only_cookies = on
にしておけって書いてあるけど、
携帯対応するとoffにせざるを得ないよね?
0478nobodyさん
2007/07/30(月) 21:47:24ID:???0479nobodyさん
2007/07/31(火) 13:59:05ID:ti5DbwcIZend_Session::setOptions(array(
'use_only_cookies'=>0,
'use_cookies'=>0,
'use_trans_sid'=>1,
'remember_me_seconds'=>3600,
'name'=>"psm",
));
これで動いてるけど、まずいのかな。
たしか
ZF_Configとあわせて、この設定をiniファイルで外側に出す方法もマニュアルに出てると思った
0480479
2007/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そうれはそうだけど>>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ではグループ化できたんだけどなぁ
0486nobodyさん
2007/08/01(水) 17:33:45ID:???できないんで、何か良い方法がないかと模索してるんです。
viewで
echo $this->formText('hoge[aaa]');
echo $this->formText('hoge[bbb]');
ってしたけど、このやり方はどーなんだろ。
0487nobodyさん
2007/08/05(日) 13:48:03ID:jVkpvx0G何がかわったにゃあああああああああ?
0489nobodyさん
2007/08/05(日) 21:52:58ID:???なんか0がかえってくるんだが…
0490nobodyさん
2007/08/08(水) 00:43:29ID:47b/4FiEで応答がなくなる事があるんだけど同じ現象の人いない?
0491nobodyさん
2007/08/08(水) 00:45:56ID:???0492nobodyさん
2007/08/08(水) 01:09:19ID:???応答無くなるって具体的にどんな感じよ?
0493nobodyさん
2007/08/08(水) 10:19:59ID:47b/4FiEZend_Session::start();
としてるんだけど、ブラウザの応答がなくなる事があるからログを出してみたんです。
$logger->debug("test1");
Zend_Session::start();
$logger->debug("test2");
で通常は
test1
test2
と正常に出てるんだけどブラウザに応答がなくなったときは
test1
で止まってる。
全然具体的じゃなくてすいません。
いつ起きるか調査中なので続報あったら書きます。
0494nobodyさん
2007/08/08(水) 19:04:48ID:???どうなんだろあれ
0495nobodyさん
2007/08/10(金) 01:57:46ID:???0496nobodyさん
2007/08/11(土) 15:24:00ID:efQm7yYJアレ使うとソースが無駄に長くならね?
どういう風にやってんの?
0497nobodyさん
2007/08/11(土) 17:29:13ID:???0498nobodyさん
2007/08/11(土) 18:00:42ID:???0499nobodyさん
2007/08/11(土) 19:58:53ID:DjfayvKVhttp://mixi.from.tv/
0500nobodyさん
2007/08/20(月) 15:40:21ID:tSriHhKp0501nobodyさん
2007/08/20(月) 21:53:02ID:???0502nobodyさん
2007/08/20(月) 22:11:36ID:tSriHhKp0503nobodyさん
2007/08/20(月) 22:31:01ID:???0505nobodyさん
2007/08/20(月) 23:35:09ID:???お前らsmarty好きだよな
俺zend_view使ってるぞ
0506nobodyさん
2007/08/21(火) 09:23:20ID:???0507nobodyさん
2007/08/23(木) 13:47:37ID:???少ないんじゃないの
0508nobodyさん
2007/08/23(木) 22:17:03ID:???0510nobodyさん
2007/08/25(土) 21:35:06ID:???早くLayout付けてよ
0511nobodyさん
2007/08/25(土) 21:44:21ID:???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またそれかw
0517nobodyさん
2007/08/28(火) 22:36:30ID:???ほんとに出るかは知らんけど
0518nobodyさん
2007/08/29(水) 17:13:42ID:???0521nobodyさん
2007/09/07(金) 01:00:46ID:???お前らこのE-コマースシステムよさげじゃない
ZendFrameworkで出来てるらしいけど
0522nobodyさん
2007/09/10(月) 17:03:05ID:or3awNLmvarienって何?
0523nobodyさん
2007/09/11(火) 08:36:19ID:???http://www.amazon.co.jp/exec/obidos/ASIN/4881665936/
Zend Frameworkは使ったことないけど、一応どんなものか目を通しておこうと思います。
0524nobodyさん
2007/09/13(木) 22:38:43ID:???http://www.manning.com/allen/
in Actionシリーズで、LLのフレームワークだとこれが初なのかな?
0525nobodyさん
2007/09/14(金) 06:00:51ID:???チュートリアルぽい内容かな
0526nobodyさん
2007/09/16(日) 22:52:04ID:???かなり太い本だね
0527nobodyさん
2007/09/17(月) 00:01:19ID:???0528nobodyさん
2007/09/18(火) 14:05:12ID:nuy2Jlr4http://example.com/コントローラ名/アクション名/ だと思うんですが
http://example.com/index/index とするとNotFoundになってしまいます。
誰か教えてください。
0529nobodyさん
2007/09/18(火) 14:11:36ID:MFKSKhVeコントローラ名を大文字にしてみてくれ。
あと、rewriteちゃんとしてる?
0530nobodyさん
2007/09/18(火) 15:37:11ID:nuy2Jlr4ありがとうございます。
0531nobodyさん
2007/09/20(木) 20:15:14ID:VUodyB3I0532nobodyさん
2007/09/20(木) 20:53:23ID:???RewriteRule .* - [L]
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
0533nobodyさん
2007/09/25(火) 18:30:38ID:D7nKFtyY0535nobodyさん
2007/09/26(水) 08:27:29ID:MYWbpKECありがとうございます!
0536nobodyさん
2007/09/26(水) 10:58:48ID:kAbaoEHt0537nobodyさん
2007/10/03(水) 11:37:55ID:37NbQuPT移動できないようにし、他のページからきた場合には他の
ページに飛ばしたいのですが、
どこのページから移動してきたか確認できるようなものってないですか?
0538nobodyさん
2007/10/03(水) 16:32:15ID:???0540nobodyさん
2007/10/10(水) 21:32:52ID:???雑誌やらで記事がのっててコード見たいんだけどWeb上から消滅してる
0541nobodyさん
2007/10/10(水) 22:34:37ID:???ここかな
そのソースがあるかどうかはしらんが
0543nobodyさん
2007/10/11(木) 00:00:12ID:9NrsxWrE0544nobodyさん
2007/10/11(木) 19:57:35ID:Y4cbxz380546nobodyさん
2007/10/14(日) 00:22:24ID:mwhCy2ge意味がわかんないんだけど
0547nobodyさん
2007/10/14(日) 03:50:52ID:???0548nobodyさん
2007/10/14(日) 03:54:49ID:utDu4jlp俺は自作クラス入れてる。
0549nobodyさん
2007/10/14(日) 05:10:42ID:???0550nobodyさん
2007/10/14(日) 15:59:12ID:???0551nobodyさん
2007/10/14(日) 22:34:36ID:???Zend_Db_Table、Zend_Db、バリデーションなどをうまくさばいた
モデル設計の最良解が見えにくいので
結局オレオレFWが出来上がりやすい⇒FWの意味半減
0552nobodyさん
2007/10/14(日) 23:39:50ID:???「デフォルト状態ですぐに使えるモノ」が色々と足りなさ過ぎるよなあ
自由度や柔軟性とのトレードオフな部分もあるけどさ
かゆいところに手が届かないフレームワークというか
RoRはConvention over Configurationだけど
ZFってCustomization over Conventionだもん
もう決め打ちしてくれよって感じ
0553nobodyさん
2007/10/18(木) 01:20:47ID:KqVQHgFyみたいなやつ用意してくれませんのかね?
0554nobodyさん
2007/10/18(木) 02:35:20ID:???そこやっかいですよね〜
そんなこんなでまだethna使ってます。
コンポーネントとか素材はいいんだけど。
早くethna捨てたい
0555nobodyさん
2007/10/19(金) 19:04:08ID:/DeIRb8R0556nobodyさん
2007/10/20(土) 02:50:21ID:???ってことは可能なの?
Zend_Controller や Zend_View なしでも
動くようになってるんでしょうか?
0557nobodyさん
2007/10/20(土) 03:44:11ID:hv51ePaW0558nobodyさん
2007/10/20(土) 04:01:10ID:???Zend_Db つかうドライバ(DboSourceを継承したクラス)を書けばいい。
pear::DB用ドライバがコメント除いて100行程度だから簡単だろう
0559nobodyさん
2007/10/20(土) 11:56:16ID:???それってZF内でなんか方針として決まってるんだろうか
それとも今後Zend_Controller前提になるんだろうか
0560nobodyさん
2007/10/20(土) 12:03:07ID:lDCmHmbT0561nobodyさん
2007/10/20(土) 19:45:35ID:hv51ePaWValidate_IsEmptyがちゃんと動かないんだけど
これって正しい動きなの?
0562539
2007/10/21(日) 16:14:54ID:???Zend_Controller や Zend_View なしでもOK
>>558
ドライバ不要
>>559
独立したコンポーネントで使えるのがZFの方針
0563nobodyさん
2007/10/21(日) 17:27:31ID:???0564nobodyさん
2007/10/21(日) 18:44:18ID:???0565nobodyさん
2007/10/21(日) 18:48:20ID:???0566nobodyさん
2007/10/21(日) 20:14:31ID:???0567nobodyさん
2007/10/22(月) 00:05:58ID:nQ80Rs2X0568nobodyさん
2007/10/22(月) 00:17:40ID:???あくまでPHP5用ライブラリね>ZF
0569nobodyさん
2007/10/23(火) 00:05:27ID:???0570nobodyさん
2007/10/23(火) 10:59:20ID:???0571569
2007/10/23(火) 14:06:52ID:???皆さんはどうしてますか?
ディレクトリ分けしているのでしょうか?
0572nobodyさん
2007/10/24(水) 01:30:51ID:???>>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:???insert、updateメソッドのように
SQLを意識しないで使用できるSELECT用のメソッドって
ないのでしょうか?
マニュアル見てみましたが見当たりません。
SELECT文の場合、みなさんシコシコとSQL書いてるんでしょうか。
where句とかを見るとげっそりするのです。
0574nobodyさん
2007/10/24(水) 04:48:56ID:???0575572
2007/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:???Zend_Db_Selectっていう名前ズバリそのもののクラスがあるだろうが
selectは複雑だから別クラスになってんだよ
0579nobodyさん
2007/10/24(水) 20:05:53ID:???SELECT文は取得条件の項目が多いから単にメソッドが多くなってるだけ
メソッドチェインで取得条件足してくだけだろうが
あれがupdateやinsertみたいな1メソッドだったら引数が複雑になる
0580nobodyさん
2007/10/25(木) 00:11:44ID:???0581nobodyさん
2007/10/25(木) 23:00:57ID:YQ1wPxgbどんな名前がいいと思いますか?
0582nobodyさん
2007/10/25(木) 23:07:21ID:???0583nobodyさん
2007/10/25(木) 23:19:10ID:???CrRemover って名前はどうかな
そのまま名前にしちゃえばいいんじゃない?
WellKnownFilterToUnificateNewlineCodeToLf とかw
0584nobodyさん
2007/10/25(木) 23:25:04ID:???こんなの嫌です><
>CrRemover
にしときます!
0585nobodyさん
2007/10/25(木) 23:25:35ID:???だと関数みたいだよね
0586nobodyさん
2007/10/25(木) 23:32:51ID:???0587nobodyさん
2007/10/26(金) 17:21:16ID:???0588nobodyさん
2007/10/27(土) 00:02:29ID:???0589nobodyさん
2007/10/27(土) 01:22:28ID:???ここでZend_Formを見つけたんやけど
なんでこれだけこんなところで配布してんの?
0590539
2007/10/28(日) 01:00:56ID:???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
0592591
2007/10/28(日) 10:46:21ID:???0593nobodyさん
2007/10/28(日) 11:12:23ID:???ネームスペース縛りが厳しいPHPで
オレオレライブラリにZendのプレフィックス
安易に使っちゃう奴の気が知れん
0594nobodyさん
2007/10/28(日) 13:51:04ID:???それでもややこしいことしてくれてるけど
0595nobodyさん
2007/10/29(月) 01:59:27ID:???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:???staticだからってことなんじゃないの?
あと、
$mail = new Zend_Mail();
$mail->send($tr);
0597nobodyさん
2007/10/31(水) 04:47:05ID:???Zend_Mail
Zend_Db
が使いやすいな〜と思い、
ZF使いになった俺です。
極力ZFを使用するように努めてるんですが、
たとえば認証部分の場合、
DBにユーザ情報格納するときには、
DBのuserテーブル、IDとPASSでwhere句で調べて、1行じゃなければアウト、って
いう俺俺クラスを作ったほうが、
Zend_AuthやZend_Aclを使うよりも恐ろしく楽な気がします。
こういったときの使い分け基準ってみなさんどうしてますか?
0598nobodyさん
2007/10/31(水) 05:31:04ID:???って考えて作って行ってたけど
無理だと思ってやめた
0599nobodyさん
2007/11/01(木) 04:05:54ID:???if処理したい場合、
$result = Zend_Mail::send;
if( $result ){
echo "成功";
}else{
echo "失敗";
}
でよかとでしょうか?
マニュアルにはboolenとか書いてないとですが。
0600nobodyさん
2007/11/01(木) 08:46:28ID:yKQSluaW* @return Zend_Mail Provides fluent interface
0601600
2007/11/01(木) 08:47:16ID:???0602nobodyさん
2007/11/01(木) 12:46:57ID:???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
0606599
2007/11/02(金) 01:49:05ID:???Zend_Mail は「流れるようなインタフェース」を提供する
が return?
メソッドチェーンと何の関連が。。。
全然意味わからんとです。
0607nobodyさん
2007/11/02(金) 01:57:42ID:???↓
返す型:Zend_Mail …… fluent interface を提供するため。
599は>>605のリンク先を少しは読め
0608nobodyさん
2007/11/03(土) 05:21:17ID:???FWのFWというかDSLのDSLというか。
0609nobodyさん
2007/11/03(土) 06:06:39ID:???adsl?
0610nobodyさん
2007/11/03(土) 12:32:41ID:???0611nobodyさん
2007/11/04(日) 00:45:50ID:pUsvR5iHuser_nameみたいなカラムを
$row->userName
みたいにするような感じじゃなかった?
0612nobodyさん
2007/11/04(日) 01:03:54ID:???Nintendo DS Lightのことか?
0613nobodyさん
2007/11/04(日) 01:39:49ID:???Glenn Vanderburg氏*3によれば,メタプログラミング機能が最も活用できるのはDSL(Domain Specific Language)の分野なのだそうです。
DSLとは特定の分野向けに機能を強化した小規模なプログラミング言語のことで,昔からあるアイディアです。
だってさ
0614nobodyさん
2007/11/04(日) 17:38:17ID:pUsvR5iHみたいなページで:usernameのユーザーが登録されてないときに
404ページ出す場合ってforwardでエラーページに飛ばすべきか
throw new Zend_Controller_Dispatcher_Exception()をするべきか
どっちがいいですか
0615nobodyさん
2007/11/04(日) 18:40:59ID:???0617nobodyさん
2007/11/05(月) 12:46:18ID:???Zendルータってもう使いものになるレベルになってんの?
0618nobodyさん
2007/11/06(火) 20:29:30ID:???使えないのは、単にお前の能力不足じゃないのか
0619nobodyさん
2007/11/07(水) 02:53:53ID:???前見た時はなんかろくすっぽ実装されてなかったけど
0621nobodyさん
2007/11/08(木) 02:26:48ID:???下記のように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:???まだがっつりとは触ってないけど、私見では十分使えるレベルだと思う。
Net_URL_Mapperなんかでごりごり書くよりも直感的で、本当にルータっぽく
設定できるので、個人的には結構気に入っている。というか、他の機能が
まだ少し未熟な(好意的に見れば柔軟性に富んだ)感触なのに対して、ほぼ唯一
そのまま使える機能といってもいいw
むしろ、Validator周りが予想以上に使えなくて、今頑張ってるよ…。
0623nobodyさん
2007/11/10(土) 00:36:32ID:grKOANVoその辺はZend_Formとかとくっつける為にあんな感じなんだろう
0624nobodyさん
2007/11/10(土) 00:49:31ID:???0625nobodyさん
2007/11/10(土) 01:04:16ID:???0626nobodyさん
2007/11/10(土) 02:58:12ID:???DEBUGはロギングしない、とか後で変更できないの?
わざわざ継承して、debug関数の処理空にする、とかしか思いつかない。
0627626
2007/11/10(土) 02:59:42ID:???0628nobodyさん
2007/11/10(土) 15:52:22ID:???で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:???Zend_Db_Profilerで見られるクエリでPDOでbindする前のじゃなかったっけ
だからそれはそれであってるんじゃないの(この仕様もどうかと思うんだけどね)
例外が返ってくることもなくデータが入らないの?
0631nobodyさん
2007/11/10(土) 23:10:26ID:???objectが返るってことはソースからなんとなくわかったんだが、
結局
>>599のように送信が成功したかどうかで分岐させたい場合、
どんな記述をすればよいの?
0632nobodyさん
2007/11/11(日) 01:37:50ID:???0633nobodyさん
2007/11/11(日) 09:38:19ID:???sendで失敗したら例外が投げられるから投げられてたらエラー
tryでsendしてcatchに失敗した時の処理を書く
0634nobodyさん
2007/11/11(日) 10:16:36ID:???ZF周辺の頭脳派集団的オーラがぜひPHPコミュニティ全体に波及しますように
0635nobodyさん
2007/11/11(日) 23:29:07ID:???ほかの人はあれ好きなの?
0636nobodyさん
2007/11/11(日) 23:43:13ID:???.NetでもSMTPにメールアドレスが拒否られた場合、普通にException投げてくれるから同じ書き方になる
try{mail.send(primary)}
catch
try{mail.send(secondary)}
catch{return false;}
他の言語だとどうなんだろうね
0637nobodyさん
2007/11/12(月) 00:32:16ID:OoaTyYVU0638nobodyさん
2007/11/12(月) 00:46:57ID:???0639nobodyさん
2007/11/12(月) 01:36:43ID:???SimonとかいうヤシのProposalはどうも現場感覚が決定的に不足してる感じがする
0640569
2007/11/12(月) 07:21:42ID:???0641nobodyさん
2007/11/12(月) 10:09:01ID:zaguTSbK0642nobodyさん
2007/11/12(月) 14:04:06ID:MO0zYBuT0644nobodyさん
2007/11/12(月) 18:03:05ID:???一つ書き忘れ。送信者名に日本語使うときの対処方法がZend framework入門の
P299に書いてあります。
0645nobodyさん
2007/11/12(月) 18:26:18ID:???0647642
2007/11/13(火) 19:59:22ID:lFhItDW1>>644
給料出たので奮発してその本買って見ます。
0648nobodyさん
2007/11/13(火) 20:32:39ID:???マニュアル以上のことが書いてあるわけでも無いし。
俺は買って損した気分です。
0650nobodyさん
2007/11/14(水) 01:14:37ID:???英語でよければ「Zendframework in action」がオンライン購入で途中まで読めるようになっており
コチラはもう少し読みやすく実践的なのでモチベーションが上がる。
まぁZFのバージョンアップではやくも内容が古くなりつつあるけど。
0651nobodyさん
2007/11/14(水) 01:44:20ID:???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:???0653nobodyさん
2007/11/14(水) 03:29:33ID:???$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:???0655nobodyさん
2007/11/14(水) 05:29:12ID:???はじめて知った。さすがPHP、奥が深いな。
0656nobodyさん
2007/11/14(水) 10:07:45ID:???0657nobodyさん
2007/11/14(水) 14:21:55ID:???反映行数がinsertの返し値なようだから、
0ならfalseとかthrowとかしなきゃいけない、でファイナルアンサー?
0658nobodyさん
2007/11/14(水) 17:50:43ID:???それで例外キャッチできないって絶対何か別の原因があると思うけどなあ
内部で何かエラーがあれば必ずZend_Exception派生の例外は投げられるはずだけど
データの取得(SELECT)はちゃんとできるかい?
0659657
2007/11/15(木) 12:38:07ID:???はい、そうです。
selectなども正常にできています。
意図的にDBパスワードミスとかするとちゃんとcatchしてくれます。
何となく思ったのですが、
653のままでも
本来insertが例外を投げているのであれば、
catchされないままになってしまうので
通常はエラーが出るはずですよね。
0660nobodyさん
2007/11/16(金) 03:03:39ID:???0661nobodyさん
2007/11/16(金) 03:55:13ID:???0662658
2007/11/16(金) 12:18:44ID:???うむ
>>660
戻り値が0だったら例外が投げられるとかって事じゃなく
insertが通っているのに戻り値0で
実際にはinsertされてないってのは
何か別の原因が、って意味で書いた
0663nobodyさん
2007/11/16(金) 20:37:00ID:???0664nobodyさん
2007/11/16(金) 21:15:28ID:???ZendFrameworkってどうよ?って質問しに来たんだが、
ざっとスレ読んで放置することにしたわw
0665nobodyさん
2007/11/16(金) 22:17:00ID:???0666nobodyさん
2007/11/16(金) 22:19:53ID:???0668664
2007/11/16(金) 23:12:19ID:???自分で作ることにするわ。汎用性ありそうだったら公開するお。
0670nobodyさん
2007/11/16(金) 23:30:58ID:???0671nobodyさん
2007/11/16(金) 23:46:54ID:???0672nobodyさん
2007/11/16(金) 23:56:08ID:rj+nso4lソースとかなんでもclassにしちゃうとことか
とっても好感を持てます
0673nobodyさん
2007/11/16(金) 23:59:50ID:???それ普通じゃないの
0674nobodyさん
2007/11/17(土) 00:49:58ID:???普通にClassにするだろ
0675nobodyさん
2007/11/17(土) 01:48:15ID:???って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:eWyQP34E0680nobodyさん
2007/11/17(土) 11:44:10ID:???俺ならUserにregisterメソッドを用意して
その中でbeginTracnsanctionして
UserへのinsertとUserProfileへのinsertを行う
って感じでmodelに押し込めるな
Controllerからはトランザクションを意識したくはないな
0681nobodyさん
2007/11/17(土) 16:52:25ID:???でUser::insert(),UserProfile::insert()
でControllerでcommitする。
Controllerでトランザクション意識するのってそんなに良くない事かな?
俺はどっちかっていうとmodelでcommitすることに抵抗あるな。
トランザクションの制御はなるべく外側でやりたい。
0682nobodyさん
2007/11/17(土) 20:07:19ID:???0683681
2007/11/17(土) 20:44:28ID:???そうか、やっぱりダメか。
なんかControllerで何やって良いかまだ良く分かってないんだ。
なら>>677の別の解答として、
UserRegisterクラスを作って
その中で
beginTracnsanction()
User::insert()
UserProfile::insert()
commit()
とするのはどうかな。
0684nobodyさん
2007/11/17(土) 20:53:01ID:???いや俺もコントローラでコミットするよ。
そんでbeginとcommitの場所はソース的には一カ所になるようにする。
そうすると安全。
0686nobodyさん
2007/11/17(土) 21:18:14ID:???0687nobodyさん
2007/11/18(日) 00:20:09ID:???0688nobodyさん
2007/11/18(日) 00:54:29ID:???まー好きにしろってこった。
0689nobodyさん
2007/11/18(日) 02:40:59ID:???データの処理関係はモデルです。曖昧も何もない。勉強不足
0690nobodyさん
2007/11/18(日) 02:48:04ID:???根本的にセンスがない。
0691nobodyさん
2007/11/18(日) 04:27:24ID:???モデルって結構幅広いから
どういう設計にしたらいいかすっげー悩むんだけど
その辺のルールがよくわからない
0693nobodyさん
2007/11/18(日) 07:29:05ID:???0694nobodyさん
2007/11/18(日) 07:33:16ID:???0695nobodyさん
2007/11/18(日) 08:02:11ID:???0696688
2007/11/18(日) 08:16:49ID:???ぶっちゃけZendFramewordつかってないから良くしらんのだがwww
単に複数の別クラスのモデルを1つのトランザクションで処理するときどうするの?
0697nobodyさん
2007/11/18(日) 08:32:29ID:???Cでコントロールしてもおかしくない
0698nobodyさん
2007/11/18(日) 08:55:51ID:???0699nobodyさん
2007/11/18(日) 09:01:34ID:???0702688
2007/11/18(日) 12:18:02ID:???うわ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:???try {
トランザクション開始
アクション関数呼び出し
} catch () {
ロールバック
ログ出力
} finally {
例外じゃなきゃコミット
}
アクション内ではトランザクションとか何も意識しない
とかなっとけばいいんでないの?
モデルのなかでいちいちトランザクション貼ってロールバックとか
毎回書く方がナンセンスじゃないか?
複数のモデルの処理が全部正常に行われたらコミット、
何か1つでも失敗あったらロールバックてときも上の方法だと何も考えなくても対処できてる。
0708569
2007/11/18(日) 14:56:17ID:???0709nobodyさん
2007/11/18(日) 15:11:10ID:???アクション内全部が1トランザクションとか愚の骨頂
どんなアクションだろうが最初にファイルをオープンしてロックかけておけば
いつでもファイルいじれるよ!どうだい柔軟で便利だろ!
とか言ってるのと同じくらいバカ
CだろうがMだろうがどこでトランザクション張ってようが
そこで毎回rollbackの対応を書いたりなんてしない
FW使ってるなら普通上層で一元的に例外に対するコントロール部分があるし
そもそも例外発生したらcommitされないんだから
そのまま終了しても自動的にrollbackされる
0710707
2007/11/18(日) 15:47:47ID:???すまん、>>707は簡素すぎた。
実際はopenTransaction()ってメソッドが親のコントローラとかにあって、
それを呼ぶとトランザクションが貼られる。
で、明示的にアクション内でcommit()呼ばないとアクション抜けたときに自動的にコミット。
>FW使ってるならほげほげ
そういう仕組みがあるならいいよ。
てか上の話見てて毎回書くようなことを書いてるように見えたから
ちょっぴり自己主張しちゃいました。
>>708
すまん、実はJava厨が紛れ込んだだけなんだ。
0711nobodyさん
2007/11/18(日) 19:22:08ID:kBwRbUKB0712nobodyさん
2007/11/18(日) 19:24:42ID:???例外投げられたらcatchに移行する
例外投げられなかったらfinallyが実行される
てことはtryの最後にfillany内の処理書いとけば同じことじゃんなんて思うんだが
0714707
2007/11/18(日) 20:32:34ID:???namespaceもほしいお
>>712
ファイルとかセッション閉じる処理とか例外でも正常終了でもしないといけないっしょ?
そういうのをfainallyにまとめて書くのだ。
0715nobodyさん
2007/11/18(日) 20:54:37ID:???(^-^)
0716nobodyさん
2007/11/18(日) 21:36:37ID:???PHPの場合はリクエスト(≠プロセス)終了時に変数はすべて開放されるし、
そのときリソースも開放される。(ファイルを閉じたり、DBならトランザクションを
アボートしてコネクションを閉じたりする。セッションハンドラも然り)
てなわけで、JavaやC++ほどfinally節の必要性は感じない。
まあ無いよりはあった方がいいとは思うけど。
0717707
2007/11/18(日) 22:45:39ID:???確かにphpではfinallyはあんまいらないかも。
0718nobodyさん
2007/11/18(日) 23:06:35ID:???finallyで処理する必要があるんだよね。
DB接続もリクエストをまたいで使い回すのが普通だし。
0719nobodyさん
2007/11/18(日) 23:39:18ID:???0720707
2007/11/19(月) 00:10:52ID:???そうなんだよね。
そういう点ではC++のがデストラクタにきっちり組み込めるのでfinally無しでもいけたりする。
>>719
Javaはフレームワークは混沌としてる。
結局railsだけだなFW的にまともに軌道乗ってるの。
VM乗って高速化したらrailsの天下かもね。
0721nobodyさん
2007/11/19(月) 00:55:15ID:???0722nobodyさん
2007/11/19(月) 01:06:02ID:???0723nobodyさん
2007/11/19(月) 13:24:40ID:xD0eowNdなかなか良いこと言うな
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:???[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:???Controllerとやたら密接に絡んでるせいですんげぇ使いづらい・・
0731nobodyさん
2007/11/22(木) 03:26:56ID:???しなくてもよさそうなもんなのに
0732nobodyさん
2007/11/22(木) 12:08:27ID:8IILrWGo$front->setParam("noViewRenderer",true);
にしておけ。
0733nobodyさん
2007/11/23(金) 04:43:01ID:???0734nobodyさん
2007/11/23(金) 11:37:35ID:???ドキュメント嫁
0735nobodyさん
2007/11/23(金) 16:12:50ID:???真珠の掲示板ですら設置できない低スキルで、毎月数十万のぼったくり請求している酷い業界。
0736nobodyさん
2007/11/23(金) 17:03:13ID:???0737727
2007/11/24(土) 14:31:21ID:???0738nobodyさん
2007/11/24(土) 16:34:31ID:???設定ファイル読み込むだけのクラスが
直感的に使えない時点でもう何かダメだと思うんだ
0739nobodyさん
2007/11/24(土) 17:03:10ID:???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:???でキャストしてもそうなる?
0743nobodyさん
2007/11/25(日) 02:52:34ID:???->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'" ) };
みたいな感じの書き方はないでしょうか。
0745nobodyさん
2007/11/25(日) 13:01:53ID:???取り除くんじゃなく必要に応じて足していく
$select = $db->select()->from(〜);
if (条件1) {
$select->where(〜);
}
if (条件2) {
$select->order(〜);
}
...
$sql = $select->__toString();
0746nobodyさん
2007/11/25(日) 14:26:50ID:???ここを参考にしてちょ
プログラマ向けリファレンスガイド 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:???http://framework.zend.com/changelog
0748nobodyさん
2007/12/04(火) 01:25:06ID:???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:???0750nobodyさん
2007/12/04(火) 14:24:37ID:???Formとか作れよ
0751nobodyさん
2007/12/04(火) 16:45:59ID:???0752nobodyさん
2007/12/04(火) 18:14:52ID:???0753nobodyさん
2007/12/05(水) 17:30:35ID:???0754nobodyさん
2007/12/05(水) 19:11:57ID:???良さそうな無料レンサバがみんなPHP4だorz
0755nobodyさん
2007/12/05(水) 21:04:00ID:???0756nobodyさん
2007/12/06(木) 03:32:59ID:???0757nobodyさん
2007/12/06(木) 11:19:10ID:???(日本時間で 冬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:???スペル間違い訂正。
修正しても変わらず。
0760nobodyさん
2007/12/08(土) 22:08:31ID:???でも404だと根本的にroutingできてなさそうだな
.htaccessを確認をしてみるとか
0761nobodyさん
2007/12/08(土) 22:18:28ID:???そもそもApacheの方で設定できてなかった・・・orz
設定後、表示はされるようになりました。
しかし何故か文字化け・・・
日本語を使うと文字化けしてしまう。
でもIndexController.phpの方は日本語でもちゃんと表示される。
MainController.phpの方だと文字化けしてしまっている。
それぞれのファイルの保存文字コードや改行コードを調べてみるもどちらもUTF-8で保存、改行はLFのみ。
全部化けるならPHPのマルチバイト辺りの設定かなと思うのだけど、
indexのが化けないで、mainが化ける意味が・・・
0762nobodyさん
2007/12/08(土) 22:34:52ID:???response headerでもcharset指定してないんだったら
そりゃ化けてもおかしくないだろう
・とりあえず吐き出す内容にmetaタグ入れてみる
・responseのcontent-typeヘッダにcharset指定を入れる
くらい最低試せ
0763nobodyさん
2007/12/08(土) 22:48:26ID:???indexが化けなかったのは日本語が長めだったからブラウザが自動認識してたみたい。
初期とかじゃないくて同じ文字入れたら化けなかった。
こっちは短すぎてブラウザが文字コード断定するに至らなかったようだ。
metaタグ入れたら短くてもちゃんと表示されるようになった。
どうもありがとう。
一通りいけたので、これから頑張ってやっていけそう。
0764nobodyさん
2007/12/08(土) 23:59:02ID:vYBrSVgv0765nobodyさん
2007/12/15(土) 17:18:24ID:???ZF 1.5
2008年第1四半期予定?
0766nobodyさん
2007/12/19(水) 21:47:47ID:???あまりユーザいないのかもしれないけどよろしく。
0767nobodyさん
2007/12/20(木) 00:41:26ID:xSS/j6Nl0768nobodyさん
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:???0772nobodyさん
2007/12/20(木) 17:09:50ID:???さんくす、そうだったのか。
>>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:???いや、というかURL Routingしてんだから
index.phpというURLに対して特別にRoutingする必要自体がない
404 Not Foundにするべき
(すでにindex.phpで公開していてその形に変更するなら
ブックマークへの対応としてindexへリダイレクトする必要はあると思うけど)
バックエンドがphpであろうとperlであろうと
最終的にブラウザに返すリソースはこの場合htmlであって
.phpというURLにリクエストしなきゃいけないのはあくまでサーバ側の都合によるもの
0775nobodyさん
2007/12/20(木) 21:45:37ID:???自分でそういう風にルーティング設定しているのにわざわざ騒いでて意味わかんねってこと。
index.phpにリクエストが来てどういう挙動をすれば納得したんだ?
0776nobodyさん
2007/12/20(木) 23:49:49ID:???>>773の説明でスッキリした。確かにそういう風にルーティングしたんだからな。
769の時点ではクライアントにはわからない(関係ない)のだろうけど、index.phpを
置いているんだから、/index.phpにアクセスがあったら/index/indexに自動的に
ルーティングされるべきと思っていたんだよ。
最初から404を吐いてたら気づいたか... いや余計に混乱したかな?
まぁ、俺の頭の固さ所以だ。許してつかーさい。
0777nobodyさん
2007/12/22(土) 06:14:11ID:???http://devzone.zend.com/article/2856-Zend-Framework--Coming-soon-to-a-Command-Line-near-You
0778nobodyさん
2007/12/22(土) 15:46:48ID:???コード生成とかか
0779nobodyさん
2007/12/22(土) 16:48:43ID:???0780nobodyさん
2007/12/29(土) 22:20:05ID:???0781nobodyさん
2007/12/29(土) 22:40:12ID:???(省略されました・・全てを読むにはワッフルワッフルと書き込んでください)
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:???Controller/Action/Parameterを引数にとるヘルパがあって
それを使って生成するもんじゃないかね
ZFにもUrlHelperってやつがあるよ一応
(リンクは生成してくれない、上記引数からhrefになるパスを生成するだけ)
デフォルトでリンク生成のヘルパすら無いZFもどうかと思うんだけど
0786nobodyさん
2008/01/14(月) 22:21:16ID:???フルパスで書いてる?それともinclude_pathに基底パス入れてる?
Modelも指定ディレクトリを参照してControllerと同名のファイルを自動で読み込んでくれればいいのに。
0787nobodyさん
2008/01/14(月) 22:26:41ID:???置き場所変わっても動くように相対でやるのが基本。
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:???ありがとう。相対パスでやってみる。
ZFでこれだけモデルが冷遇されてるのは何故なんだろう。
他のFWではモデルも自動で読み込んでくれるようなんだけど。
0789nobodyさん
2008/01/15(火) 22:34:48ID:???0790nobodyさん
2008/01/17(木) 18:31:07ID:???Zendのコンセプトは疎結合なんだから、自動で読み込まれたら結合しすぎってことだろ。
0791nobodyさん
2008/01/17(木) 22:08:33ID:???0792nobodyさん
2008/01/17(木) 22:42:57ID:???ごめん俺よく分からないから適当なこといってると思う。
0793nobodyさん
2008/01/17(木) 22:48:02ID:???viewが自動でロードされるようになったのもだいぶ後になってから
結局疎結合過ぎてもっていう部分で
ようやくバランス取って来てる段階
0794nobodyさん
2008/01/17(木) 22:57:13ID:???guiceみたいにコードで書ける奴
0796nobodyさん
2008/01/20(日) 18:46:56ID:???スムーズにいなかなくて悩んでいたんだけど、setViewBasePathSpec()メソッドが肝だった。
これでZend_Viewとほぼ同じように扱える。
既に知っていた人、Smarty使ってない人は気にしないで下され。
0797nobodyさん
2008/01/21(月) 23:57:18ID:???ただphp_mysql.dllを読んでくれない・・・
php_mbstring.dllはよんでくれるんだけどなぁ。
0798nobodyさん
2008/01/22(火) 00:32:15ID:???0799nobodyさん
2008/01/23(水) 10:37:16ID:???今はもう人気ないのかな?
これってURL直下におかずに、外部から呼び出すタイプでおk?
0800nobodyさん
2008/01/23(水) 10:46:23ID:???0801nobodyさん
2008/01/23(水) 10:56:54ID:???ちょっと詳しく聞かせてもらおうじゃないか
今ZFダウソして、使ってみようと思うんだが
参考サイトとか何かないのかな
0802nobodyさん
2008/01/23(水) 11:04:00ID:???0803nobodyさん
2008/01/23(水) 11:19:24ID:???0804nobodyさん
2008/01/23(水) 11:39:57ID:???0806nobodyさん
2008/01/23(水) 12:03:44ID:???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:???いきなりも何もまだ続きがあるだろ
というかクイックスタートの終わりまでくらいは我慢しろよwww
おまえの限界クイック過ぎだろwww
0809nobodyさん
2008/01/23(水) 14:24:24ID:???ごめ、ちょっと先走った
コントローラー設置してみて、最初の
Zend::loadClass('Zend_Controller_Action');
の部分が「Class not found」になるんだけど、
index.phpでクラスをインクルードしてからコントローラーをインクルードしてるんじゃないの?
htaccessから直接コントローラーを呼び出しているとは思えないし・・・
0811nobodyさん
2008/01/23(水) 14:32:17ID:???適当に探してブログ見つけて読んでましたorz
記事見ると07/1/13だた・・・
マニュアルは何か飛び飛びでわからないので、
簡単なサンプルを解読していく感じにしているのですが、
そういったサイトを探すので手間取ったうえでやっと見つけた資料なのにorz
0812nobodyさん
2008/01/23(水) 14:42:16ID:???0813nobodyさん
2008/01/23(水) 14:47:57ID:???0814nobodyさん
2008/01/23(水) 14:48:33ID:???http://framework.zend.com/manual/ja/zend.controller.html
ここ通りやればとりあえずは動くよ
マニュアルわからないとか食わず嫌いして見ない方が回り道
飛び飛びと感じてもある程度全体の概念は先に掴んだほうが良い
0815nobodyさん
2008/01/23(水) 14:48:35ID:???http://framework.zend.com/manual/ja/zend.view.html#zend.view.introduction.view
0816nobodyさん
2008/01/23(水) 15:01:16ID:???そのマニュアルで呼び出してるのって、Zend_Loaderクラスだよ。
>811
つ http://codezine.jp/a/article/aid/1961.aspx?p=1
0818nobodyさん
2008/01/23(水) 15:07:57ID:???/Controller/.htaccessで自動的にAction.phpスクリプトを読み込むようにするのってアリかな?
毎回先頭にrequire_onceを記述するのがめんどう
0819nobodyさん
2008/01/23(水) 15:44:21ID:???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:???0821nobodyさん
2008/01/23(水) 21:44:27ID:???0822nobodyさん
2008/01/25(金) 11:33:37ID:???Zend使ってるんだけど(始めたばかり)
モデルのところで、データベースアクセス関係作って、
必要に応じてコントローラから呼び出す形になるのかな?
入門書買ったけど、その辺が詳しく載ってない
データベースアクセス関係のスクリプトばっかりでどこに保存しとけばいいのかわかんない
0823nobodyさん
2008/01/25(金) 21:14:23ID:???0824nobodyさん
2008/01/26(土) 16:03:52ID:???どこで指定すればZFを読み込んでくれるの?
0826nobodyさん
2008/01/27(日) 00:36:20ID:???0829nobodyさん
2008/01/29(火) 11:01:17ID:???0830nobodyさん
2008/01/29(火) 11:35:06ID:???自分でパッケージ作っておくべきか
0831nobodyさん
2008/01/30(水) 03:34:39ID:???zendstudioだとこんなん
http://gyazo.com/c44d372fa9c49b8f426519bfc8050d58.png
0833nobodyさん
2008/01/30(水) 12:39:11ID:???0834nobodyさん
2008/01/30(水) 20:36:56ID:???してる
$this->_mail = new Zend_Mail(Zend_Mime::ENCODING_7BIT);
$this->_mail->setBodyText($str,Zend_Mime::ENCODING_7BIT);
0835nobodyさん
2008/01/30(水) 20:57:17ID:???0836nobodyさん
2008/01/30(水) 22:07:35ID:???0837nobodyさん
2008/02/01(金) 11:10:58ID:???JISで送るといいよ
そこはZendだけじゃなくPHPのmail関数でも一緒
(Zendもmail関数だっけ)
ところで、ディスパッチャ処理で$this->_forward("hoge", "hoge")って、
リダイレクトじゃなく呼び出し?
フロントコントローラ通さずに直接アクション呼び出してると思うんだが・・・
$_POSTデータもそのままだし・・・。
0838837
2008/02/01(金) 11:12:47ID:???0839nobodyさん
2008/02/01(金) 15:42:05ID:???0840nobodyさん
2008/02/02(土) 17:13:49ID:???/actionName でリクエストしても、Zend_View_Interface#renderに全部小文字で渡ってくるぽいので
デフォルトだと無理そうなのですけど、何か設定変えてやる方法ないでしょうか?
0841nobodyさん
2008/02/02(土) 17:39:49ID:???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:???0844nobodyさん
2008/02/02(土) 19:25:23ID:???0845nobodyさん
2008/02/04(月) 14:10:35ID:???そう。ソース追ったら、
$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:???> $this->_mail = new Zend_Mail(Zend_Mime::ENCODING_7BIT);
こっちは new Zend_Mail('ISO-2022-JP'); ですよね?
しかし、ヘッダー関連足すときに自分でencodeしないと変なエンコーディングになって面倒・・
0847nobodyさん
2008/02/04(月) 22:51:58ID:???ああ、ごめん、確かに間違ってたわ
__construct($charset='iso-8859-1')
なのね
0848nobodyさん
2008/02/04(月) 22:58:45ID:???setBodyText($str,'ISO-2022-JP',Zend_Mime::ENCODING_7BIT);
ですな
まぁラッパークラス作ればエンコーディングの指定は毎度毎度やらないだろうからいいんじゃないかな
0849nobodyさん
2008/02/05(火) 13:18:44ID:???今度出る1.5では「FooController::CamelCaseAction」が「foo/camel-case.phtml」になるらしい
ttp://tdiary.ishinao.net/20080204.html#p01
0850nobodyさん
2008/02/05(火) 15:07:24ID:???アンダースコアはpath delimiterに使われてるからか
url: controller/action_name
action: actionName()
view: controller/action_name.phtml
が一番しっくりくるんだけど
0851nobodyさん
2008/02/06(水) 12:07:54ID:P8eN/dUP0852nobodyさん
2008/02/06(水) 23:02:38ID:???controller/action/引数名/値/引数名/値/
ってリクエストの形式だけど、
controller/action/値/値/
の形式でgetParam(0)とかで引数参照できるようにできないのかね。そっちのほうが好きなんだが。
0853nobodyさん
2008/02/07(木) 00:46:59ID:???http://framework.zend.com/manual/ja/zend.controller.router.html
Zend_Controller_Router_Rewrite
のあたりと、getParamsを使うと少し幸せになるかもよ
0855nobodyさん
2008/02/07(木) 10:26:05ID:???0856nobodyさん
2008/02/07(木) 11:18:06ID:???routerにrouteを追加するだけ
$route = new Zend_Controller_Router_Route(':controller/:action/:id/:id2');
$router->addRoute('two_params', $route);
ていうかマニュアル嫁
0857nobodyさん
2008/02/07(木) 23:56:07ID:???ZFっぽく、URLパースして特定のメソッドをInvokeMemberするようIIS7モジュールを
ZFのControllerソース見ながら作ろうとして挫折
便利に使えるように、なんだかんだで内部じゃ頑張ってるんだな、ZF
0858nobodyさん
2008/02/08(金) 00:12:15ID:???0859nobodyさん
2008/02/08(金) 02:27:47ID:kZbVINNL0860nobodyさん
2008/02/08(金) 16:03:42ID:???必ず自分で
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:???1.5はまだ触っていないけど、1.0.3の話で言うと
テーブル名から機械的に作れないようなクラス名を使いたい時だけ $_nameの明示が必要だよ
$_primaryはキー項目を要求するメソッド、たとえばfindを使いたいときに指定してあげる必要があるよ
0863nobodyさん
2008/02/12(火) 10:38:38ID:???ただ、そこにスクリプト置くと効率がいいよってな感じと見ておk?
モデルを簡単に呼び出すようなものがあれば便利なんだけどなぁ
0864nobodyさん
2008/02/12(火) 11:38:37ID:???0865nobodyさん
2008/02/12(火) 11:40:01ID:???いや、仕組みは理解できたんだけど、
ZendにはModelをサポートするような機能がないから気になって・・・
結構Modelに関しては放置してるような記事が数点見られたし、どうなのかなと
0866nobodyさん
2008/02/12(火) 12:54:34ID:???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:???0869nobodyさん
2008/02/12(火) 15:36:00ID:???>モデルを簡単に呼び出すようなものがあれば便利
これって例えばどんな感じ?
ただ、ZFのDB関連は比較的プリミティブだとは思う。
0870nobodyさん
2008/02/12(火) 15:37:06ID:???そのとおり、Pdo_Mysqlが入っていませんでした・・・
Zend_Dbを見ると、Pdo_Mysqlが入っていること前提ということなのでしょうか?
ローカルでできたのにレン鯖でできなかったorz 作り直さなきゃいけないのか・・・
0871nobodyさん
2008/02/12(火) 15:48:39ID:???サーバがCentOSみたいなパッケージベースでバージョンが分かっていて、
PHPのインクルードパスを変更できるなら、
コンパイル済みのpdo_mysqlパッケージをユーザ領域に展開してインクルードできるかも。
当然、コンパイル環境はないんだよね?
0872nobodyさん
2008/02/12(火) 15:50:40ID:???当然ないです。
ということは、ZendDbは使えないということで決定でしょうかorz
おとなしくPEARに戻らないとorz
0873nobodyさん
2008/02/12(火) 18:17:01ID:???pdo_mysqlのドライバが入ってないっていうサーバもアレだな
とりあえずサポートに連絡して
40秒で今からpdo_mysql入れなかったら解約だバカってクレームつけろ
まあライブラリがサポートしてるドライバくらい先に見とけってのもあるけど
mysqliドライバはZend_Dbにあるからmysqliが使えないか調べてみるとか
書き直すくらいなら自分でZend_DbのAPIに合わせて
PHPネイティブのmysqlのfunction使ったドライバ書く方が早いんじゃね
0875nobodyさん
2008/02/14(木) 02:17:26ID:???Pdo_Mysqlが入ってる鯖に乗り換えました
0876nobodyさん
2008/02/14(木) 09:51:02ID:???だったらDb関係は全てPEARで実装するしかないか・・・
$select->from()みたいな感じの記述方法結構気に入ってたのになー
0877nobodyさん
2008/02/14(木) 11:46:52ID:Fq1v3NmX0878nobodyさん
2008/02/14(木) 14:08:48ID:???0879nobodyさん
2008/02/14(木) 16:45:46ID:???0880nobodyさん
2008/02/14(木) 17:35:10ID:???0881nobodyさん
2008/02/14(木) 21:41:48ID:???これはインターフェースを使って実装したからうまくいったなんて例あったら教えてくれ。
0882nobodyさん
2008/02/14(木) 22:07:34ID:???0883nobodyさん
2008/02/14(木) 22:32:59ID:???Javaの例がそのままあてはまる。以上。
0884nobodyさん
2008/02/14(木) 22:35:21ID:???0885nobodyさん
2008/02/14(木) 22:45:12ID:???インターフェイスはメソッドを実装せずにそのまま継承するとエラーを出すクラスを表現する糖衣構文。
絶対なくてはならないものじゃないけど、あった方が便利でいいよね。
0886nobodyさん
2008/02/14(木) 22:54:53ID:???0887nobodyさん
2008/02/14(木) 23:08:42ID:???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:???正直JavaやC#やるまでインターフェイスの便利さが理解できんかった。
便利さが実感できるのは厳格な型がある言語とそうでない言語との違いじゃないかと思う。
0891881
2008/02/15(金) 04:02:49ID:???まさにそうだと思う。PHPなんて何でも受け取れるんだからイランと思う。
PHPは方向を見失ってるな。matzは嫌いだが、言っていることは正論だ。
彼のオブジェクト指向に対する考えの深さには驚く。
0892nobodyさん
2008/02/15(金) 04:13:23ID:???0893nobodyさん
2008/02/15(金) 05:14:03ID:???その割には仕様がない事による迷走具合が酷かったりするが、まあスレ違いだな
phpはどこに向かうんだろな。goto導入とか既にブロガー共の定番ネタ化してるが
0894nobodyさん
2008/02/15(金) 08:03:17ID:???Interfaceいらないっていう理由がよくわからんな
単に自分が使ってないだけじゃないのか?
理由をもうちょい詳しく言ってくれ
0895nobodyさん
2008/02/15(金) 08:28:43ID:???インターフェースが要らないとは書いてないしな。
JavaやC#だってインターフェースを使わなくてもプログラミングが出来る。
しかし、OOPするならインターフェースは欲しい。
言語じゃなくてプログラミングスタイル(っていうのか?)次第じゃね。
0896nobodyさん
2008/02/15(金) 08:54:29ID:WvlYrnu/0897nobodyさん
2008/02/15(金) 09:35:00ID:???890だけど、ごめん言葉足らずだったわ。
要るか要らないかって言うと俺は便利だから要る。
>>895
言いたい事書いてくれてありがとうw
0898nobodyさん
2008/02/15(金) 09:35:35ID:???なんか"エラーを出す"にこだわっているというか重点があるように読めるんだけど、
インターフェースはクライアントに見せる仕様書みたいなものだから、
エラーは二次的なもというかそれ以前の話。
茶碗と箸を用意しても腹はふとらない。
茶碗と箸を使うことを決めてるだけで、クライアントは原則それを使う。
インターフェースでプログラムするのがOOPの基本だろ。
0900898
2008/02/15(金) 10:59:35ID:???いや、意外と重要だと思うんだ。間違いじゃないけど、理解度の問題かな?
俺もOOを100%理解しているとは思えないので間違ってたら叩いてくれ。
茶碗と箸を用意(実体化:new)して「飯が食えない」ってエラーが出て便利か? ってこと。
インターフェースが便利なのは、飯が和食じゃなくて洋食となりお皿とスプーンが
必要となったとしても、それは実装で変えればいいだけでインターフェースは変わらない。
クライアントコードは茶碗と箸で洋食が食える(クライアントコードを修正する必要がない)
例えが変な気もするが許してくれ、言いたいことは伝わると思ってるんだが。
0901nobodyさん
2008/02/15(金) 11:00:22ID:???ワロタ
0902898
2008/02/15(金) 11:08:54ID:???もちろん、茶碗だけ用意して「箸忘れてんどー」ってエラーが出るのは便利。
>>885,896がインターフェースに対してnewしてエラーが出ると言っていると思ってたスマソ。
0903898
2008/02/15(金) 11:27:10ID:???とは言っても、俺的には「実装し忘れてエラー」なんかよりも、
「実装が変わってもクライアントコードはそのまま」がインターフェースの本質だと思ってる。
だから「エラーが出る」とだけ書かれるとなんか引っかかる。
ついに言い訳モード(´・ω・`)
0904nobodyさん
2008/02/15(金) 15:57:20ID:???インターフェースがいらないといってるだけなんだが、良く読んでくれ。
Rubyは動的言語(ダックタイピング)をうまく活かして、インターフェースじゃなく
mixinで多重継承を実現してるといいたいだけ。
>>894
上に述べたことに答えは含まれているけど、
PHPでインターフェース宣言するメリットがどこにあるのかわからない。
Javaは受け取る変数の型によってもクラスを作り変えなきゃいけないからインターフェースで外面を定義するのはわかる。
matzの言葉を借りるなら、「仕様の継承」と「実装の継承」
PHPもJava真似をせずに、違う形で多重継承をサポートすべきといいたい。
0905nobodyさん
2008/02/15(金) 16:18:44ID:WvlYrnu/0906nobodyさん
2008/02/15(金) 16:33:07ID:???上の方でいくつかインターフェイスの利点が挙げられてるけどそれについてはどう思ってるの?
それを言わずに、メリットがどこにあるのかわからない、って言われても俺には何言ってるのかわからない。
すまんけど、もっときちんと説明してくれ。煽りとかじゃなくてマジでわからんから。
0907nobodyさん
2008/02/15(金) 17:26:39ID:???interfaceなんかとりいれる暇があったらmixinを実装しろや。
interfaceの利点なんてmixinのそれに比べれば屁みたいなものだし。
ってことじゃないかと思った。
0908nobodyさん
2008/02/15(金) 19:03:51ID:???Zend_View_Interfaceで既定されたAPI通りに作ればそのまま
Zend_Controllerに放り込んでも動きますよ、っていう感じで
別のクラス内部で使われるものを拡張するような
ライブラリを使う場合にinterfaceの意味はちゃんとあると思うけど
(別になくてもいいけど使う側の苦労が増える)
rubyのmoduleのようなmixinが欲しいってのはそりゃ同意だけど、
配列をブラケット表現で書けるパッチに大半が反対意見の惨状を見る限り
ドラスティックに改善する見込みの無いこの保守的な言語に何言っても無駄だと思うので
PHPの言語仕様に文句言う暇があったら他の言語の勉強してる方がまし
それか、こんなところでウダウダ言ってないでinternalsに苦情のメールを投げつけたらいい
0909nobodyさん
2008/02/15(金) 20:13:04ID:???そんなのイラネ
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:???そういうのはもう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:HodSsYVthashも区別させたいから{}もつかいたい
でもinternalの中の人はそういうの好まないってきいた
0918nobodyさん
2008/02/17(日) 05:11:24ID:???だからインターフェースがあっても意味が半減するかもしれないが...
以前「php4はメンバがオールpublicなんでカプセルかできねーYO」って書き込みがあって、
そんとき、「カプセル化は独立性が目的なんだから、PEARのようにコーディング規約で...」
って書いたんだけど、そんなんじゃ意味ねぇってことだったかな。
で、アクセス権が指定できるようになって、言語仕様上カプセル化が可能になったわけなんだから
カプセル化されたオブジェクトを弄るインターフェースも、ってのは普通の流れになると思うが、
なんでそれがJavaのまねごとになるかなぁ。
一番の自由はユーザの要望かw。
そんな俺はC#の静的コンストラクタが欲しい。
0919nobodyさん
2008/02/17(日) 05:24:11ID:an+fL3fY0921nobodyさん
2008/02/17(日) 12:53:01ID:???> nullと空文字を区別してたり
いや、nullと空文字は概念的に違うものだろ。
ついでに空配列とfalseもそれぞれ違うもの。
たとえばデータベースなんかでも、
nullと空文字は違うもの扱いになっていることが多い。
0922nobodyさん
2008/02/17(日) 13:07:00ID:???それさぁ、前から思っているんだけど、privateなメソッドというものは、
その実装をクラス内部しか知らないわけだから、クラス自身が
自己テストという形でやればいいんじゃないかなと思っている。
つまり、クラスにpublicなtestメソッドを作ってそのメソッドが自己テスト。
問題点としては、クラス自身にテストコードが含まれるため
クラスのコードサイズが膨れ上がるということ。
この問題は、C# 2.0の話になるが、C#には一つのクラスを複数のファイルで書くことができる
partial というものがあってそれを使えばテストコードを分離しながらテスト時にはテストコードを
追加してコンパイルリリース時には省いてコンパイルという方法が使えると思う。
とここまで書いたが、単純に条件コンパイルでリリースモードの場合testコードを取り除くという方法でいいかw
テストコードを別ファイルにしたかったら、include。
0923nobodyさん
2008/02/17(日) 13:11:50ID:???validatorsには、受け取る可能性のある全てのフィールド (パラメーター) 名を指定しないと行けないのでしょうか。
どんなフィールド名が来るかわからない時にZend_Filter_Inputオブジェクトを取得する良い方法はありますか?
一部のフィールドにはvalidatorを掛けたいので、
validatorsに指定していないフィールドが来た時はvalidateなしでそのまま格納する、
と言うオプションでもあれば良いんですが、今のところ見当たらなくて。
こっちのフィールドがこういう値だったらこっちのフィールドはこういう値じゃないと駄目、
とか言うチェックもやりづらいし。。
0924922
2008/02/17(日) 13:44:48ID:???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);
}
}
0925922
2008/02/17(日) 13:47:15ID:???ユニットテストはそもそもpublicなものをやるものだとか
いう話はあるけど、自己テストという形でやるべきだという
話は聞いたこと無いんだよね。
まあ詳しく調べたわけじゃないから知らないだけだろうけど。
誰か知っていたら教えて。
0926922
2008/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:???こんな使い方でいいのかな?
0928nobodyさん
2008/02/18(月) 10:48:32ID:???0929nobodyさん
2008/02/18(月) 11:12:15ID:IeH302DJ0931nobodyさん
2008/02/18(月) 17:09:03ID:???WebフレームワークだとControllerはRouterになりがち
ただ、遷移の多いアプリであれば、Routerこそが処理とも思える
まあ、役割がちゃんと分かれていればいいんじゃないの
0932nobodyさん
2008/02/18(月) 18:06:25ID:???データを移動するような処理は
どこに書けばいいのだろうか?
0933nobodyさん
2008/02/18(月) 19:06:28ID:+oxjUq0Hであるように、Zend_View_Smartyを使った場合、テンプレートファイルが
あちこちにある場合は、どうしたらいいのでしょう? setScriptPathだと
ひとつしか設定できないよね?
0934nobodyさん
2008/02/18(月) 19:42:55ID:???そもそもSmarty自体が複数のパスに対応してないからしょうがない
まあパスが複数必要になるケース自体も稀だと思うが
最悪、複数Viewのインスタンスを用意して別々のパスを設定すればいいよ
それが手っ取り早いだろう
0935nobodyさん
2008/02/18(月) 20:57:41ID:???結局DB主体に作ってる。
4〜5のマスタを管理するコントローラと、3〜4の関係を管理するコントローラみたいな。
でも結合させるから境界なんてあいまいだし。
流用するモデルもあまりないから利点が実感できない。結局アクションごとに独立しちゃってる。
0936nobodyさん
2008/02/18(月) 23:13:03ID:???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:???0938nobodyさん
2008/02/19(火) 00:07:36ID:???0939nobodyさん
2008/02/19(火) 01:42:45ID:???それはたぶん、主となるマスタ側のモデルでしょ
モデルさえ定義しておけば自然にロジックが機能するのが理想
0940nobodyさん
2008/02/19(火) 02:51:44ID:???理屈は分かるんだけどやはり実物を見ないと理解が深まらない。
0941nobodyさん
2008/02/19(火) 03:27:03ID:???0942nobodyさん
2008/02/19(火) 03:29:43ID:???重い死に行くフレームワークを持ってこられても・・・
0943nobodyさん
2008/02/19(火) 03:47:56ID:???0944nobodyさん
2008/02/19(火) 05:02:01ID:???というか、>940の言ってるのはフレームワーク使ってる側でしょ
たぶん、osCommerceとかXOOPSとか、
あのあたりがフレームワーク準拠のMVCで書かれると、
大きさとしてはいいサンプルになると思うけど
そういうのはまだないのかな…
0945nobodyさん
2008/02/19(火) 05:09:47ID:???ストレージとのアクセスを担当する部分をM
レスポンスを吐く部分をVと言ってるだけだよ
疎結合とDRYを求めたら自然とそうなっていく形
「ここはCなのか?Mなのか?」とか考え始めたら本末転倒になりがち
0946nobodyさん
2008/02/19(火) 13:49:56ID:BGhiTflR0947nobodyさん
2008/02/19(火) 14:05:42ID:???中身は良く知らないけど。
0948nobodyさん
2008/02/20(水) 01:27:57ID:???最近のはどうなのかな。全体を包む部分の設計は良い感じなんだけど、掘り進むと(※現場適用を想定)あーこれこっちからも使えるようにしたいなーでもそういう組み方じゃないんだよなーとか色々悩んじゃうね
プロジェクト逼迫してる今やるこっちゃないなw
zendでメールマガジンサーバ/webUIをきっちり作り込んでみたものの、MTA選定が右往左往。。validationクラスは素性が良くて助かります。DB絡みのブリッジでもプレースホルダきっちりしてて良い感じです
ここで俺はぷかぁと煙草くゆらすわけです。
ほんとにこれでいいのかと。この後にDB版に投げて大丈夫なのかいなと。
cube以前のxoops採用は弊社では失敗で終わりました故の愚痴でしたお気に絵図
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:???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:???こんな感じじゃね
俺もだけど
0956nobodyさん
2008/02/22(金) 13:41:19ID:???各コントローラに対するアクションって、confirm,update,deleteみたいな3〜4個の機能を実装するのが基本なの?
0958nobodyさん
2008/02/22(金) 18:56:33ID:???サンクス。
しかし、デフォルトと違うディレクトリ構成にしたせいか。
ルーティング?でこけて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:???routingのエラーなら404にはならないよ少なくともデフォルトでは
0960nobodyさん
2008/02/23(土) 00:27:27ID:???パスの指定に相対パス使ってるけど、それって行けるの?
いつも絶対パス使ってる。。
とりあえず$front->dispatch(); を try-catchでくくって例外エラーひろってみたら?
0961nobodyさん
2008/02/23(土) 22:32:04ID:NHRB8E0h相対パスは試したことないから分からないけど…
Zend_Db_Table って JOIN できるの?
マニュアルには出来るって書いてあるけど出来ねー
例 10.97. は嘘か
0962958
2008/02/24(日) 00:34:51ID:???それで簡単な(Hellow Worldだけ)IndexControllerを書いたら、
ちゃんと動いた。
しかし、ちょっと進化したController書いて958のように
したら、404に。そこで、絶対パスに変更してみたところ、
960氏の言うようにZend_Controller_Dispatcher_Exception
が発行された。よく分からない・・・。
0963nobodyさん
2008/02/24(日) 01:33:29ID:???0964nobodyさん
2008/02/24(日) 01:49:07ID:???>>958 見て思ったんだけど、
'default' => '../../application/modules/aaa/controllers',
'aaa' => '../../application/modules/aaa/controllers',
ってこれって同じディレクトリ指定してるけど、'aaa' => の方を消したらどうなる?
aaaの方は要らないと思う。
0965nobodyさん
2008/02/24(日) 19:40:49ID:???Zend_Formないわー
QuickFormの悪夢再びじゃねーか
こんなもんに力注ぐくらいならViewHelperをちゃんと作ってくれよって感じ
0966nobodyさん
2008/02/24(日) 20:40:53ID:???0967nobodyさん
2008/02/24(日) 21:13:55ID:???ファイルのアップロードのクラスとか、Zend_Configでyamlをデフォルトで使えるように
サポートして欲しい。
0968958
2008/02/25(月) 01:00:35ID:???index.phpを単なるハローワールドにして呼ぶとちゃんと出てくる。
でもZendにフロントにすると404だ。
俺にはFWは早いって言うか、プログラマやめっかな。
0969nobodyさん
2008/02/25(月) 01:20:38ID:???0970nobodyさん
2008/02/25(月) 02:27:59ID:???ほんでもって、アクセスしてるURLは規約通りか?
0971958
2008/02/25(月) 12:44:26ID:???昨日とは状況が変わって、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:???0973958
2008/02/25(月) 18:56:29ID:???モジュールごとにコントローラーのディレクトリを分けているんだけど、
コントローラーのクラス名にモジュール名のプレフィックスを付けないと
ダメっぽい。
http://framework.zend.com/manual/ja/zend.controller.modular.html
0974nobodyさん
2008/02/26(火) 04:50:16ID:???規約に従えってことか
0975nobodyさん
2008/02/26(火) 08:30:48ID:???モジュール名が必要というよりは、
defaultモジュールの場合だけモジュール名が省略できると思っていればいい
0976nobodyさん
2008/02/27(水) 11:18:30ID:???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:???0978nobodyさん
2008/02/27(水) 12:09:51ID:???0979976
2008/02/27(水) 16:53:34ID:???$form->addElement('select', 'test', array('multiOptions' => array(1 => 'a', 2 => 'b')));
マニュアルにサンプルソースを書いておいてほしかった…
0980nobodyさん
2008/02/29(金) 14:15:21ID:???いま、全部デフォルトモジュールにしてるんですが、
ユーザー画面と管理画面くらいは別モジュールにするべきか、
または、もっと細かいレベルで分けるべき?
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:???呼び出す時はどうしてる?
いちいちrequire_once 'パス';とかするのって何か効率悪くね?
それならライブラリの集まりにでもしておいて予めinclude_pathを設定しておいたほうがいいと思うんだが
それともモデルを呼び出すような関数があるとか・・・?
0985nobodyさん
2008/03/04(火) 14:03:56ID:???まとめてロードするようにしとけばいいだけの話
毎回全部modelをロードするのが嫌ならautoloadで
modelもロードできるようにしておけばいい
というかZFはやりたいようにやればいい
0986nobodyさん
2008/03/04(火) 14:38:51ID:???その辺が曖昧だよなぁ・・・
自分でモデルを呼び出すスクリプト組んだわ・・・
0987nobodyさん
2008/03/04(火) 18:46:26ID:???0988nobodyさん
2008/03/05(水) 16:31:44ID:???zendframeworkがubuntuに入るっぽい
0989nobodyさん
2008/03/05(水) 19:46:29ID:???いい加減公式でPEARチャンネル立てて
PEARでインストールできるようにして欲しい
自前のスクリプトでPEARパッケージにして入れてるけど
自動でupgradeできないのが面倒
0990nobodyさん
2008/03/05(水) 23:04:50ID:???たぶん。
0991nobodyさん
2008/03/05(水) 23:23:03ID:???http://pc11.2ch.net/test/read.cgi/php/1204726884/
0993nobodyさん
2008/03/05(水) 23:46:21ID:???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:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。