Zend Framework Part3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/10(金) 08:35:00ID:???http://framework.zend.com/
マニュアル
http://framework.zend.com/manual/ja/
(有力翻訳者のm-takagiさんのver)
http://www.m-takagi.org/docs/php/zend/
バグ報告
http://framework.zend.com/issues/secure/Dashboard.jspa
API
http://framework.zend.com/apidoc/core/
前のスレッド Zend Framework Part2
http://pc11.2ch.net/test/read.cgi/php/1204726884/
0426nobodyさん
2009/07/31(金) 14:37:20ID:???即レスthx
そしてサーセン。単にcommitした後に取得しようとしてて取得できないだけでした。
こんなところでハマるなんて…orz
0427nobodyさん
2009/07/31(金) 22:59:51ID:???期待は以下のようなソースです。
<input type="text"(略)> 回
よろしくお願いします。
0428nobodyさん
2009/08/01(土) 02:45:43ID:???0429nobodyさん
2009/08/01(土) 02:54:11ID:???いくつか方法があるけど、
下記のデコレータのいずれかを使う
Description
ViewScript
Callback
一番簡単なのは、Descriptionかな。
0430nobodyさん
2009/08/01(土) 10:58:58ID:???ありがとうございます。
DescriptionはsetDescription()で使用する場合のデコレータですよね。
>>427のように利用する場合はDlDtWrapperあたりもいじらないといけないのでしょうか?
0431nobodyさん
2009/08/01(土) 13:18:37ID:???"回"みたいな[単位]はビューによる修飾なのか、要素の属性の一つと考えるのか。
他に、年、月、日とか、いろいろバリエーションがありえる。
ビューによる修飾と考えれば、個別に設定しやすいのかもしれないけど、
要素のプロパティとして単位=回みたいな与え方をして、単位デコレータを
作るのが自然と、俺は妄想する。
その動作に一番近いのは、(set|get)Description かなって気はする。
DtDdWrapperってタグの細工だけだし。
ViewScriptってことは、"回"を表示要件にしか使わないってことだし。
0432nobodyさん
2009/08/02(日) 11:14:40ID:EDsu2ooY.phtmlの置き場所は user(モジュールディレクトリ)/views/script/index(アクション名)/index.phtmlって配置になるんですか?
一応本読んではいるんですが、いまいちわかりません。よろしくお願いします
0433nobodyさん
2009/08/02(日) 11:59:38ID:???じゃないか?
0434nobodyさん
2009/08/02(日) 15:13:38ID:???どういう事?
0435nobodyさん
2009/08/02(日) 15:39:44ID:???0436nobodyさん
2009/08/02(日) 15:45:53ID:???0437nobodyさん
2009/08/02(日) 23:45:19ID:???0439nobodyさん
2009/08/03(月) 10:18:56ID:AZ05ifRx日本語ドキュメント死んでるっぽい
たぶんすぐ直ると思う
http://framework.zend.com/issues/browse/ZF-7447
0440nobodyさん
2009/08/03(月) 12:53:42ID:???# pear channel-discover zend.googlecode.com/svn
# pear install zend/zend
でインストールは出来たんだけど、
なぜかC:\xampp\php\PEAR\Zend\Locale/Data/
に言語関係のXMLファイルがインストールされてなかった
手動でコピペすれば動くようにはなったけど、インストーラのバグかなんかですかね?
0441nobodyさん
2009/08/03(月) 13:02:20ID:???0442nobodyさん
2009/08/03(月) 14:52:36ID:???URL的には hoge.jp/100/profile/ で同じことが出来るように変更したいと思います
どうしたら良いでしょうか?
0444nobodyさん
2009/08/03(月) 23:54:34ID:FSbwgNFKどうもありがとう、助かりました
もう一つ質問です、スケジューラーみたいなアプリがあって
自己紹介、今週の予定、その他2,3ページで構成されてるとします
で、「山田太郎さん」というその利用者の名前が各ページの見出しになってるとします。
こういう場合、山田太郎さんという利用者名をいちいち「パラメータから解析、クエリ、取得」なんて
全てのページでやるのは非効率ですよね? こういう場合、どうやって引き回すんですか?
if($paramUserId == $_SESSION['userId']){//以下のクエリなどを省略} みたいに単純にセッションで管理するのか、
それとも、こういう時に便利なzendFWのライブラリってありますか?
zendCache?とかってこういう時につかうのですか?
0445nobodyさん
2009/08/04(火) 00:01:00ID:???0446nobodyさん
2009/08/04(火) 00:07:30ID:???0447nobodyさん
2009/08/04(火) 00:11:05ID:???0448nobodyさん
2009/08/04(火) 00:11:48ID:???0450nobodyさん
2009/08/04(火) 19:24:05ID:???0451nobodyさん
2009/08/04(火) 20:23:35ID:???みんなPHP OpenID Libraryとか使ってるのかな?
0452nobodyさん
2009/08/04(火) 21:00:03ID:???OpenID LibraryをZend_Auth_Adapter_Interfaceでカプセルして使ってる
一度つくっちゃえば特に不満ないよ
0453nobodyさん
2009/08/04(火) 21:08:57ID:???URL張り忘れた
ttp://g2labo.orz.hm/develop/OpenId_Auth_Adapter.phps
あとは公式のZend_Auth_Adapter_Interfaceの使い方と同じで行けるはず
0454nobodyさん
2009/08/05(水) 12:20:15ID:???0455nobodyさん
2009/08/05(水) 12:27:09ID:???0456nobodyさん
2009/08/05(水) 13:00:06ID:qtFRGhoH各コントローラのアクションを実行するのに必要なパラメータと値があると思いますが、
このパラメータ値を取得するのはフロントコントローラだけですべきなんでしょうか?
感覚的にはそれぞれのコントローラのアクション中でとった方が無駄がなくていいというか、
直接的でわかりやすい気がします。
「ZendFW徹底入門」て本にはフロントコントローラで取得または設定して、個別のコントローラで
$front = Zend_Controller_Front::getInstance();
$res->setBody($front->getParam('var'));
ってする手順が紹介されてます。
みなさん、この手順に従ってるんですか?というか絶対なのかな。
別のやり方をする場面があれば、どういう方法とシチュエーションか教えてもらえると嬉しいです。
よろしくお願いします。
0458nobodyさん
2009/08/05(水) 13:58:24ID:???Zend_Controller_Actionを継承してるとして
$this->getRequest()->getUserParam('var');
$this->_getParam('var');
パラメータはリクエストだからかっこよく決めたいんだったら上を使う感じ。
しかしマニュアルのバグまでissueに報告してからの対応ってのはどうなのかね。
0459nobodyさん
2009/08/05(水) 16:59:32ID:qtFRGhoHありがとうございました
うまくいきました
0460nobodyさん
2009/08/05(水) 17:01:26ID:NDvODuDu負荷かかってそうだけど気づかないもんなのかな?
サポートのcontact usのフォームに知らせといたけど・・・
問い合わせいっぱい来てるだろうし、放置なのかね?
0463nobodyさん
2009/08/05(水) 23:13:33ID:???無限ループとかいつまでやってんだ?
0464nobodyさん
2009/08/05(水) 23:36:02ID:WMeCBWWn0465nobodyさん
2009/08/05(水) 23:39:51ID:???1.5あたりのままだけど('A`)
そろそろ作り直そうかなと思ったが、どうやって作ったか思い出せね。
0466nobodyさん
2009/08/06(木) 00:57:23ID:JPFTqmJZそんな心配いらないものかな?
0467nobodyさん
2009/08/06(木) 01:18:07ID:4RIcoEogある。
たまに仕様変わってたり
0468nobodyさん
2009/08/06(木) 01:25:05ID:???0469nobodyさん
2009/08/06(木) 01:42:02ID:???こわいなー、必要なコンポーネントだけを移植するようにした方が良いのかな
丸ごと変えて検証って大変だもんなー
0470nobodyさん
2009/08/06(木) 02:14:25ID:4RIcoEog必要なコンポーネントだけとかやってると、後から余計に面倒になると思うよ
0472nobodyさん
2009/08/06(木) 09:44:22ID:???Selenium はブラウザの起動がうざくて。
0473nobodyさん
2009/08/06(木) 10:14:18ID:iMOTjzQq0474nobodyさん
2009/08/07(金) 18:42:35ID:???smarty使うと、テンプレートキャッシュを吐き出しますよね、そのファイル名が
%%3B^3B8^3B8EC026%%index.tpl.php となっています。
これは文字化け起こしてるのではないかと思いますが、普通ですか?
文字化けだとしたらどうしたら良いでしょうか?
zendFWにあまり直接関係なくてすみません。
0475nobodyさん
2009/08/07(金) 20:02:04ID:???0476nobodyさん
2009/08/07(金) 20:33:03ID:???2byte以上のよく分からないのが混じりだしたら要注意
0478nobodyさん
2009/08/08(土) 12:13:59ID:???ミカエルが作ったchm使えばいいんじゃね
http://mikaelkael.fr/Zend-Framework-1-9-x-documentation.html
0479nobodyさん
2009/08/08(土) 16:56:36ID:JPFTqmJZ利用してる方で、ModuleとSmarty併用してる方がいたら質問したいんですが…
0481479
2009/08/08(土) 17:54:23ID:JPFTqmJZありがとうございます。
そうなんですが、あの本によるとドキュメントルートの下にapplicationフォルダ置きますよね
それなら確かに動くんですが、普通の利用を考えてドキュメントルートの上に
applicationフォルダを移動すると動かないんです。
これ、マルチポストというかだまし討ちみたいになるの嫌なので正直に書きますが
著者のサイトの質問コーナーに投稿してるんですけど返事もらえないんです。土曜だし。。
http://keijiban.msn.to/top.jsp?id=bv6673
出来ればここで同じ本を参考にしてる人に聞きたいと思ってきたんですが、
ダメでしょうか?
上で書いたように、applicationフォルダを移動させても動いていますか?
0482nobodyさん
2009/08/08(土) 18:09:05ID:???0483nobodyさん
2009/08/08(土) 18:09:52ID:???0484479
2009/08/08(土) 18:11:30ID:JPFTqmJZ本当にすみません。わからない点が2つあるんですが(上の質問サイトから貼ります)
http://192.168.0.3/zend/controller_view/smarty
で確かに動作するのを確認しました
しかし、理解できないことがあります
疑問1)
P227での図5.5ビュースクリプトのパス解決に寄れば
tplファイルの所在は
./application/smarty/smarty(モジュール名)/smarty(コントローラ名)
/index.tpl(アクション名)になるのではないですか?
実際には./application/smarty/templates/default/smarty/index.tplになっ
ています。
特に、defaultディレクトリの意味がわかりません。
疑問2)
また、サンプルの/controller_viewの中身を取り出して、
/var/www/application
/var/www/html/.htaccess
/var/www/html/index.phpとして
http://localhost/smarty/を実行してみましたがエラーが起きます
(フロントコントローラのapplicationへのパスは変更してあります)
続きます
0485479
2009/08/08(土) 18:15:00ID:JPFTqmJZ出力されるエラーは
[Fri Aug 07 15:54:04 2009] [error] [client 192.168.0.7] PHP Fatal
error: Uncaught exception Zend_Controller_Dispatcher_Exception with
message Inval id controller specified (error) in
/usr/lib/php/Zend/Controller/Dispatcher/Standard.php:241\nStack
trace:\n#0 /usr/lib/php/Zend/Controller/Front.php(9 36):
Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http),
Object(Zend_Controller_Response_Http))\n#1 /var/www/html/index
.php(19): Zend_Controller_Front->dispatch()\n#2 {main}\n thrown in
/usr/lib/php/Zend/Controller/Dispatcher/Standard.php on line 241
です。
何が原因なのでしょうか?
0486479
2009/08/08(土) 18:17:57ID:JPFTqmJZ<?php
define('APP', '../application');
require_once 'Zend/Controller/Front.php';
require_once 'Zend/Controller/Action/Helper/ViewRenderer.php';
require_once APP.'/Zend_View_Smarty.class.php';
$front = Zend_Controller_Front::getInstance();
$front->setControllerDirectory(APP.'/controllers');
$view = new Zend_View_Smarty();
$render = new Zend_Controller_Action_Helper_ViewRenderer($view);
$render->setViewBasePathSpec(APP.'/smarty')
->setViewScriptPathSpec(':module/:controller/:action.:suffix')
->setViewScriptPathNoControllerSpec(':action.:suffix')
->setViewSuffix('tpl');
Zend_Controller_Action_HelperBroker::addHelper($render);
//$front->setParam('noViewRenderer', TRUE);
$front->dispatch();
0487nobodyさん
2009/08/08(土) 19:05:21ID:???モジュールディレクトリの指定がちゃんと出来てなさそう。
$front->addModuleDirectory()
それと $front->setBaseUrl() も出来てないから、
defaultモジュールになっているんじゃ?
>>486
> $render->setViewBasePathSpec(APP.'/smarty')
> ->setViewScriptPathSpec(':module/:controller/:action.:suffix')
> ->setViewScriptPathNoControllerSpec(':action.:suffix')
> ->setViewSuffix('tpl');
だから、
> ./application/smarty/templates/default/smarty/index.tpl
templatesがどこで出てきたのか失念しちまったが、他は指定通りになってるね。
./APP/smarty/templates/:module/:controller/:action.:suffix
ZF徹底入門は持っていないから、的外れならスマソ。
0488479
2009/08/08(土) 19:41:03ID:JPFTqmJZありがとうございます
じっくりそのお返事読み込んで対応したいと思います
また質問することになったらすみません
本当にありがとうございました
0489nobodyさん
2009/08/08(土) 22:54:11ID:???サンクス。
今落としてみたけど、目次ペインは文字化け、キーワードタブなしだった。
やっぱり暇見て作り直すよ。
0491489
2009/08/09(日) 05:25:45ID:???どこかのロダへ上げりゃいいのだろうけど、どこがいいのか調べるのも面倒なので、ブログに上げといた。
ttp://imadetato.com/item/365
0492nobodyさん
2009/08/12(水) 16:33:11ID:???table.hoge として扱うことは出来ないでしょうか?
現状ではキーの取得のため $data['"table"."hoge"'] みたいにして取得しています。
0493nobodyさん
2009/08/14(金) 22:41:36ID:???0494nobodyさん
2009/08/15(土) 23:23:59ID:???CentOS 5.3 (PHP 5.1.6) + Zend Framework 1.9.1 で View ヘルパーの headLink 試してみたところエラーになりました。
headLink の getContainer() に ksort メソッドが無いというエラーでした。
調べていくと最終的には SPL の ArrayObject に ksort メソッドが存在しない、というところに行き着きました。
ArrayObject の ksort メソッドは PHP 5.1.0 以上ですのであるはずなのですが…
php.ini の設定や yum のインストールで何とかなるものでしょうか?
よろしくお願いします。
以下に yum でインストールした PHP の RPM を記します。
php-5.1.6-23.2.el5_3
php-bcmath-5.1.6-23.2.el5_3
php-cli-5.1.6-23.2.el5_3
php-common-5.1.6-23.2.el5_3
php-devel-5.1.6-23.2.el5_3
php-gd-5.1.6-23.2.el5_3
php-imap-5.1.6-23.2.el5_3
php-mbstring-5.1.6-23.2.el5_3
php-mcrypt-5.1.6-15.el5.centos.1
php-mhash-5.1.6-15.el5.centos.1
php-mysql-5.1.6-23.2.el5_3
php-pdo-5.1.6-23.2.el5_3
php-pear-1.4.9-4.el5.1
php-pgsql-5.1.6-23.2.el5_3
php-snmp-5.1.6-23.2.el5_3
php-soap-5.1.6-23.2.el5_3
php-tidy-5.1.6-15.el5.centos.1
php-xml-5.1.6-23.2.el5_3
php-xmlrpc-5.1.6-23.2.el5_3
0496nobodyさん
2009/08/16(日) 19:22:09ID:???application.iniを指定して情報を読み込んでいますが、
その情報をコントローラ内から読み取るにはどうすれば取得できるでしょうか。
0497nobodyさん
2009/08/17(月) 14:22:21ID:???0498nobodyさん
2009/08/17(月) 22:15:51ID:GH8UY0nupublic function indexAction()
{
$options = $this->getInvokeArg('bootstrap')->getOptions();
}
これで取れると思う。
0501nobodyさん
2009/08/18(火) 21:46:09ID:???require_once('Zend/Validate/StringLength.php');
require_once('Zend/Validate/Alnum.php');
require_once('Zend/Validate/Alpha.php');
require_once('Zend/Validate/Iban.php');
とか並べにゃならんの?
0502nobodyさん
2009/08/18(火) 22:50:59ID:???パフォーマンスは割と落ちる。
0504nobodyさん
2009/08/19(水) 13:07:53ID:???0506nobodyさん
2009/08/20(木) 09:49:21ID:???ってやると
Action 'create' is not a valid action.
てエラーになるんだけど、なんで?
PHP 5.2.6-3ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli)
0507506
2009/08/21(金) 12:26:09ID:???ちなみにsvnのstandard/trunk最新版でも同じだた
0508nobodyさん
2009/08/21(金) 12:44:36ID:???0509nobodyさん
2009/08/21(金) 14:35:04ID:???おま簡単なことみたいに言うなよ。めちゃ難しかったよ。
ああ言われたとおりコード追跡したよ、解決したよ。
でもぜってえ教えねえ、ググってここに来た奴ざまあw
ヒントはシンボリックリンクな
0510nobodyさん
2009/08/21(金) 14:50:07ID:???if ($item->isLink()) {
continue;
}
0511nobodyさん
2009/08/21(金) 15:46:36ID:???0512nobodyさん
2009/08/21(金) 21:57:27ID:???Google Trendsでは日本語は10位にも入っていません。
http://www.google.co.jp/trends?q=zend+framework
多くの国の人が使う英語でレポートするか、
http://framework.zend.com/issues/secure/Dashboard.jspa
下記の国々で利用される機会が多めなロシア語でレポートすると
・旧ソ連諸国
・東欧圏
・それらの国からの移民が6分の一を占めるイスラエル(Zend Technologyはここ)
http://zendframework.ru/
きっと今よりも幸福になれると思いますよ
0513nobodyさん
2009/08/22(土) 10:43:35ID:???$this->_forward('hoge');
}
todo();
IndexController::indexAction()内の処理で、上記のようにフォワードしたあとに下の処理が続行されてしまいます。
elseで囲ってやる以外にフォワードしたら下の処理を行わないようにする方法はないでしょうか?
0514nobodyさん
2009/08/22(土) 14:23:39ID:???0516nobodyさん
2009/08/22(土) 23:24:18ID:???バリデータは存在しました。
0517nobodyさん
2009/08/23(日) 13:31:15ID:???htmlのソース見れば分かるけど、?になってるのは " " (26 23 31 36 30 3B)だよ。
%20か に置換してやるか、消してからsjisに変換してやればおk
0518nobodyさん
2009/08/23(日) 14:08:05ID:???$view = new Zend_View();
$view->setEncoding('utf-8');
Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setView($view);
以外に方法はないでしょうか?
getInstance()的なのがあるとありがたいのですが
0519nobodyさん
2009/08/23(日) 15:49:38ID:???0521nobodyさん
2009/08/23(日) 18:59:09ID:???↓エラーはこんな感じです。
[plugin] modifier 'sanitize' is not implemented
modifierの'sanitize' を読み込むように設定されてるみたいなので、
↓この部分をコメントアウトしましたが、変化なし。
$this->_smarty->default_modifiers=array("sanitize");
sanitizeでプロジェクト内を文字列検索してみましたが、それっぽい
記述がなくて困ってます。どうしたら、解決しますか?
参考URL
http://wadslab.net/2008/03/zend_view_smarty/
0522nobodyさん
2009/08/24(月) 21:39:16ID:???プログラムは掲示板でもブログでもなんでもいいのですが、
「ZendFrameworkはこう使うべきである!」みたいな強烈なコードを読みたいです。
0523nobodyさん
2009/08/24(月) 21:43:21ID:???0524nobodyさん
2009/08/24(月) 22:08:56ID:???効率的な使い方とか
そういうのを参考にしたいんだろう
俺は知らん
0525nobodyさん
2009/08/25(火) 01:33:59ID:???嫁
■ このスレッドは過去ログ倉庫に格納されています