ZendFrameworkってどうよ?
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/07(土) 02:49:15ID:6wQ8r0Dcこれってどうよ?
PHP5に移行したほうがいいのかな
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:???■ このスレッドは過去ログ倉庫に格納されています