2 :
nobodyさん:2011/02/11(金) 11:46:28 ID:NxedcTRO
マルチ乙
知恵袋の回答者の質が悪いからしょうがないんです
そもそも、なんでPHPにSmarty見たいのが必要なのか分からない
ずーっとPHP使い続けるんならいいけど、そのうち他の言語に移るんだからテンプレート使っててもいいじゃん
楽になるしね。
前スレの993へ
ドキュメントルートにapplicationを作る場合
.htaccessにDeny from allを書いてapplicationに入れれば問題ない
Zend_Form_Element_Captchaについて教えてください。
FormにZend_Form_Element_CaptchaをaddElementsしてビュースクリプトに、
<?php echo $this->form->getElement('captcha')->render(); ?>
とすると問題なく表示されます。
しかし、キャプチャイメージだけレンダリングしようと、
<?php echo $this->form->getElement('captcha')->getCaptcha()->render(); ?>
とすると、画像が表示されません。
一つ前に生成したファイル名が指定されてしまっているようです。
今生成したキャプチャイメージにするにはどうしたらいいでしょうか?
>>8 他の言語のFWでもsmartyが使えるならいいけど、他は他で独自テンプレじゃん。
無意味。
ZFスレって盛り上がらないね
ひょっとしてZFはオワコン?
Zend_Db_Selectだと__toStriong()で実行したSQLを取得できますが、
insertやupdateで同じように実行したSQLを確認する方法ありませんか?
IEで使いたい
17 :
14:2011/02/18(金) 00:41:44 ID:???
>>15 おー、こんな便利なクラスがあるのか、ありがとう
18 :
nobodyさん:2011/02/18(金) 02:24:32 ID:l3rqfUmy
Zend_sessionで、$testSpace->setExpirationSeconds(300, 'accept_answer'); って感じに
任意のセッションオブジェクト全体とかその中の特定の変数に有効期限持たせられるけど、
これってブラウザ閉じてもexpireは実行されるんだよね?
EclipseでPDTでのPHPのように、ZFの関数などを補完してくれるプラグインだとかテンプレートライブラリとか無いでしょうか?
ちょっとZend_Xxxxx_Xxxxxとか打つのが手間がかかり、後、毎回打ち間違うのも避けたいので
ネットで検索しても出てこないような気がします
レイアウトスクリプトのビュー変数を設定するのはどうすればいいのでしょうか>
class fooController extends Zend_Controller_Action {
public function indexAction(){
$this->_helper->layout->assign( 'header',$this->view->render('header.phtml'));
$this->_helper->layout->assign( 'view_var','ああああ');
}
と、レイアウトとビュー変数を設定しているのですが、
header.phtmlの中で
<div><?php echo $this->layout()->view_var; ?></div>
としてもなにも表示されません。
var_dump()はnullです。
どのようにレイアウトスクリプトにビュー変数を渡せばいいのでしょうか?
20です。
勘違いしてました。解決しました。
>>19 あらかじめZend Frameworkのライブラリを解凍しておいて、
PHPプロジェクトを作成する際に、そのライブラリの場所をinclude path指定すればOK
(プロジェクト作成後にinclude path設定してもいい)
23 :
nobodyさん:2011/02/23(水) 14:48:11.97 ID:Ql2fJWu6
お世話になります。
MySQLにレコードを登録するプログラムを組んでいます。
ブラウザからアクセスしてプログラムを実行すると
ちゃんとDBに登録されるプログラムを
コマンドラインで実行するとエラーが出てしまいます。
エラーには
SQLSTATE[HY000]: General error: 2053
と表示されます。
その他にも
Zend_Db_Statement_Pdo->fetchAll()
でエラーが発生しているかのように出ておりました。
エラーを解消するにはどの様にすればよろしいでしょうか。
よろしくお願い致します。
>>19 俺もそれ思って、Zend Studioの評価版をダウンロードしてテンプレート、コードアシスト部分だけエクスポートしようと思ったんだけど
どうやればいいのか分からなかった
設定欄には何も表示されないんで
誰かZend StudioからEclipseに入れる方法知りませんか?
>>22 ん?どういう事?
include pathってのが分からないんですが(PHPではなくEclipseのinclude pathですよね?)具体的にはどうするのですか?
>>24 PDTのバージョンは何?
PHPのプロジェクトを右クリックして、ビルドパス→ソースのリンクでZFが入っているパスを指定すれば補完されるようになるよ。
プロジェクト内にZFディレクトリが存在してるなら、そのディレクトリを右クリック→ビルドパス→ソースフォルダとして使用するを選択すればOK。
>>25 ありがとう
知らなかった
それならPEARなんかも出来そうですね
バージョンは最新版です
>>24 既存のEclipse環境があって、そこにPDT部分を統合したい、という話だったら使えない手だけれど、
そうじゃなかったら、
試用期限切れのままこっそり使う、という手もある。
>>27 笑w
アレって期限切れでも使用できるの?
PDTとの違いで、目立ったものは自分は感じられなかったんだけど
日本語化対応もいまいちだったし、Pleiades入れればいいのかもしれないけど、動作がおかしくなったりしたら怖いし
Subversiveとか、Aptanaとかも入れられるんですかね?
>>23 パスが通ってない。多分php.iniが見えてないのが原因なので
php -c [iniのパス]
とすれば大概いける。ダメなら環境変数で頑張る。
期限来れたらPDTと同等品
こっそりというか普通に使っておk
>>30 あっ、PDTと同等になるんですか・・・
となると、ZFプロジェクトなんかが作成できなくなったり、ZF関数のコードアシストが無くなるんですね?
期限が来ると有償部分のプラグインがつかえなくなる。
日本語はPleiadesじゃない方のやつがいいと思う。
日本はZF流行らないね
ZF理解できるようなレベルの人間が少ないだけだと思おう
世の中のPHP使ってるって人もPHP自体もたいして出来ないんじゃない?
ウェブデザの片手間言語から脱出してないからな。
perlで組むのは無理過ぎるからphpってだけ。フォーム投稿とかcgiレベルのphpが多いし。
db遣う以前のレベル。
perlだと何かいいことあるのか?
CGIと言えばperlみたいな時代があったから
使える人間が多いってだけで
別にperlが優れてるというわけじゃないでそ
むしろPerlは老害の使いたがる言語
40 :
nobodyさん:2011/03/03(木) 20:26:10.54 ID:1KzlvY5t
zend使ってたら、内部でPCREの正規表現使ってるらしくて
PHP Notice: Sorry, your PCRE extension does not support UTF8 which is needed for the I18N
core in /usr/lib/php/ZendFramework/library/Zend/Locale/Format.php on line 769
というエラーが出たんだけど、どう対処したら良いんでしょうか?
zend_mailの処理から発生したエラーのようなんだけど…
>your PCRE extension does not support UTF8
42 :
nobodyさん:2011/03/03(木) 20:36:24.08 ID:1KzlvY5t
あと、zend_mailって、送信処理の実行結果(成功/失敗)を確認できないのかな?
sendメソッドの返り値から判別する方法とか、判別用のメソッドとかってない?
なんで人をなめた口調になってるの?
>>41 ありがとう。
やっぱりzendというよりPHPの方になんかインストールしたりして対応するしかないんだ?
うーん、やってみる。ありがとう
Zend_Log_Writer_Streamがfopenのあとflockしてないんだが
おかげでログが消えて酷い目にあった
これZend_Logのバグだろ
>>45 ありがとうございます。読んでみます、ありがとう。
>>46 追加モードでアトミックに書き込みできない場合は
ストリームを自分でロックしてからコンストラクタに渡せという設計じゃないの
と言うかウェブアプリでログファイルを排他ロックしたらパフォーマンス糞落ちるんじゃね?
flock するにしても fopen の後じゃなくって fwrite の直前だろ
しかし flock しないせいでログが消えたってどんな環境なんだ?
出力が混ざるとかいうならわかるんだが。
ZendDbでテーブルの情報を引き出したいんだけど、どうすればいいかわかりません。
_metadataはどこから取れますか?
Zend_Db_Table_Abstract クラスのinfo()メソッド
馬鹿にはzfは無理。
Zend_DbでSQLエラーが出ると例外になるんだけど、
そこで$exception->getMessage()
ってするとエラーが発生したSQLが取得できます。
そこまではいいんですが、たとえばinsertでエラーが出ると、getMessageの内容が
INSERT INTO "hoge" ("col0", *"col1") VALUES (:col0, :col1)
とかになってて、「:col0」「:col1」に具体的にどんな値がバインドされてたかがわかりません。
ここまで取得する方法ありませんか?
getTraceして気合いで遡っていくしかない?
タメ口
57 :
nobodyさん:2011/03/07(月) 10:09:28.12 ID:e6LrE7ug
10000件ほどのデータを取得する場合
fetchAll()を使うよりも
fetch()を使ったほうがパフォーマンスはよくなりますか?
fetchAll()はフレームワーク側で
fetch()を行数分繰り返して、配列にいれているようなイメージがあるので、
fetch()で取得した後に、自分でループ内で処理を行っていったほうが
配列を作成する処理が省略できてメモリの消費量も
減るのかなと思っています。
如何でしょうか?
君の目の前の箱を使えば5分で試せるだろ
59 :
nobodyさん:2011/03/08(火) 10:37:44.71 ID:zCKyJOsB
Zend_sessionのマニュアルを見ていると以下のような説明があります
$s = new Zend_Session_Namespace('expireAll');
$s->a = 'apple';
$s->setExpirationSeconds(5, 'a'); // キー "a" だけは 5 秒で有効期限切れとなります
これは理解できるのですが、キー「a」に連想配列の形で値をセットして、
その配列のキー単位で期限設定は出来ないんでしょうか?
自分で以下のようにやって試してみたんですが、うまくいきません。
$s = new Zend_Session_Namespace('expireAll');
$s->a['g'] = 'green apple';
$s->a['r'] = 'red apple';
$s->setExpirationSeconds(1, "a['g']"); // キー "a['g']" だけは 1 秒で有効期限切れとなります
やり方がマズいのか、そもそも意図してるようなことは出来ないのか、どちらでしょうか?
どなたかご意見お願いします
また、上記の連想配列のキー単位で即時破棄というのはどうしたら良いんでしょうか?
よろしくお願いします
Zend FrameworkでXMLのパースってどうされてます?
Zend_xmlみたいにあればいいんですけど・・・
そんなのフレームワーク使うか?w
ZF使う時点でphp5前提だと思うからsimpleなんちゃら使えばいいだろ?w
>>59 有効期限が設定できるのはあくまでキー単位。
別のnamespaceを作ってやればいいだけでは?
$apples = new Zend_Session_Namespace('apples');
$apples->green = 'green apple';
$apples->red = 'red apple';
$apples->setExpirationSeconds(5, 'green');
みたいな。
こっちの方がスマートじゃないかい?
>>62 ありがとうございます
やっぱりそうみたいですね、素直に個別にキーを作ることにします
64 :
57:2011/03/08(火) 14:15:31.31 ID:???
メモリ消費量は
100MBほど節約できました。
etchAll()を使わずにfetch()を使用する意外にも
メモリの節約やパフォーマンスの向上を図れる技法ってありますか?
データベースのインデックスの張り方とか意外で、
ZendFrameworkもしくはPHPで出来る方法として何かあれば
アドバイス頂きたいです。
SQLでは*は使用せずに
カラムを指定するといったことは行っています。
よろしくお願いします。
メモリは消費できた、結構。
速度は?
>>64 printを使わずechoを使う
もっと節約するなら文字を表示するところは?>〜<?phpな風にする
PHPでメモリをよく食うのが配列。
特に連想配列を大量に使ってるとかなりメモリを食うので、出来るだけ連想配列を使わない。
というか、大きい配列のデータをなるべく持たない。
配列を作ってもなるべくこまめにその変数を破棄するようにすると減らせると思う。
>>67 そういう知識ってどこで得たの?
まさか全部自分で検証ってわけじゃないだろうし、自分は独学だから
職場の先輩からの知識の継承ってのがないんだよなぁ
PHP本なんて腐るほどあるけど、一通り作れるようになったら誰でもメモリやDB負荷の管理に
興味持つんだから、そういう要所をまとめて巻末に載せてくれたら良いのになぁ…
(zend全然関係なくて申し訳ない
>>68 仕事を通じて引っかかったところがあったので検証もしてみたけど、
「PHP パフォーマンスチューニング」でググれば他にも大量に出てくるからまずそこから調べた方がいい。
ちなみに俺もほとんど独学だし、先輩から教わった事なんて仕事として使うときの
エラー処理取り扱い方くらいしかない。
ただのTIPSやチューニング方法なんていちいち本に書く内容じゃないし。
こういう知識はググる、検証してみる、バグトラック見てみる、元のソース読んでみるしかない。
後者の方は時間のあるときにやってみると色々勉強になるよ。
PHP「だけ」できればいいやと思ってると身に付かない
>>67 変数の破棄ってどうやるの?
unsetとか意味あるのかな?
http://framework.zend.com/manual/ja/zend.application.quick-start.html のとおりにやると、
localhost/hoge/fuga
ってやったら勝手にHogeController::fugaActionが起動して、
"views/scripts/hoge/fuga.phtml"のテンプレートが表示されます。
特定のアクションだけテンプレートのディレクトリを変更したいんですができませんか?
コントローラ内で
$this->_helper->viewRenderer->setViewSuffix('html');ってやれば
"views/scripts/hoge/fuga.html"になります。
$this->render('foo');ってやれば
"views/scripts/hoge/foo.phtml"になります。
これを特定のアクションだけ
"views/scripts/bar/fuga.phtml"を表示させたいのです。
$this->render('../bar/fuga');ってやったら勝手に"-"に補正しやがって読めませんでした。
>>73 ああ、それね
専用のメソッドがあってそこで条件判断すればおk
>$this->_helper->viewRenderer->setViewSuffix('html');
について
俺はその情報は知らないからマニュアルのどのページに書いてあるのかurl張って教えて欲しい
教えてもらえるなら俺ももうちょっと詳しく教える
テイク&ギブでどうかな
views/scripts/ 位置が基底ディレクトリだから
$this->render('bar/fuga');でできたと思うが
日本語読めない人は黙ってたほうがいい
78 :
73:2011/03/11(金) 01:04:00.80 ID:???
>>75 script 'hoge/bar/fuga.phtml' not found in path (/**/application/views/scripts/)
こんなんなる。
この'hoge'が邪魔だった。
半分自己解決
http://framework.zend.com/manual/ja/zend.view.scripts.html にあるsetViewScriptPathSpecで、
$this->_helper->viewRenderer->setViewScriptPathSpec(':action.:suffix')
ってやって':controller/'を消したら概ね想定通りになった。
ただこれ例外投げても継続するからパス変更後に例外出したらエラーが大変なことに。
例外発生後は継続させずにそのときだけ変更とかできないかなあ。
何でそんな難しくやろうとするんだろうか
もっと簡単にできんのに
とりあえず俺74だから
ZFで構築された大手企業ってあんまり聞かない
cakeかsynfonyどちらかでweb制作会社がZFでサイト制作で使ってる程度しか見たことない
あるなら紹介してください
ちょっとかじって驚いた。
Cakeは糞だと思う。
フレームワークって名乗ってるからそういう用途としては使いにくいと思うけど
Zendが作ってんのにね
83 :
73:2011/03/16(水) 22:10:10.44 ID:???
Zend_Dbって
where A AND (B OR C)
が作れない?
>>83 ->where('`A` = ?', $a)
->where('(`B` = ?', $b)
->orWhere('`C` = ?)', $c)
おーぅアクロバティック
ZFでサイト構築するのってやめたほうがいい?
おすすめだお
89 :
sage:2011/03/20(日) 13:23:00.64 ID:???
Zend Framework の Full Package を小分けにしてダウンロードできるようにしてみた。
http://ramat.ram.ne.jp/ それから、Pleiades に抵抗を感じる
>>28 のために PDT 2.2.0 日本語化パックをおいとく。
被災者支援活動につかってちょ
自分でしろ
ZFコマンドでcreate actionした後、そのactionを削除する場合は
どうしたらよいのでしょうか?
単にcontrollersのactionメソッド部分と、actionビューファイルを削除する
だけでよいのでしょうか。
それともzfproject.xmlを再構築するような処理が必要になるのでしょうか?
>>93 レスありがとうございます。
英語はよくわかりませんけど、
zfコマンドで作ったactionやviewを削除したら、zf
コマンドでzfproject.xmlを再構築する方法はない。
zf ver.2 ではその機能を実装するよきっと。
てな感じでしょう。
93様、ありがとうございました。
わからないとか言ってちゃんと英語読めてるじゃないかw
きっとこの人はZF使っててもPHPは分からないという謙虚な方なのでしょう
ZFを使うのに適したIDEは何がお勧めでしょうか?
NetBeansを使ってみましたが、ZFのコマンドが簡単に
使えるようにサポートされていて、良さそうでした。
でも、ZFならZend本家のPDTが良さそうな気がしますし・・・
どちらがよいのでしょうか?
>でも、ZFならZend本家のPDTが良さそうな気がしますし・・・
じゃそれ使えば良いだろw
99 :
sage:2011/03/26(土) 17:12:24.83 ID:???
>ZFを使うのに適したIDEは何がお勧めでしょうか?
つ Zend Studio
こんにちは、ルーティングについて教えていただけますでしょうか?
$front =Zend_Controller_Front::getInstance();
$front->setControllerDirectory( CONTROLLER_PATH );
$router=$front->getRouter();
$router->addRoute( 'my_router',
new Zend_Controller_Router_Route_Regex(
'mycontroller/(\w{1,25})',
array( 'controller' => 'mycontroller', 'action' => 'index' )
));
index.phpに上記のルーターを追加しました。
アクションコントローラーでは、
class MycontrollerController extends Zend_Controller_Action {
public function indexAction(){
/*
$this->getRequest()->getUserParam( 1 )がデータベースに登録されているか検証し、登録されていなければ例外を投げる
*/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜
と、しています。
http://localhost/mycontroller/test/ でアクセスする場合、'test'がデータベースに登録されていれば問題ありません。
しかし、
http://localhost/mycontroller/index/test/ や、
http://localhost/mycontroller/index/test/aaaa でアクセスした場合に例外を投げたいのです。
'my_router'ルーターを経由した/mycontroller/index/アクションへのアクセスか否かを判断できればいいと考えているのですが、どのように書けばいいのかわかりません。
お手数ですがご存知の方、ご指示をお願いします。
よろしくお願いします。
zf.batって使い道あるの?
まだ、使ったことがないけど、使い道はあるんじゃね?
使ったことないのにレスしたの笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
>>104 1.14にバージョンアップしてから来てくれないかな
>>104ですがphp.iniのインクルードパスに
'.;php\peer\;php\zend1.14\'のようにpeerを先に記載していたのですが、
こちらにzendが含まれ、先に読み込まれていた事が原因で新しいバージョンに
する事ができていませんでした。
ありがとう
>>104 (´З`)チェッチュ
108 :
sage:2011/04/05(火) 11:31:30.25 ID:5FZ9UmE+
Zend Framework のパフォーマンスガイドにあるけど、一番最初のピリオドも最後に持っていって、
'php\zend1.14\;php\pear\;.'
のようにするといいと思うよ ;-)
110 :
sage:2011/04/05(火) 16:51:04.75 ID:5FZ9UmE+
112 :
nobodyさん:2011/04/06(水) 20:30:29.32 ID:WtZWBRpO
すみません、質問です
defaultモジュール中で、エラー用のコントローラを作ろうとErrorController.phpを作り、ルーティングを
routes.default_error.route = "/error/*"
routes.default_error.defaults.controller = "error"
routes.default_error.defaults.action = "index"
routes.default_error.type = "Zend_Controller_Router_Route"
としたんですがエラーになりました。(
http://example.com/error で表示すると思ったのに。)
※apacheエラーログで、
[Wed Apr 06 11:01:05 2011] [error] [client 192.168.0.3] File does not exist: /var/www/error などと言われます
原因がわからなかったので、ファイル名とルーティングをそれぞれ
ErrorxController.php
routes.default_error.route = "/errorx/*"
routes.default_error.defaults.controller = "errorx"
routes.default_error.defaults.action = "index"
routes.default_error.type = "Zend_Controller_Router_Route"
にしたところ正常にindexアクションの中身を表示しました(
http://example.com/errorx)
どういう原因が考えられるでしょうか?
ErrorControllerというコントローラ名の重複は同じモジュール中にはありません。
(異なるモジュール中にはありますが、関係あるんでしょうか?)
上記のアパッチのエラーログの「File does not exist:/var/www/error」というのも、
このアプリ自体/var/www/example.com/の中で動いているのでありえないことで理由が理解できません。
すみません、ご意見お願いします
113 :
nobodyさん:2011/04/08(金) 05:28:10.73 ID:MbleiVWq
ErrorControllerをモジュールごとに使い分ける方法ってありますか?
ググると一つ出てくるんですが、あくまでそのブログを書いた人の考えたやり方で
標準というか、安心して使える実現法を知りたいです
ZFに標準なんて方法はないんだが
>>114 書き方が悪かったです、すみません。標準と言うより定番です。
モジュールごとにエラーコントローラをわけるなんてあると便利に決まってる機能なのに
マニュアル見ても見つからなかったので、自分が知らないだけでZendFW利用者の間で
定番的によく使われてる方法があるなら知りたいなと
英語のFAQサイトでも見つけたけど、なんで機能に組み込んでないんだろう
標準も定番もないし
やるなら1例としてモジュール名を元にsetErrorHandlerControllerでそれぞれのエラーコントローラを指定するとか
117 :
113:2011/04/12(火) 08:32:07.94 ID:???
>>116 すみません、お礼忘れてました
どうにかこうにか形になりました、ありがとう
Router_Route_Regexで
http://www.example.com/info.html?123 の123を取得したくて
$route =new Zend_Controller_Router_Route_Regex(
'info.html\?(\d+)',
array(
'controller' => 'info',
'action' => 'index'
)
);
とかいたのですがマッチしません。
なぜでしょうか?
getInstance()にオブジェクトとして123の部分が入ってるからそこから取れば?
>>119 すみません。
マッチしないという言い方が正しくありませんでした。
ディスパッチエラーになって/info/iindx/が表示されないのです。
なぜでしょうか?
関係ない箇所だけど'info.htmlはinfo\.htmlって書くべき
>>121 と思ったら、それが原因ではありませんでした。
関係ない箇所だけど
関係ない箇所だけど
関係ない箇所だけど
PDTなどのIDE環境なしで、テキストエディタでZendFrameworkを学習
するのは、よくないのでしょうか?
(ZFより先にIDEを導入するべき?)
好きにすればいいんじゃない
でも入力補完とかリアルタイムの構文チェックに慣れると
普通のエディタには戻れなくなる
誇らしいニダ
128 :
nobodyさん:2011/04/22(金) 21:27:19.03 ID:V7g6SPUo
質問させてください
・/authContorller.php
public function denyAction() {
Zend_Layout::getMvcInstance()->setLayout('message');
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->getHelper('viewRenderer')->setNoRender();
$this->_helper->getHelper('layout')->disableLayout();
129 :
nobodyさん:2011/04/22(金) 21:30:49.02 ID:V7g6SPUo
$return = array('message' => $this->view->translator('auth_deny_g'));
$this->getResponse()->setBody(Zend_Json::encode($return));
} }
・/auth/deny.phtml
<div><?php echo $this->translator('auth_deny_g'); ?></div>
とあります
質問:〜があります
回答:ありますね
131 :
nobodyさん:2011/04/22(金) 23:25:41.71 ID:V7g6SPUo
>>128-129続き
$return = 〜 ('auth_deny_g')); の1文は一体何を意味しているのでしょうか?
messageに変数を割り当てているのでしょうが、translator('auth_deny_g')の値が何を意味するのか分かりません
どこかにauth_deny_gに該当する値、又ファイルが存在するのでしょうか?
2chの本文の長さ規制で変な連投になりすみません
$this->view->translator から、
'auth_deny_g'ってキー使って値を引っ張ってんでしょ。
translatorはZend_Translatorだよな。
んで、これはZend_Formの認証失敗を通知するメッセージの出力じゃねーの?
周辺が解らなすぎて答えようがねえよ。
500ページ程度のサイトはZFとCakePHPどちらで構築するのが適していると思いますか?
ワードプレス
>>133 その500ページの内容による。
それすら無しに、ZFとCakeって比較は馬鹿げてる。
内容がわかってもその比較は馬鹿げてて、
WordPressの方がいいってのもあり得る。
こういう意味不明な回答はFWとCMSをよく使いこなしてきてない人なんだろうな
いや、質問が意味不明だし。。
ギャグで返す以外にどうしろとw
tomatoCMSとか見てみたけど、わけが分からなかった
皆この位のコードとか書いてアプリケーションとか作ってるの?
それともやっぱこのレベルは難しい?
>>136 あんたの方がよっぽど、ソフトを使ってみただけの実務の出来ない技能屋って感じがするけどなあ。
フレームワークとCMSを敢えて提示し得る問いだってのは明らかじゃん。
悔しかったのか
>>138 心配しなくても、tomatoCMSレベルを作れる日本人は殆ど居ません
普通に皆作れる
ただし、作れる人は他の事やってる
Zend_Form_Element_InputとかZend_Form_Element_Hiddenとかがxhtmlじゃなくてhtmlの省略形の閉じタグがつかないんだけど、
これってどうやったらxhtmlになるの?
>>143 $view->doctype(ほにゃらら);
146 :
nobodyさん:2011/05/09(月) 18:07:17.19 ID:9NI2nLcl
Zend_service_twitterについて質問です
自分のアプリケーションからつぶやきを投稿するフローで、
TwitterAPI認証画面への遷移・認証成功後、アクセストークンを取得して戻って来たら、
以下のように クラスを実行する必要があると思うんですが、
$twitter = new Zend_Service_Twitter(array(
'username' => 'hogeUser',
'accessToken' => unserialize($_SESSION['TWITTER_ACCESS_TOKEN'])
)
);
$twitter->status->update("アプリからつぶやきました");
このパラメータの 'username'って誰のユーザーネームを入れたら良いんでしょうか?
考えられる候補は以下の3つあって、
1)アプリケーションそのもののユーザー
2)そのアプリケーションを利用してるユーザー(twitterAPIにID/passwordを入力した、そのIDそのもの)
3)その他、だれでもいい、実在しないユーザでもいい
全てを試してみたものの全部エラーなく実行できてしまいました。
実際の投稿者(つぶやいたユーザ)は全部、(2)のapiログインしたユーザです。
第二引数のTWITTER_ACCESS_TOKEN自体が、このユーザの権限で作ったものだから当たり前かも知れないですが、
ではusernameって何の為にあるパラメータなんでしょうか?
マニュアル読んだものの英語なのでよくわからなくて、色んなブログ記事を読んでも
このユーザーがなになのか、ハッキリ書いていません。
すみません、アドバイスお願いします
お前は何を言ってるんだ
>>146 本当にそこまで試して全部結果が同じなら、
なんかの互換確保用か、名残じゃねえの?
場所ははっきりしてんだし、ソース追っかければいいじゃない。
149 :
146:2011/05/09(月) 23:03:42.09 ID:???
>>148 どうもです。言われた通りソースを見てみました。
すると、HttpClientの生成やその先の処理にusernameは全く使ってませんでした。
setUsername();とgetUsername();の2つのメソッドがあるだけで、
このHttpClientのユーザの名前を入れる/引き出す処理に使うだけみたいでした。
なので、usernameに指定するのは(2)のアプリケーションユーザ名のようです。
パラメータの配列からusernameキーそのものを消しても動いたくらいで…
とりあえず解決とします。ありがとうございました。
>>149 Basic認証時代の名残かもね。
当時コンストラクタに$username, $passwordが引数で渡されてたから
>>149 OSSだとよくあるよね。このフラグ使ってねーのかよ!って。
ドキュメントに記載は無いけど、ソースのコメントにはあったりするし。
ZFぐらい大きくても、個々のライブラリのコミッタって少ないだろうし、
まあソース見たほうが早いってこった。
上でtomatoCMSの話題がありましたので質問させてもらいますが、
tomatoCMSはrequire_once等を使用せずに別ファイルのクラス等を呼び出していますが、これは何故なのでしょうか?
どういう仕組みでこのように出来るのでしょうか?
tomatoは知らんが、まさかAutoloader使ってるだけじゃないよな?
ossは開発者の興味が薄いと不具合あっても放置されまくりだからな。正直品質は低い。
155 :
nobodyさん:2011/05/11(水) 21:41:01.28 ID:28BHzc0+
>>154 君は PHP 使っているの?だったらすぐやめて .net や delphi に乗り換えたほうがいいよ :-p
Delphiはやめとけ
あれは情報が少ない
やるだけ損だ
>>154 商用製品でも同じこと
売上が薄いもんは品質低い
159 :
sage:2011/05/14(土) 06:53:07.55 ID:???
zf2いいね
2.0いつくんの?
来年までこないよ
164 :
nobodyさん:2011/05/26(木) 00:37:23.77 ID:HR+pqHzo
ZendFrameworkを使ってSNSみたいなサービスを使ってみようと思ってるんですが、
管理画面状態の時も他ユーザが閲覧してるプロフィール画面の時もURLを
http://yamada.hogehoge.jp/ という形で同じにしたいです。
この条件を満たすとき、ルーティングから画面切り分けまでのロジックはどうすべきでしょうか?
前提:管理画面モード(ログイン時)では、専用のセッションにユニークのユーザ名(yamada)を入れてまわる
1:とりあえずルーティングはdefaultモジュールの閲覧モード(profileコントローラ)を設定
2:profileコントローラのコンストラクタでzend_authの検証結果を見る(管理画面モードであると確認)
3:管理画面用セッションからユーザ名とurlのパラメータ「yamada」を比較
4:同じだったら、管理画面用mypageモジュールとアクションに転送
こんな感じかなと思ったんですが、なんか変と言うか。
4の転送ってのも、毎回毎回/module/default/***Controller.phpから/module/mypage/***Controller.phpに
切り替えるのかという気がするし、もっと良いやり方があるのではって思ってしまいます。
一番の解決策は管理画面モードの時は
http://mypage.hogehoge.jp 閲覧用のページの時は
http://yamada.hogehoge.jp とハッキリわけることだとわかってるんですが、そうしたくないなと思いまして…
別の方法として、閲覧モードの時も管理画面モードの時も同じモジュール同じコントローラを利用し、
認証チェックの結果次第で管理画面モードの時のみ更新系機能を組み込んで
viewを切り替えることを考えもしたんですがそれもおかしいし…
(閲覧モード時に使わない機能とアクションが大量にあるというあたりが)
どうするのが良いでしょうか。変な質問ですみません
166 :
164:2011/05/26(木) 01:36:57.62 ID:???
>>165 単純に見映えがいい?カッコイイ?からというしょうもない理由なんですが
こういうルーティングの機能があるから使ってみるか、程度の…
サブドメインを利用してること自体が問題になるんでしょうか? そんなことないですよね?
>>164 Cookie(というかセッションのキー)どうすんの?ドメインにワイルドカードで許可できたっけ。
>>164 >>166 ルーターを作って username.xxxxx の場合は、
mypageモジュール内のコントローラを呼ぶ。
mypageモジュール内でセッション情報の確認を行い、
不正な場合はdefaultにリダイレクトにすればいい。
169 :
164:2011/05/26(木) 14:50:51.50 ID:HR+pqHzo
>>167 すみません、僕の知識不足だと思うんですがご質問が理解できません
上で書いたことって、セッションの管理に問題が出るような処理をしているんでしょうか
…と気になって調べたらドメイン移動でセッションが切れる問題をおっしゃってるんですよね?
それがこのルーティングのサブドメイン変更にも影響あるのでは、と。(違ってたらすみません)
そういう問題を解決した上でZendFWのルーティングって実装されているのでは…
セッション管理をZend_Sessionで管理している限り問題ないのではと信じたいですが
不安になってきました、どうなんだろう
ヒント
明らかに自分より下の知識しか持たない回答者をスルーすべし
171 :
164:2011/05/26(木) 15:32:25.16 ID:???
>>168 ありがとうございます
リダイレクトとは、どういう方法でのリダイレクトを指しているんでしょうか。
mypageモジュールのコントローラ中で、$this->_redirect('/default/user/profile/')ってやるということでしょうか?
自分自身
>>164のレスの中で「リダイレクト」とか書いてて、この方法想定してましたが、
これだとよく考えたらURLが
http://yamada.hoge.jpにならないですね。。
(
>>167さんの言ってた問題はこれなんでしょうか?)
別の方法をおっしゃってるんでしょうか。
すみませんが、どんなリダイレクトを想定されてるのかもう少し教えてください
自分が今思いついたやり方は、個別にモジュール/コントローラ/アクションを指定出来なきゃダメという前提で
frontContorllerに仕掛けるプラグインみたいにZend_Controller_Plugin_Abstructを継承するクラスを作って、
その中で以下の処理をさせ、mypageモジュール中のコントローラの冒頭でrequireさせる
1:セッションチェック&リダイレクト
2:リダイレクトの方法は
$req->setModuleName('default');
$req->setControllerName('user');
$req->setActionName('profile');
…という方法なんですがおかしいでしょうか
これならURL的にも変更無しで画面切り替えできるような気がするんですが、、
でも、個別のコントローラ内でZend_Controller_Plugin_Abstructを継承させたファイルをrequireするなんて
聞いたこともないと言うか。。
はっきりプラグイン化してフロントコントローラに仕掛けるべきなんだろうか
こんなに難しくなると思わなかったな…
長くてすみません
>>170 自分もすごく低レベルなので。。
172 :
167:2011/05/26(木) 16:10:30.53 ID:???
173 :
168:2011/05/26(木) 19:37:18.11 ID:???
174 :
164:2011/05/26(木) 20:16:09.03 ID:???
175 :
168:2011/05/26(木) 22:16:25.58 ID:???
>>164 ZF徹底マスターに載ってたサンプルだと
フロントコントローラのpreDispatchに登録したプラグインの中で
飛び先のモジュール・コントローラ・アクションの組み合わせから
アクセスに必要な権限をテーブルから引いて
セッションに保存してあるユーザーの権限と照合する。
権限不足なら、$req->setControllerName('auth');
$req->setControllerName('login'); という感じで
ログインの機能を持ったコントローラ・アクションに飛ばす。
権限があれば何もせずにスルー、ってことをやってる。
ログイン認証をするアクションは、
認証が取れたら↑のプラグインで使う情報をセッションに登録して
適当なページにリダイレクトする。
177 :
164:2011/05/26(木) 22:48:13.48 ID:???
>>175 どうもです
>>171で書いた方法でプラグイン化して試してみます
質問したおかげで自分のやりたいことを整理できたり、考えの甘い点が見つかったので
すごく良かったです。皆さんありがとう
178 :
164:2011/05/26(木) 22:51:16.27 ID:???
>>176 あ、それちょうど見てたところでした
やっぱりプラグイン化してフロントコントローラで処理するのが王道ぽいですね!
この本良いですよね
setControllerNameとかの利用法をおさらいできて良かったです
どうもありがとう
fileconicってZFなんだな。
表に出ない事例は山ほどありそう。
filesonicだった
Zend Framework in Action に書いてなかったっけ?
「タイプミスですか?」
これすごいな
Zend OpenIDってAX対応してないの?
Zend Frameworkを基礎から覚えようと思ってネットでチュートリアルとか
探したけど、わかりやすいのはありませんでした。
日本語だと、codezineとかIBMとかに少しあるくらい。
でも内容が古かったりするのが多くていまいち。
日本語の情報はすくないし古いのか、と思い、Zend本家の
Tutorialを見るも、コード解説が不十分でよくわかりませんでした。
C#, SQL, ASP.netなどの経験はあったので、ZendFrameworkもすぐ
覚えられるだろうと思っていたら、チュートリアルでつまづきましたw
Zend Frameworkのよく使う機能を中心に、丁寧に解説して
いるサイトとかありますか?
公式マニュアル
>>185 Zend本家のTutorialとかいたのが、公式マニュアル、チュートリアルのことです。
あれが一番ましということですか?
QuickStartというチュートリアルなのに、解説のないコードが
ポンポン出てきます。
QuickStartなんだから解説いらんだろw
今までどんな書籍で学習して来たのか興味深いな。
10日で覚えるゼンドフレームワークなんてのはまだ無いな。
10日で覚えるphpでも学習した気には成れると思うよ。
就職活動の為の即席学習目的かな? 実務経験無さそうだw
cでもsqlでもいいけど、ちゃんと実務的なアプリ作った実績とかのほうが評価されると思うよ。
コンサル会社狙いなら会計の勉強してbsやplを印刷したりpdfにかき出せるアプリを作ってみるとか。
軽く一通り遣る程度で住ませたいなら、情報処理とかの資格を取ったほうが評価される。本見て作れるとか全く評価外だし。
一番いいのは受験勉強やり直して東大に入り直してマーチ以下の足切りを回避することだと思うけどw
>>189 クイックスタートのどこら辺が分からんの?
コードの羅列だけじゃなくて必ず文章がついてると思うけど
採用事例のソース読めよ。
初心者の書き込みに優しく回答・解説できない人は、
とても実務レベルのチカラがあるとは思えないよん。
公式リファレンスで十分。
あれ読んで解らない人は、金払ってスクール行くなり本を買うなりするレベルの人達。
実務レベルの解説を求めるなら、尚更金払えとw
ZFがCMS?
ZFがどうのと言う前にPHPの経験がない悪寒
適当なPHPの解説本とZF徹底マスターでも買ってくれば?
198 :
nobodyさん:2011/06/15(水) 01:39:12.19 ID:x3E18VF9
公式リファレンスはたまに思いっきり出鱈目が書いてあるのと
和訳されてないのがあるのをどうにかしてくれれば完璧なんだが
ZFは初心者用のチュートリアルが充実していないと俺も思う。
初心者を叩くのではなく、初心者がZFをスムーズに使えるように
先駆者が導いてあげるのが、ZF利用者の拡大に繋がるのだが・・・
俺がもっとスキルがあれば、チュートリアルを書いて提供したい
ところだが、そこまでのスキルはないです。
本を買ったら?
俺は最初本で学習したおかげで、公式のチュートリアルも理解できた。
203 :
184:2011/06/15(水) 17:02:31.99 ID:???
>>197 >>202 はい。
ネットのドキュメントだとなさそうなので、あきらめて本を探しました。
洋書でZFの本がたくさんあったのでAmazon.comで2冊ほどぽちってみました。
ZFと違って、CodeIgniterのサイトは、ヘルプやチュートリアルがすごく分かりやすかった。
しかもVideo Tutorialまであったよ。
http://codeigniter.com/user_guide/toc.html トップページにも、
CodeIgniter is right for you if you need clear, thorough documentation.
と書かれていたけど、ほんとにドキュメントしっかりしてるなー、と思った。
>>199 同じ感想の人いてよかった。
いちばんZFのドキュメントでいらついたのが、コードの部分をコピペしようとしたら
行番号まで張り付けられてしまうようになっていること。
洋書?って事は英語がわかるんだろう?
それなら本を買わなくても海外のブログ等から情報を得られそうだけど?
>>204 英語圏のサイトも探しましたけど、良書に匹敵するような
コンテンツはなかったです。
ブログはピンポイント解説どまりが多かったです。
よく使う機能を、体系的に、わかりやすく解説していて、
なおかつ内容が新しい、というのは見つからなかった。
Frameworkは、CodeIgniterだのCakePHPだの好みでいろいろ宗派が
わかれるから、ネットのコンテンツも少なくなるんではないかな、と思います。
Rob Allenのサイトにあるチュートリアルは英語圏では評価が高いみたい。
これは読みました。
http://akrabat.com/zend-framework-tutorial/ 彼は、Zend Framework in Actionという本も書いているんだけど、
amazonの書評はあまりよくなかった。バグがおおいとか。
>>201 「Create A Layout」の具体的にどこが分からんの?
俺は解説を流し読みつつ載ってるコードを書いたら最後までスムーズに実行できたから
いまいち君の言ってることがピンと来ないんだけど
>>198 他人を当てにしないで自分がまずやらないと、ね
昔も IRC で言ったけれど、利用企業からすこしづつ人を出して分担して作業して欲しいな。
>>203 公式マニュアルを改善するリーダーとして活躍してみませんか?(英語必須)
本に載ってる情報は最新バージョンとの差異が多々あるので、あまりオススメ出来ない。
(特にZF1.9以前のバージョンの解説書)
簡潔なリファレンスとソースコードがあるのだから、
それを読めるようになるのが一番手っ取り早い。
英語が理解できるなら尚更コードコメント読む方が早い。
IDE使えばクラスツリーやコード補完までしてくれるゆとり仕様。
(CIやCakeはIDEとの親和性悪すぎる)
MappaerとかAuthとかを詳しく書いてほしいですな〜
CodeIgniter絶賛なら、CodeIgniterの子供になればいいのに。
zendには要らない娘。
212 :
nobodyさん:2011/06/16(木) 19:42:52.98 ID:5IgfNiWj
Zend_Authについてお聞きしたいんですが、以下について解る方いらっしゃいましたらぜひ力を貸してください。
defaultとadminの2つのモジュールがあると仮定して、adminモジュールで通した認証を、defaultモジュールからも参照した いのですが、どのようにすればいいかわかりません。
1. AdminモジュールのIndexController
$db = Zend_Db::factory('Pdo_Mysql', $params);
$authAdapter = new Zend_Auth_Adapter_DbTable($db, 'tablename', 'id', 'pass', 'md5(?)');
$authAdapter->setIdentity('hoge')
->setCredential('hage');
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter); // ここで認証を成功させる
↓続きは「本文が長い」と出て書き込めないので分割して書きます。
213 :
nobodyさん:2011/06/16(木) 19:44:03.04 ID:5IgfNiWj
続きです。
2. AdminモジュールのHogeControllerへアクセス
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
die('OK'); // OKが出力される
} else {
die('NG');
}
3. defaultモジュールのIndexControllerへアクセス
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
die('OK');
} else {
die('NG'); // NGが出力される。ここでOKを出したい
}
Admin - IndexControllerで認証した結果を default - IndexController で活用したいです。
上記のスクリプトで言えば、最後のdefaultモジュールのIndexControllerで"OK"を出力したいのですが、どうすればいいんでしょうか?
>>214 ご指摘いただいた通り、モジュール間でのセッションの共有ができておりませんでした。
フロントコントローラの先頭に以下の1行を追記したところ、admin・default両モジュール間でセッションが共有できるようになりました。
> session_set_cookie_params (0 , '/', 'domain.tld');
ちなみにapplication.iniに
>phpSettings.session.cookie_domain = "domain.tld"
と書いてやってみましたが、こっちはうまくいきませんでした。
application.iniの方でも動作するまでやってみたいと思いますが取り急ぎ、ご報告まで。
本当に助かりました。
ありがとうございました。
※追記※
このケースではサブドメインでモジュールが分かれていました。
このことを先に書いておくべきでしたね。申し訳ありませんでした。
217 :
zfマニア:2011/06/17(金) 00:14:33.17 ID:???
今日鯖落ちしてたの知ってるか
今週末は毎月定例の Zend Framework Bug hunt day です。
今までずっと日本からの参加者がゼロまたは1名だけ、という状態ですが、
Zend Framework について一家言ある方はぜひ参加してみてください。
220 :
nobodyさん:2011/06/21(火) 14:48:19.94 ID:zTIAULI/
日本語の本で、Zend Frameworkを使ってブログを作ろう、風の本はないでしょうか?
>>220 ZF徹底マスターのサンプルに簡易(?)ブログがあったような
バージョン古そうだけど大丈夫か?
225 :
nobodyさん:2011/06/22(水) 23:03:25.40 ID:02VI6IFU
XoopsCube、WordPress等のいくつかのCMSを見てきたのですが、ファイルサイズはZendFramework単体よりも小さいです。
独自のMVC構造を作った方がいいのでしょうが、大変なのでZFを使おうと思います。
その際、ZFの要らないコンポーネントを削除しても動作に影響は無いのでしょうか?
もし出来るなら、これは削除したらダメ、これは削除して使ってるというのがあれば教えていただけませんでしょうか?
別にZFは全てのライブラリをアップロードする必要ないんだよ
所詮ライブラリの集合体だから
MVCに使うならView,Controllerだけでおk
モデルをデータベースで管理するならDbも必要になる
容量が小さいのがいいならCodeIgniterでも使えば良い
俺は両方使い分けている
つか今のご時世にそんなに容量に縛られないといけない案件って大変だな。
前近代的。
レン鯖とかvps前提の儲からない案件なんだろう。よくあることだ。
データセンタに丸ごとさば置いちゃうよって提案すると確実に逃げられるしょぼい案件w
客にしてみればzf使うので数百メガ使います月額数万円ですって言われてもナットく出来ないだろうし。容量喰わずに住む方法無いの?って言われるのがをちw
手元のpcの数百ギガのハードディスク交換で数千円しか掛かってないのになんでそんなにぼったくられるんだって言われて涙目w
月500円の共用サーバですら10GB使えるご時世で
ZFの容量を気にしないといけない案件ってどんなだよ
数百メガ・・・?
>>229 別に実務経験あるふりする必要ないんだから
静かに見てるだけにしときなよ
小さいことはいいことだ
特にWeb系は
例えハードが進化したとしてもコードを出来るだけ小さくしよう、軽くしようと努力するのは当然
アクセスがデカくなればなるほど少しでも小さくしなければ
>>228-230こそ小さな案件しかしていないことが分かる
いや単にスペースを無駄に使いたくないケチなだけの人かもしれない
ZF使うから数百メガって何の冗談だよ
何使ったらZFより遥かに100MB単位で小さくなんの?
日本語
APCの制限だろJK
貧乏案件で食いつないでる香具師が釣れまくりなすれw
240 :
nobodyさん:2011/06/24(金) 01:46:15.51 ID:rVNWaX5H
顧客が気にするのはレスポンスタイムだろう
容量を聞いてくる顧客とか会ったこと無いわ
鯖の要件説明して何の疑問も持たない客しか相手にして来なかったのかw
なぜゼンドで作ってるのかすらり買いしてなさそうだなw
242 :
nobodyさん:2011/06/30(木) 05:04:52.52 ID:AvEAooUw
ちょっと恥ずかしい質問なんですが、zend_dbのfetchRowメソッドの返り値が
意図したデータがあったかどうかどうやって判定してますか?
$rtn = $db->fetchRow($query); だとして、、
自分は今、 if(is_array($rtn)) echo "該当データあり";
って感じにis_arrayで判定しています。
こんなので良いんでしょうか?
fetchAllの時もあわせて教えてもらえると助かります。お願いします
俺はこうしてる
$rows = $this->fetchAll($query);
if(!is_null($rows)) echo "該当データあり";
fetchするのはクエリ実行後だろ?
えっ
246 :
nobodyさん:2011/07/02(土) 06:30:32.96 ID:zLDecbT7
Zend_mail使っています。トランスポートの設定で、
$tr = new Zend_Mail_Transport_Smtp('
[email protected]');とか
$tr = new Zend_Mail_Transport_Sendmail('
[email protected]');って設定がありますが、
上がsmtpサーバを指定してるのはわかりますが、下がわかりません
-fapacheの部分を何に変えても送信できてるんですが、下の引数は何を指定してるんですか?
サイトを構築するときによく使うクラスってViewとControllerとDBは三種の神器だと思いますが
それ以外にあなたが使うものってなんですか?
自分のアプリ用のオブジェクトかな
>>247,248
なるほど。zend以前の知識の問題ですね。すみませんでした
Zend_Exceptionかな
直接は使わないけどね
255 :
nobodyさん:2011/07/03(日) 16:28:15.22 ID:EYOQv7h8
Zend_Filter_Word_UnderscoreToSeparator
Zend_Cloud_QueueService_Adapter_ZendQueue
Zend_Controller
Zend_Db
Zend_Cache
Zend_Log
Zend_Mail
Zend_Http_Client
よく使う順。
CacheとHttp_Clientは再発明するのがアホらしくなるくらい良くできてる。
Zend_Cache使ってる人、キャッシュレコード何に保存してる?memcached?
俺はZend_ConfigとZend_Sessionもよく使うなー
>>257 ちっこい案件ならfile
中規模以上は memchaced, sqlite
どっち使うかは対象の頻度見てチューニング
キャンペーンとかで山ほどアクセスありそうなら
最初からmemcachedとかそんな感じ
>>258 なるほどね〜
申し訳ないんだけど、参考までにmemcachedを使う規模のアクセスって
どの程度か教えてくれないですか
月間何万アクセス以上みたいな基準あるのかな、もちろんサーバの性能もあるだろうけど
150万アクセス
特に基準はなくて
memcachedサーバー立てる案件なら自然にって感じ
月間アクセス数より瞬間の方が気になるかな
イベント用の登録システムなんかだと
トータルでのアクセス数はたいしたことなくても
瞬間が恐ろしいことになったりするし
あとmemcachedは結構死ぬから
ものによってはsqlite -> memcachedって階層でキャッシュしてる
あんまりやりたくないけど
関数のキャッシュするのも楽なので嬉しい
>>261 >基準無し
そうなんですか
階層でキャッシュするというのがよくわかりません
factoryの段階で、sqliteとmemcachedの二通りを用意して、
save();がこけたら代替の方に保存する/引き出し時はその逆の処理ってことですか?
YES
引き出し時はその逆ってどういうこと?
代替から引き出すってこと?
そうなのか… 二通りキャッシュ用意するとその処理自体が重くなりそうだけど、
それでもやった方が良いってくらいの高負荷環境限定の処理ってことですよね
なるほど、いろいろ考えさせられるなぁ
memcachedて死ぬの?
ttserver使ってるで知らんかったわ
2段階で入れるのは念のためよ
もしmemcachedサーバーがこけてたらsqliteから読み込むだけ
生成がやたら重たくてキャッシュの効く処理で
しかも大量のリクエストがありそうな場合
キャッシュとしちゃmemcachedが一番だけど
memcachedは落ちることもあるので
フォローにsqlite使ってるって話
生成 -> sqlite と memcached にぶっこむ ってやって
memcachedでヒットしなかったり読み込み失敗したらsqliteで
sqliteでも駄目なら生成ってだけ
特に重たくないよ
268 :
nobodyさん:2011/07/05(火) 14:24:55.38 ID:7nMaxMXk
>>267 詳しい説明をどうもありがとう
キャッシュというのを考えたことがなく作ってきたんで、今の話凄く興味深いんだけど
関数(とかメソッド、クラス)をキャッシュと、ページ全体をキャッシュの使い分けはどうしたら良いのかな?
たとえばCDの紹介ページを考えると、曲目しか書いてないページならページ全体キャッシュでいいんだと思う。
(曲目なんて変わりようがないから)
でも、「ユーザのレビュー」や「このCDに興味のある人はこちらもおすすめリスト」が同ページに配置してる
構成だとどうしたら良いんでしょうか?
ページ全体をキャッシュするのは諦めて、CDの曲目を引き出す関数と「こちらもおすすめリスト」の関数の
2つをそれぞれ個別のキャッシュ化することになるんですか?
そうして考えると、mixiみたいなSNSや今どきのCMSの構成のサービスでページ全体キャッシュなんてありえるんでしょうか
ページキャッシュはページ単位でリアルタイム性を必要としない
例えばヘルプだとかFAQだとかトピックスだとかそういう用途に使う
と考えると使い所はそう多く無いように見えるけど
更新頻度にズレのある箇所はAjaxで取得すれば
9割がページキャッシュって事も可能
もちろんAjaxで取得するコンテンツの方も
関数だとかアウトプットだとかの断片的なキャッシュを使っておく
実態は断片的なキャッシュを行って組み合わせたのと大差無い計算量だけど
キャッシュ出来ない部分があってもjsonだので軽量なアウトプットで済むし
内容によっては要求そのものをせずに済むかもしれない
(レビューは「レビューを表示」ボタンが押されたら取得、とかで)
とにかく考慮するのは更新頻度と要求頻度で
CDの例で言えばユーザーレビューがどの程度更新されるのか
どの程度要求されるのかに応じて
どうキャッシュすべきかは全然変わってくる
毎秒更新される情報をキャッシュするのは
ミリ秒で要求が来る場合なんだろうけど
多分俺が関われる程度の機械性能じゃほぼ無意味
キャッシュでサーバーコスト削るのは楽しいよね
なるほどなるほど、凄く勉強になりました!
やっぱり今はサービス全体のベストエフォートを実現するにはajaxの機能を織り込んで設計しないと全然ダメですね!
jsやphpの本も言語ごとの「こんなことが出来る」って機能の説明だけじゃなくて
「サーバコスト対策」みたいなテーマを揚げて、言語やソフトを横断した本があれば良いのになぁ
>>269さんは何か参考にした本あるんですか?
と、いま考えたらcontrollerを携帯(ガラケー)と共有する場合ajax依存の設計は難しいですね
でもそういうのを考えるのも面白いですね
その辺の現場のノウハウは、文筆で飯喰ってるライタにはかけないだろうな。運用経験無いし。
いや書籍いっぱいあるんじゃないの?
システムの設計とか運用のだったら
多分そういう本にまだ意識が向いてないから
見つけてないだけじゃないのかな
Amazonで「システム 設計」とかやるだけでぼろぼろ出るし
俺は本苦手なのでほとんどWebです
スマートフォンはまだしも
携帯はせめてコントローラー分けておいた方が良いと思う
必要な最適化はかなり違うし
「サーバインフラを支える技術」とか、あの辺のシリーズに良いのがあるのかなー
でも大抵DBチューニングとかサーバ構成なんですよね
>携帯はせめてコントローラー分けておいた方が良いと思う
これは、そうですね。やっぱりまとめるのは無理がある… ありがとうございました
ずっと買おうか買うまいか悩んでる本だ、買っちまうかな
zendと全然ズレてる話題続けて申し訳ないんだけど、
こないだmixiのアルバム機能のソース見てみたら凄かったわ
ページ全体の遷移なんてしてなくて、フォームの値だけを送信して
見た目の画面遷移はhtmlのなかにdisplay:none;で隠してるテンプレートを
jqueryで読み込んでシーンを切り替えてるのね。
バリデートも全部jqueryとajaxでやってるんじゃないかと…
使えるライブラリやコンポネントの数増やして満足とか問題外。
フロント側/サーバ側なんて区切りないもの、くじけそうになったw
何年前から来た人ですか?
いくらなんでも浦島過ぎると思う
さすがにbigpipeまでいくとやり過ぎだけど
体感速度の向上って必須になってるし
jquery.templateとか楽でいいんだけど
開発の管理的に面倒な部分も多いよね
素のデザイナも素のプログラマも
どんどん役立たずになってきてて
ほとんど兼任できる人間しか残らなくなってきてる
アフィうぜえ
Zend_Service_Amazonの結果をキャッシュしようとして、
↓のように書いたのですが、上手くいきません・・・
$frontendOptions = array(
'cached_entity' => new Zend_Service_Amazon(AMAZON_ACCESS_KEY_ID, 'JP', AMAZON_SECRET_ACCESS_KEY)
);
$backendOptions = array(
'cache_dir' => CACHE_DIR
);
$amazon = Zend_Cache::factory('Class', 'File', $frontendOptions, $backendOptions);
$results = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'PHP'));
2回目以降にアクセスするとエラーがでて止まってしまいます。
この場合、クラスキャッシュは使えないのでしょうか?
エラーの内容を書けよ
あとPHPのバージョンも
まさか5.2以下じゃないよね?
283 :
280:2011/07/06(水) 19:02:32.25 ID:???
>>281 スミマセン;
Warning (2): DOMXPath::query() [function.DOMXPath-query]: Invalid XPath Context [〜/Zend/Service/Amazon/ResultSet.php, line 89]
いろいろvar_dumpしてみたのですが、原因がわかりません・・・
>>282 バージョンは5.2.4です。
オブジェクトを返すメソッドには対応してないんでしょうかね・・・?
itemLookupならちゃんと動いたんですが・・・
>>283 Invalid XPath Context でぐぐってみ。
zend.ze1_compatibility_mode=On にしてるとエラーが出るとかなんとか。
285 :
280:2011/07/06(水) 20:36:24.56 ID:???
>>284 バグレポートみたいなのがヒットしましたが、いまいちわかりませんね;
1回目(キャッシュなし)だと大丈夫なんですが・・・
>>285 2回目以降ってのが謎だね・・・
フロントエンドの automatic_serialization を有効にしても駄目?
287 :
280:2011/07/07(木) 03:21:59.69 ID:???
>>286 Zend_Cache_Frontend_Classのコンストラクタで自動的に
$this->setOption('automatic_serialization', true);
になってるみたいです。
メソッドの返り値がオブジェクトで、
さらにコンストラクタが呼ばれたりしているので、そこらへんがキャッシュしきれてないんでしょうかね?
>>287 挙動とエラー内容から推測すると、
キャッシュは出来てるけどunserializeに失敗してる感じだね・・・
試しに『DOMDocument serializable』でぐぐってみたら、
PHP組み込みのDOMDocumentはserializeableじゃない模様・・・(つA`
Zend_Service_Amazon_ResultSetもserializable実装されていないので、これが原因かも。
PHPで組み込みオブジェクトのシリアライズがサポートされたのは5.3以降だよ。
復帰に失敗してるんだから、2回目でエラーは正しいんじゃないの?
290 :
nobodyさん:2011/07/07(木) 23:44:23.28 ID:Q2g22JEq
Zend_Viewのescape()はどうやらENT_COMPATにてエスケープするようですが
ENT_QUOTESにしたい場合は、単に/View/Abstract.phpの906行め付近の
function escapeのreturn文をENT_QUOTESに書き換えればいいのでしょうか?
>>290 そうかもしれないけどラップした自前のクラス作っておいた方がいいんじゃない?
やっぱりスケルトンとして雛形作ってる?
横からすいません
Windows7 64pit とXamppの環境でZendFrameworkを使ってWebアプリを作っています
modrewriteを使用しています
ビュースクリプト内でアプリケーションのベースURLを得たいと思い、
ビュースクリプト内で
echo $this->baseUrl();と言うふうに
ヴューヘルパーのbaseUrl()メソッドを呼び出したのですが返り値が空です
$baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
この結果も空です
何がおかしいのか検討が付きません
何方か対策か代替案があったら教えてください。
バージョン書くのはそんなにいやか
PHPのバージョンは5.3
ZFのバーションは1.11.7です
$baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl();
これが空なのは、baseUrlがRequestオブジェクトの処理後に生成されるからじゃねえの?
ってかControllerだろうがViewだろうがvar_dump()とかprint_r()に突っ込んでみたら?
ちょっと教えてください。
method="get"のフォームをサブミットしたときのURLはZFがデフォで取得できるパラメーターフォーマットには(当然)ならないんだけど、
method="get"でパラメーターを取得するためには、その都度Regexルーター作らないといけなんでしょうか?
$this->getRequest()->getQuery()で取得できるんだな・・・
しかし、、、
>>297 よくわからんけど、URLクエリの値($_GET)を取得したいなら
>>298の方法が一般的。
Zend_Controller_Request_Http->getParam(); // パラメータ or $_POST or $_GETから取得
Zend_Controller_Request_Http->getQuery(); // $_GETから取得
ルーターのRegexで値を処理するのは
きれいなURLで値を取得をする場合
そもそもデフォルトのルーティングで
ある程度は取れるようになってる
query string の取得は他の人が書いてるように
getQuery(key) や getParam(key)でやるけど
getParam()はパラメーター全てからヒットするものを返すので
見通しも安全性も下がり気味だから避けてる
301 :
nobodyさん:2011/07/13(水) 20:46:47.65 ID:35EarspL
質問させてください
今以下のようにルーティング設定してるんですが、これだとアクションが増える度に設定を増やさなきゃ行けなくなります
効率的に書く方法はないでしょうか
;ユーザのhobby a
routes.user_hobby_a.route = "/user/:userName/hobby/aaa/*"
routes.user_hobby_a.defaults.module = "user"
routes.user_hobby_a.defaults.controller = "hobby"
routes.user_hobby_a.defaults.action = "aaa"
routes.user_hobby_a.reqs.userName = "\w+"
routes.user_hobby_a.type = "Zend_Controller_Router_Route"
;ユーザのhobby b
routes.user_hobby_b.route = "/user/:userName/hobby/bbb/*"
routes.user_hobby_b.defaults.module = "user"
routes.user_hobby_b.defaults.controller = "hobby"
routes.user_hobby_b.defaults.action = "bbb"
routes.user_hobby_b.reqs.userName = "\w+"
routes.user_hobby_b.type = "Zend_Controller_Router_Route"
routes.user_hobby.route = "/user/:userName/hobby/:action/*"
という話ではなくて?
>>302 ありがとうございます、出来ました
こうやって使うものなんですね、お恥ずかしい。ありがとうございました
Zend_Mail::setDefaultTransport( new Zend_Mail_Transport_Smtp( 'smtp.gmail.com', $authConfig ) );
$mail =new Zend_Mail( 'ISO-2022-JP' );
$mail->setFrom( $fromMailAddress, $fromName );
$mail->addTo( $mailaddress, $toName );
$mail->setSubject( $subjest );
$mail->setBodyText( $body );
//送信実行
try {
$mail->send();
catch( Zend_Exception $ze ){
die( '失敗:'.$ze->getMessage() );
}
失敗:5.5.2 Syntax error. e6sm3408137pbm.23
って出るのはなぜ?
Zend_Validate_EmailAddressを作ると
No message template exists for key 'hostnameUnknownTld'
って例外出るんだけど・・・、
'
'hostnameUnknownTld'のメッセージテンプレートが無いよってことなんだろうけど
メッセージテンプレートってエラー時のメッセージだよね?
書いてるんだけとなぁ・・・。
308 :
nobodyさん:2011/07/30(土) 20:31:38.70 ID:TaO97IVQ
CGI版のPHPでapache_request_headers()に当たるようなヘッダの取得って無理なのかな。
自前でmod_rewriteとかにほしいヘッダ分指定するしかない?
まず、自前のメールサーバならうまくいくの?
うまくいかないのに変なトラフィック送りまくるのはやめたほうがいいかと。
あと、addToがなんか変じゃない?それでも大丈夫なのかな
>>311 わざわざくっつけてる < > のことなら
ZendFramework が御丁寧に取り除いてくれるから大丈夫みたいだよ。
314 :
nobodyさん:2011/08/03(水) 21:05:17.49 ID:jbZJg+O3
Pluginを作ろうとしてるんですが、イベントメソッドの
routeShutdown() と dispatchLoopShutdown() と postDispatch()はどう違うんでしょうか?
マニュアルも読んだんですがちょっとピンと来ません
ルーティングからディスパッチ・アプリケーション実行の流れと上記メソッドの解釈は以下であってますか?
ルーティング:利用するモジュール、コントローラ、アクション、変数の解釈と決定をする
→ routeShutdown()はこの処理の終了を捕まえる
ディスパッチ:その決定(ルール)通りに各ファイルを実行して画面出力する(hogeContoller.phpとか)
→ dispatchLoopShutdown()はこの処理の終了を捕まえる
それが終わったら、ディスパッチ終了ってことになる
→ postDispatch()はこの処理の終了を捕まえる
最終的に何がしたいかって言うと、エラーコントローラをエラー発生時のモジュールに属するものを使わせたいんです。
なので、
1)エラーが発生する
2)その時のモジュール($module)を捕まえる
3)そのモジュールを$plugin->setErrorHandlerModule($module);としてエラーハンドラに当てはめる
って処理を実行できるプラグインが必要で、そのプラグインを実行するイベントメソッドは
上記のrouteShutdown() と dispatchLoopShutdown() と postDispatch()のどれが良いのか相談したいです
結論的には、試しにやってみたらpostDispatch()で上手くいってるんですが、
参考にしたオリジナルのプラグインだとrouteShutdown()なんですよね…
http://stackoverflow.com/questions/3013321/set-a-different-errorhandler-depending-on-module-zend-framework
>>312,313
変数 $fromName の中身をローマ字だけに変えてみたらどう?
addTo とかは、パラメータからいくつかの記号(不等号含む)を除去したあと、
ヘッダ生成時に、名前の有り無しに応じて不等号をメールアドレスに付加するけど
記号を除去する際に、マルチバイトを考慮していないので、そこでおかしくなっている可能性はある。
ちなみに Zend Framework のコンポーネントのコードでは mbstring エクステンションはできるだけ使ってはいけないという掟があり、
開発者にマルチバイト圏の人が多数入らない限り覆すのは無理。
半永久的に、名前にはローマ字使用を推奨。
zend_dbでtableをflushするにはどうすればいいですか?
312,313です。
あちゃー・・・・
エラーの原因は送信先メールアドレスが正しく渡されていませんでした・・・・。
お返事いただいた方、おさわがせしました。
はぁ?
何か言うことがあるだろ?
へぇ
ィヒ
すいません自己解決しました
一応どうやったか書いておきます
クエリーかmyphpadminで
>>325のストアド関数を登録して
コードでは
$select->where(" levenshtein_ratio(name, ? ) > 50",$str)
みたいに書いたら動きました
ZFぜんぜん関係ないね
330 :
nobodyさん:2011/08/16(火) 16:20:51.47 ID:jcHZicfg
テスト環境を用意するために
環境に応じた絶対パスのリンクを生成する関数を作らないといけないかな。
デザイナーが対応できなくてトラブルの元になるかも。
Windows7とXamppの環境でZF 1.11を使っています
既存のコードが全てUTF-8で書かれたPC用サイトを携帯に対応させる作業をしています
最終的に出力される文字コードをUTF-8からSjisにするために以下のようなフィルターを書きました
class Zend_View_Filter_ConvertToSjis
{
public function filter($str)
{
return mb_convert_encoding($str, "Shift_JIS", "UTF-8");
}
}
これをコントローラー内で$this->view->addFilter('ConvertToSjis');と描いてフィルターに追加します
ビュースクリプトは以下のように記述しています
<?php echo $this->partial('mobile/header.phtml'); ?>
いんでっくす
<?php echo $this->partial('mobile/footer.phtml'); ?>
この状態で実行すると「いんでっくす」自体はSjisに変換されて出力されますが、header.phtml内は文字化けしたままです。
試しにfilter関数内でecho "ok";と記述してみると3回OKと表示されます。
コントローラー内のthis->view->addFilter('ConvertToSjis');を消して
header.phtml内で$this->addFilter('ConvertToSjis');と記述するとheader.phtml内の内容はきちんとSjisに変換され、「いんでっくす」は文字化けします
つまりpartialする度にフィルターが呼び出される事が問題のようなのですが、
これを防ぐ方法がわかりません。
何方か一回だけフィルターをかける方法か、代替案をご存知でしたら教えて下さい。
よろしくお願いします。
ZFぜんぜん関係ないね
>>331 ZFに限らず、一般的にはベースURLを取得する関数や変数を用意しておくものだよ・・・。
>>332 mb_detect_encodingもかまして、$strがSJIS以外の場合だけ変換するようにしてみな。
ViewよりResponse側でフィルタかます方が賢い気もするが。
Zend_Db_Table_Abstractのupdate()メソッドのSQLを見たいのですがどうすればいいですか?
337 :
nobodyさん:2011/09/07(水) 19:05:51.13 ID:qU8tqwKM
Zend_Testってのに興味があるのですが、これはどんなMVC構造でも機能するのでしょうか?
それともZend_Toolとかで指定のディレクトリ構造になっていないと動作しないものなのでしょうか?
皆さんはテスト環境をどのようにお作りになっていますでしょうか?
ZendFrameworkのCMSを見ると殆どがZend_Applicationを使用しています。
自分で当コンポーネントを調たのですがいまいち活用法、構造が分かりません。
フロントコントローラのindex.phpではなく、Bootstrap->run()により、install.php又はbootstrap.phpに記述された設定内容をメインに全体に適用しているのは分かりました。
オートローダーやルーターなど。
しかし、それ以外の利用する意図が分かりません。
これはどのような意図で使用したり、どんなメリットがあるのでしょうか?
公開ファイルindex.phpのサイズを小さくする利点はありそうですが、オートローダーなどはその時表示されるページ上では必要ないものまで呼ばれ、require_once()を個別に呼ぶよりもオーバーヘッドがありそうな気もするのですが。
>340
Zend_Applicationのメリットについては以下が参考になると思う:
-
http://d.hatena.ne.jp/noopable/20090412/1239484575 Zend_Applicationは あくまでブートストラップとリソースをどういう単位で初期化し処理するかを決定するための平均的な解決方法のためのグルーオブジェクトなので、
これが気に入らなければ(自分のアプリにとって良い方法)、自分で初期化処理を書いてディスパッチさせれば良いだけです。
実際ほとんどのプロジェクトはindex.phpで初期化+Zend_Controller_FrontのMVCによるディスパッチで事足りると思う。
zf.phpの吐き出すスケルトンがZend_Applicationをベースにしているからこれが広まったのかも。
以前(ZF.1.1ぐらいのとき)は自分でイニシャライズの為のプラグインをFrontControllerに登録していたわけだし。
俺は複数アプリを単一ディレクトリで管理したり、設定による規約を構築したり、他社モジュールを簡単に結合したいから、Zend_Applicationを使っているって感じです。
>ZendFrameworkのCMSを見ると殆どがZend_Applicationを使用しています。
>自分で当コンポーネントを調たのですがいまいち活用法、構造が分かりません。
LiveCommerceというECサイトのオープンソースが参考になるかも知れない。
>オートローダーなどはその時表示されるページ上では必要ないものまで呼ばれ、
>require_once()を個別に呼ぶよりもオーバーヘッドがありそうな気もするのですが。
んーっとどうなんでしょうね、
ちゃんと測ったことないけど、あんまり変わんないような気がしないでもない。
Zend_Db_Table_Abstract->select()->from()で内部joinで複数のテーブルからselectしたい場合どうすればいいでしょうか?
from(
array( 'tableA' => 'A', 'tableB' => 'B', 'tableC' => 'C' ),
array( ほにゃらら )
)
とやってもだめでした。
>>342 $table
->select()
->from("table_a")
->joinLeft("table_b", "table_a.id = table_b.id")
->joinLeft("table_c", "table_a.id = table_c.id");
あとjoinしたテーブルのフィールドは必要最低限を
出来るだけ列挙した方が良い。プレフィックスがつかずに
あがってくるから喧騒配列内で同名のフィールドは
ガンガン上書きされる。
喧騒配列 → 連想配列
FETCH MODE変えてPrefix付きで取得とか出来たらええのにね。
ZendToolで作成したプロジェクト、そのままで普通に動きます?
ZF1.11.0でlibraryにZendコンポーネントのシンボリックリンクは張ったのですが、/public/error/errorなど、/public/index/index以外のURIに行くと全部NotFoundになるのですが
勿論moduleやcontrollerとかは全部作成しています
デフォルト以外で何か設定することがあるのでしょうか?
mod_rewriteの設定ができてないんじゃないの
すでに設定済みかもしれないが、デフォだとAPPLICATION_ENVがproductionになるので、htaccessとかで開発モードにしてあげるといいかも
paginatorをちょっと利用してみたのですが、なかなかだと思いました。
これって、2chのような最新50とか前100とかできないですよね?
353 :
352:2011/10/07(金) 14:22:04.64 ID:???
DbSelectを利用しています。2chのような最新50
前次ってこれは自分で作らないと難しいですよね?
354 :
nobodyさん:2011/10/07(金) 20:13:15.45 ID:AMyCTNX/
皆さんの中でSmarty3、ZF1.11系を連携して上手くいっている方いますでしょうか?
特にZend_Applicationの_initView()でなのですが、自分はViewRenderer.phpの警告やら、パスを認識しないやらで
全然ダメなのですが・・・
>>354 Zend_ApplicationとZend_Viewは使わず、
Controller側で必要なタイミングでSmartyを読み込むようにしてるわ。
特に警告も不具合もでてないよ。
356 :
nobodyさん:2011/10/09(日) 03:49:47.95 ID:XVn6S9+Z
横からすいません。
ZFでZend_View使わずにSmarty等のテンプレートエンジンを使うメリットってなんですか?
PHPコードが分からないデザイナ向けと言っても
Smartyの独自タグを理解する方が大変な気がしますがそうでもないんですかね?
以前からsmartyで運用した経験が社内にある場合、
Smartyを使う方がコストが安いかもしれない
誰もsmarty使った事ないのにzfでsmartyとかかなり無駄が多いと思うな
ZF導入時の学習コストを減らすために、Viewは既存のSmartyを採用した。
後々Zend_Viewも検討してみたが、乗り換えるメリットが見つからなかった。
(同等の機能はSmartyで実装できていた)
他社と組む場合にSmartyでやりますの一言で意思疎通出来るのも楽だし、
テンプレートエンジンが切り分けられていれば、
デザイナのレベルを考慮せず別フレームワークを試せるのもステキ。
>>356 >PHPコードが分からないデザイナ向けと言っても
>Smartyの独自タグを理解する方が大変な気がしますがそうでもないんですかね?
PHPコードがかけても、Zend_Viewの知識が無いとテンプレート組めない。
PHPコードがかけてしまう為、人によってコード品質がバラつくし、システム側にも影響がでる。
Smartyはタグの簡略化と、セキュリティのサンドボックス化がメリットかな。
上にも書いたように、フレームワークの構文に依存しないってのもでかい。
359 :
nobodyさん:2011/10/09(日) 19:13:52.38 ID:s8jfJMra
ZendFramework1.11.11とSmarty3.0.9をZFのマニュアル通りに連携させたのですが、
$this->view->foo = 'hoge';
や
$this->view->assign('foo', 'hoge');
等をAction内に記述し、テンプレート内で
{$foo}とすれば'hoge'が出力されます
{foreach $var as $valur}等も使用できます
しかし、{html_radios}等が
'Invalid controller specified (error)'というエラーで
/Controller/Plugin/Broker.php内などで生じるようです
どのようにすればいいのでしょうか?
また、ZFと連携した際にこれらのSmartyメソッドは使用できなくなるのでしょうか?
>>359 それは多分、
・Smartyは正常に動いている
・Smartyの構文にミスがあり、PHPエラーが発生している
・ZendFWがエラーを感知して、ErrorControllerを呼ぼうとしている
・しかしErrorControllerが無い。
という状況だと思う。
エラーハンドラプラグインを切るか、
ErrorControllerを作ってエラー情報をdumpするか、
すればいいよ。
ていうか、キョウビSmartyタグとかちょっとしたPHPサイトくらい
書けないと、少々の腕前くらいのデザイナじゃおよびじゃないだろ。
ZendFrameworkを少し使ってみて思うのですが、/module/controller/actionというURIの構造は分かるのですが、
もう少し階層を深くするという場合にはどのようにすればいいのでしょうか?
例えば/module/controller/action/user/role/adminとかいう風にする場合です
ルータ設定を駆使すればいいのかもしれませんが、ちょっと自分にはどのようにして実装すればいいのか見当がつきません
364 :
nobodyさん:2011/10/14(金) 17:45:34.30 ID:+/AP5o7r
version1.11.10を使っていて、これまで正常に動いていたのに突然エラーがでるようになりました
簡単に言うと、session_start()するとPDOエラーが発生しているようです
エラーの詳細は以下の通りです
PHP Fatal error: Uncaught exception 'PDOException' with message 'You cannot serialize or unserialize PDOStatement
instances' in /usr/lib/php/ZendFramework/library/Zend/Session.php:469\nStack trace:\n#0 [internal function]:
PDOStatement->__wakeup()\n#1 /usr/lib/php/ZendFramework/library/Zend/Session.php(469): session_start()\n#2
/usr/lib/php/ZendFramework/library/Zend/Session/Namespace.php(143): Zend_Session::start(true)\n#3
/var/www/application/plugin/AuthPlugin.class.php(32): Zend_Session_Namespace->__construct('admin_myApp')\n#4
/var/www/html/index.php(20): AuthPlugin->__construct()\n#5 {main}\n thrown in /usr/lib/php/ZendFramework/
library/Zend/Session.php on line 469
何が原因なんでしょうか?
処理の流れとしてindex.php(フロントコントローラ)内でAuthPlugin(認証状況チェックのプラグイン)を定義していて
そのAuthPluginの中で new Zend_Session_Namespace('admin');してあり、そこから
Session.php(469行目)のsession_start()のエラーにつながってるようです
念のためテストとしてindex.phpの中で直接session_start();しても同様のエラーがでました
ググっても有用な記事が見つからなかったのですが、どのように考えたらいいんでしょうか?
ご意見よろしくお願いします
ZFでMVCとか大規模じゃ厳しいな
>>364 You cannot serialize or unserialize PDOStatement
instances
って書いてあるから、
sessionデータの中にPDOStatementが入っちゃっていて、
開始時にそれを復元出来ずにエラーになってるんじゃね?
一度セッションデータを破棄して、まっさらな状態で試してみ。
367 :
nobodyさん:2011/10/15(土) 02:18:06.69 ID:pl58b8lQ
フジテレビデモ
花王デモ
要チェック
>>365 当然だろ。LLなんて結局インタプリタだから規模が大きくなればなるほど
適切に事前読み込み量調整してやんないと遺憾しな。
それに潜在バグ埋もれまくり。
まぁRoRとも一定の距離を置いてるから JavaっぽいMVCって
こんなですよっつー紹介サイトにはちょうどいいな。
そもそもphpが...
質問させてください。
Zend_Application使用下でログを取る際に、エラーを発生させたページも書き残したいと思いました。
そこでBootstrap.phpの_initLog()にてZend_Log_Writer_Dbを使いsetEventItem()の第2引数に$_SERVER['REMOTEADDR']を入れたら、~/public/index.phpしか表示されません。
では$_SERVER['HTTP_REFERER']はとなると勿論そのページを直接開くとNULLでダメです。
$this->bootstrap('FrontController');
$front = $this->getResource('FrontController');
$req = $front->getRequest();
$current = $req->getModuleName().'/'.$req->getControllerName().'/'.$req->getActionName();
としてもダメでした。
DBログに現在のURI、又はカラム別にaction、controller等を入れるにはどのようにすればいいのでしょうか?
$_SERVER['REQUEST_URI']でいいんじゃなイカ
374 :
nobodyさん:2011/10/16(日) 11:26:50.99 ID:TG2KkEB6
Zend_sessionで名前空間($sess_ns)を作って、その後その名前空間中で設定した
複数のセッション($sess_ns->aaa, $sess_ns->bbb, …)をまとめてクリアしたいとき
名前空間ごと削除すればOKなんですよね?
unset($sess_ns); で良いんでしょうか?
_redirectと_forwardの使い分けを教えてください
データベース登録時にentryActionからentry.phtmlから<form action="~/insert">でinsertActionに飛ばして、
そこでデータベース登録処理を行い、リクエスト情報を引き継がせる為に_forward('entry')でPostパラメータを渡しました
ブラウザ上ではentry.phtmlの内容が表示されて良かったと思ったのですが、ブラウザの更新ボタンを押すと同じ内容が重複登録されていました
これではまずいと思ったのですが、具体的には_redirectと_forwardの使い分けはどのようにされていますでしょうか?
特に順次登録していくデータベースの場合はどのようにされていますでしょうか?
>>375 内部的にリダイレクト ・・・ _forward
ブラウザ側でリダイレクト ・・・ _redirect
単純な画面更新による重複対策なら後者を使う。
順次登録の意味がよくわからんが、
複数画面にまたがるフォームって事なら、普通はセッションを使う。
377 :
sage:2011/10/24(月) 20:34:32.99 ID:???
Zend_Aclって皆さん使ってます?
権限とかDBに入れて、if()文で仕分け、有料会員はUPDATE・・・
ってのが普通だと思うのですが、
DB接続のコストがかからない、
1ページ中にユーザによって見せていいコンテンツと見せてはいけないコンテンツがある、
同じく書き込みできるユーザとの区別
とかメリットがあると思うのですが、
Zend_Aclを使った方がいいメリットというのはこれら以外にどんな場合でしょうか?
その仕組みのベースを一から作らなくていい。
DBと連動させて抽象的なAclとしても使える。
Zend_Controller_Actionを継承したクラスに仕組みを追加しておいて
Action単位で制御できるなどなど
上でLiveCommerceの名前が挙がってるけど
他にZFの勉強になりそうなOSSってある?
Aclは使って無いな・・・使えないとは言わないが・・・
そのままじゃ使えないケースが多くて、
無理矢理AuthとAclを組み合わせるなら、
自前で両方実装してしまった方が遙かに使いやすい。
ま、Zend自体「別に使わんでもええしな」の集まりだしな・・・。
つーか、最近のSQL抽象化はだんだん邪魔に感じてきたな。
普通にSQL書いてすんなり通るのに抽象化させてバグったり
s2jdbcみたいなのならまだいいが、結局DBリファクタしたら
そこらじゅうコード書き換えることになるし・・・。
KVSを筆頭にそもそもRDB自体が見直され始めてるからな・・・
個人的にはZend_Dbレベルの抽象化が丁度いいわ。
ZendFWは全機能使おうとすると糞重いので、
使いやすい部分だけ切り出すのがベストやね。
Controller系はもう少し単純軽量なのに置換えたい。
ちょうどいい流れになったので書かせていただきます
自分がZFで使用しているコンポーネントは
Auth、Application、Cache、Config、Controller、Db、Http、Layout、
Mail、Log、Loader、Registry、Session、View(自分はSmarty)
こんなものなのですが、
「このコンポーネントはバグがあったり、処理速度が遅いから使わない方がいい」、
「それ使う位ならこのライブラリのこれを使った方がいい」、
「このコンポーネントはこういう使い方がお勧めなんで使った方がいい」
ってのがありましたらアドバイス頂きたいのですが
Auth ・・・ 出来る事に対して重い。自作でいい。
Application ・・・ 思想はわかるが、これも自分で組む方が早くて軽い気がする。
Cache ・・・ 有用。必須。
Config ・・・ ケースバイケース
Controller ・・・ FrontからDispatchまでの流れが少々重い。
Db ・・・ 高機能PDOという認識。Zend_Db_Table程度の抽象化は丁度良い。
Http ・・・ 高機能だよね。
Layout ・・・ 使わない。
Mail ・・・ 使ってるけど、あまり優位性は無い。
Log ・・・ 汎用性故に少々使いにくい。
Loader ・・・ AutoLoaderだけつかってる。
Registry ・・・ つかわない。独自クラス使ってる。
Session ・・・ 便利だけど、ちょっと重い気もする。
View ・・・ 使わない。俺もSmarty.
Applicationは最初無駄な学習コストだと思ってたけど、結構楽で便利だけどね
殆どのCMSは使ってるし
まぁ、重いかどうかは良く分からない
勝手にAutoloadしてくれるのでいいかなと思ってる
>379
Magento
, TomatoCMS
Zend_Auth重い?
ソースコード見てみたけど特に複雑でもなく、重そうな処理もパッと見なさそうだけど
代わりにどんな実装してるの?
まずログインフォーム時にデータベースに問い合わせて、
セッションやらクッキーにAuth=OKとかしてページ毎に確認するとか?
まぁ、Zend_Authもデフォルトでセッションに格納してるけどね
まぁアプリケーション全体に認証を適用するにはPluginに登録して・・・ってなるのでそこは少し重くはなるだろうけど、
ページ毎に読み込み処理をする時点でそう処理速度が変わるのかな?
388 :
nobodyさん:2011/10/30(日) 05:36:57.17 ID:e2iBYRcU
自分で実装した方が早いのは当たり前
フレームワークの利点はチームで作業する時に学習コストが低くなること
アプリケーション毎にプログラマが独自実装(笑)してたらメンテが大変だろ
ZendFWは単体で使えるもの(Cache,Db,Config,Http,Session)は便利で良いが、
ほとんどのクラスは自前クラスでラップしてやらないと使い勝手が微妙。
前にも言われていたが、フレームワークを作る為のフレームワークって言葉がシックリくる。
バージョンアップ重ねる毎に、メモリ負荷が重くなってきてるのが怖い。
ZFって、コンポーネント増えてきてますけど、これって単純にZend_Aclとか使わないものを
ディレクトリから削除したらまずいんでしょうか?
Viewヘルパーとか結構複雑にからんできているのでエラーになるのかな、と思ったり
でもライブラリを少しでも軽くしたいのですが
あと、自分はFullしかダウンロードしたことないのですが、Minimalとはどう違うのでしょうか?
単純にコメントや空白などが削除されただけとかなのでしょうか?
>>390 試しに小物アプリ想定して、要るものだけパス通してみなよ
いらないモジュール消すのは可能だけど、何が何に依存してるのか洗い出すのは面倒、というか無意味な作業だと感じるかと
Auth, Cache, Config, Date, Db, Filter, Form, Http, Mail, Loader, Session は使うね。
Config 拡張して使ってる
Date 抽象化目的で使ってる。便利な時もあるけどオプションやら使い方覚えるのがめんどくさ
Form 遅いけどまあまあ便利。Config経由で使ってる
妙にややこしいところは嫌だな。
Zend_Form_Element_Fileとかなんなのあれ。
Zend_Fileと分ける必要あるの?
394 :
390:2011/10/31(月) 17:48:31.42 ID:???
Zend_Application使ってると、Zend_Lorder使うことになるんで、あんまコンポーネントを大量に読み込ませたくないなぁと思いまして
アレッ?
そう言えばAutoloaderって先にClassを読み込んでるんですよね?
読み込み時になって読み込むんじゃないですよね?
>>393 単にHTMLってかformタグ内の抽象化。
慣れてくれば案外使える。使えるってかZend教団、
Zend護送船団なWEBシステム作るんなら、struts1の
form beanをPHPで表現したらこんな感じになりました
って感じ。viewとの相性もいいからな。
似通った画面が多いシステムだと、結構威力を発揮する。
ただし、忘れるな。お前が使ってる言語は"PHP"ってことをな。
あ、すまんZend_Form_Element_Fileの話か。忘れて呉。
>>394 Autoloaderは必要な時に読込みをする。先読みはしない。
>>397 じゃぁライブラリに大量にコンポーネントがあってもさほど関係はないという事ですね
最近apacheのempire-dbとか言うのが目に止まって
クラス図みて、ちょっと使ってみっかと思って
サンプルみたらそのソースがZend_Dbそっくりの
抽象化で唖然とした。
やっぱこの手が流行なんかなぁ・・・。俺の理想は
ibatis→mybatis、PHPだとphpdaoあたりなんだけど。
>>399 流行というか、低レベルラッパーとしてのリファレンス的な実装だろうね。
phpdaoは使った事ないけど、Zend_Db_Tableじゃダメなの?
DB設計リファクタで結局entityソース触るなら
抽象化の意味があんのかな?と思う。
それにほとんどの場合、AUTO_INCREMENTとか
シーケンス使ってる弊害でDB変更したら、ソース
触るし。まぁその部分を設計時にちゃんと抽象化
していないからそうなるんだけど。
言ってる事がよくわからないけど、
抽象化するメリットがあるか無いかを設計段階で判断して、
導入するかしないか決めればいいだけでは・・・
INSERT IGNOREをZend_Db_Tableでどうしても使いたいのだけど
何かいい方法はありませんかね?
いい方法と言われても、
どうしても使いたいなら継承クラス作って実装するなりすれば?
君のが分からない気がする・・・。
君の言う判断行為はほとんどの場合、実績の有無、
上流担当者の好み、会社の方針で決まる事象に対してで、
>>401 はこのタイプの実装方法で開発効率とか
保守性に寄与すんのかなと言ってると思うのだが?
406 :
405:2011/11/09(水) 01:10:55.08 ID:???
本人じゃなきゃとんだお節介エスパーやな
>>405 >
>>401 はこのタイプの実装方法で開発効率とか
>保守性に寄与すんのかなと言ってると思うのだが?
その点に関しては、少なくとも俺は恩恵を受けてるから何とも。
ただ全てに必要かと言われればわからない。
ケースバイケースに判断して導入すればよし。
409 :
nobodyさん:2011/11/09(水) 08:21:50.96 ID:yE+sRBhE
非常に恥ずかしい質問なんですが
application/inc/hoge.inc.phpがあって、各コントローラ.phpの中で
require_once "inc/hoge.inc.php"; としてそのファイルを読み込めてたんだけど
php.iniや.htaccessを見たらapplicationディレクトリがinclude_pathに指定されてませんでした
なんで読み込めてたんでしょうか?
zend自体がそういう仕様だったのかな
>>409 PHPが実行されているパスが application/ だったんじゃね?
411 :
nobodyさん:2011/11/09(水) 19:14:24.82 ID:ZgH5UlUG
クッキー非対応の携帯電話からのアクセスについて質問です。
・bootstrapのプラグイン(Zend_Controller_Plugin_Abstract)のdispatchhLoopStartupにて、
useragentでPCと携帯とスマートフォンの3種に区別しています。
・bootstrapのプラグイン(Zend_Controller_Plugin_Abstract)のpreDispatchにて、
権限のチェック(DBにてmoduleとcontrollerとactionからresourceがあるか否か)をしています。
権限がない場合は、ログインフォームへredirectしています。
・bootstrapのプラグイン(Zend_Controller_Plugin_Abstract)のpreDispathcにて、
携帯の場合は、use_trans_id=1にして、URLにセッションIDを付与してます
※それ以外のPCとスマートフォンの場合は、use_trans_id=0で、セッションクッキーを利用。
携帯からのアクセスの場合、フォームはhiddenのセッションID、直リンクはURLにセッションID、
が付与されていて正常動作しているのですが、サイト内でセッションIDの維持ができず、どう対処しようかと悩んでいます。
やりたいことは、
携帯からのアクセスの場合、GETやPOSTのセッションIDからgetParamsでユーザIDやログイン済みか否かを取得
です。
この、取得方法について何か解決方法ありますでしょうか。
もしくは、「そもそも、そんなことしないで、こういうふうに」とかあれば。
みなさん、こんな場合、どうしてますでしょうか?
412 :
nobodyさん:2011/11/10(木) 18:11:51.77 ID:tdE7yVMP
別モジュールから例外をスローしても、何故かDefaultモジュールのエラーコントローラーに行ってしまう・・・
>>411 >サイト内でセッションIDの維持ができず、どう対処しようかと悩んでいます。
どゆこと・・・?
特別な事しなくてもuse_trans_idを有効にすればある程度セッションは機能すると思うが・・・
サーバ名からの絶対パスだったり、Locationヘッダでリダイレクトを行う場合は、明示的にセッションID付ける必要があるけど。
>>412 何故かというかそういう仕様なのでは。
ルーティング後、エラーハンドラプラグインにモジュールを指定するなりしなさい。
414 :
nobodyさん:2011/11/11(金) 13:51:36.97 ID:z1VebOQP
>>413 すいません。。。いけました。
原因は、GETパラメータ無しでredirectしてましたorz
権限の承認(bootstrapプラグインのpreDispatch)のところでGETが剥がれてるのかな?
と思って、プラグイン周りばっかりチェックしてました。。。
>>410 そうではないんですよね
なんでなんだろう、気持ち悪いなぁ
ホント大分住んでてニュー速+みてると毎度毎度なさけなくなるよ
417 :
nobodyさん:2011/11/15(火) 22:22:58.78 ID:h5gc+rfd
夜分にすみません。クエリを投げる際に同名のプレースホルダを
複数回使用する方法を教えて頂きたいです。
具体的には以下のようなコードを書いているのですが、
初回の aaa のみしか変換が行われません。
$sql = "
SELECT id
FROM table
WHERE
aaa = :id
AND
bbb = :id -- <- ここの変換が行われない
";
バインドする際には以下のように記載しております。
$bind = array(
'id' => 1
);
Zendのインスタンス->query($sql, $bind);
>>417 $sql = "
SELECT id
FROM table
WHERE
aaa = :id
AND
bbb = :id2 -- <- ここ
";
$id = 1;
$bind = array(
'id' => $id
, 'id2' => $id
);
419 :
nobodyさん:2011/11/17(木) 01:32:33.49 ID:yVlmWW7j
FWというよりMVCの初歩的な質問な気がするけど。。
同じものを意味しててもviewとmodelで、もち方が違う場合、
例えば
- DBでは 日付型 hogedate カラム
- HTMLではhogedate_year,hogedate_month, hogedate_dayに分割
この場合、view<-->modelの値の変換と
その値が正当かってチェックはどうするのがいい感じでしょ?
viewでやるとすれば、Zend_Formとかでやるんだろし
modelでやるとすれば、Zend_Db_*のどこかに書くんだろうなとは思うけど
どっちでやるのがいいのか、なんかいまいちピンと着ません
特にその日付が"過去の日付はダメ"みたいなロジックを持つ場合
それはmodelの都合だからviewにはもたせるのはおかしい気もして。
それはビジネスロジックでは?
421 :
nobodyさん:2011/11/17(木) 02:11:04.58 ID:yVlmWW7j
>>420 日付とか、値の大小とかはわりと分かり易いのですが
さらに、数字であるべき、とかアルファベットであるべきとか、
そういうのもmodelの都合って考えはおかしいでしょうか??
つまり、値に関係することは全てビジネスロジックだと。。
で、そう考えると
$hoge = new hoge( $form->get() ); //formは本来の形に戻すだけ
$hoge->save() ; //save()はチェックしてしてNGなら例外throw
みたいな感じかなぁとも思ってたのですが
Zend_Formのリファレンス見るとvalidate豊富だし
私の考え方はなんか違うのかなぁと思って。
422 :
421:2011/11/20(日) 02:23:19.81 ID:U4ai7bA9
423 :
nobodyさん:2011/11/22(火) 09:34:49.34 ID:KiX8FVtH
zend_fwのPDFのマニュアルってないのかな
スマホに入れて暇な時見たいんだよね
zendfw関連の本ってやっぱユーザ少ない?からすくないのかな
最近の書籍で調べても最新2009年とか古すぎだろ・・・
リリース前に出版間近までいってるとは素晴らしいな
でもやっぱ日本じゃユーザ少なそうだなぁ。
それなのに案件的には多い。謎・・・
仮に書籍が出るとしてどんな内容がいいのよ?
公式リファレンス読めば一通り理解出来るし、
他のFWと違って、ほぼピュアなPHPコードで疎結合な実装されてるから、
細かい動作を知りたければソースコードを読むのがベストだろう。
ってことは
公式リファレンスを理解できねえ、ソースも読まねえアホ向けの本なら需要あるな
PHPは裾野が広すぎて、とんでもねえアホが使ってたりするからな
>>423 Zendからダウンロード出来るhtmlがオヌヌメ。
あれで暇なとき、開発本線とは違う知識を貯めれた。
>>426 日本はLL案件には金出さない客大杉。
だからどうしてもCakeに流れる→Zend需要なしと勘違いされる。
正直公式リファレンスはわかり辛い箇所が多い
フォームのデコレータなんて全然理解できなかったよ
結局海外のブログ記事で要約使い方理解した
無料のドキュメントに文句言うなら貢献してやれよ、ゆとりくん
>>430 ソースコード読め。
粗結合なFWで、説明の粒度を合わせるとどうしても公式リファレンスレベルになってしまう。
全てを詳細に網羅するのは不可能(それこそ英語本レベルの分厚さになる)
君の求める書籍はZendFramework本じゃなくて、 Zend_Form本になる。
433 :
nobodyさん:2011/11/27(日) 03:11:32.67 ID:vrSamLR+
ソース読めば分かるでしょっていうのは
リファレンスが分かりにくいって言ってるよーなもんじゃ
オレはこういうことできますよって例が出てて
それをちょっと変えたいと思ったときに困ることが多い印象があるかなぁ
434 :
nobodyさん:2011/11/27(日) 03:50:03.06 ID:vrSamLR+
使えないのはバカだとかソース読めってのはどうだろう
楽に・すばやく作るためにFW使うのに
やりたいことやるためにイチイチソース追っかけるっていうのは
FWを使う利点をひとつ消してよーな
趣味や、PHPの勉強のためのリファレンス的なFWって位置づけなら
ソースみてふんふん納得すればそれでもいいかもしれんけど
435 :
nobodyさん:2011/11/27(日) 07:49:42.29 ID:Ksyi1fh0
俺はzend_formは諦めたな
使う大きなメリットってあるの?
個人的にはヘルパーつかえりゃいいかな
フォーム関連は使い方さえ覚えればフォーム関連を全てクラスで管理出来るから管理が楽
Zend_formとzend_decoratorとzend_filterとかzend_validate当たりをきちんと使って
役割をちゃんと分けてクラス設計するとコードがすごいキレイになるよ
フォームの受信だけじゃなくてフォームから送信された情報も同じformオブジェクトで管理できるのがすごいクール
ただ最初の構築が滅茶苦茶面倒なのと勉強大変なのがネック
アプリケーションの管理画面とか頻繁に書いてる人はやる価値あるかも
>>437 ×フォームの受信だけじゃなくて
○フォームの描写だけじゃなくて
こういっちゃなんだけど、ZF理解できないのはまだ実力が足りないんだと思う
別に嫌味とかで言ってるんじゃないよ?
例えばXoopsとかなんてZFなんかよりずっと汚いからね
WordPressに至ってはゴミだと思うw
マニュアルが分かりにくいというのも、まだ実践が足りないんだと思う
ソースコードの例文見れば即座に使い方、何がやりたいのかとか分かるから
ま、我慢して慣れていくしかないと思うね
慣れれば自分のやりたい事、だいたい出来るから
簡単だと思うよ
とりあえずソースコードを読めという奴は論外
P言語,JS,Ruby等のLightweight Languageって事だと思うよ多分
なるほど
出来の良いチュートリアルってのは大事だと思う
DjangoやってからCake使おうとしてチュートリアルで苦労したわ
ZFに限っては勘の良い人なら公式リファレンスで足りるし、チュートリアルが必要なのか微妙だが
zendのTwitterサービスはこんがらがって結局ソース読んだ
実装終わってみると凄え綺麗に書けたからまあいいんだけど
公式だと
twitter->status->update
だけど
statusUpdate
のがどう考えても早いよね
リファレンスで解らない奴はソース読め。の何がいけないんだろう、
ZendFrameworkのリファレンスはサンプル付きで、大体何が出来るかまでは書いてある。
コード補完やクラス継承図を見られないエディタを使ってるような連中には、
コード読むことすら出来ないって事か。
リファレンスの完成度が甘いからソース読まなきゃならん事になるんだろ?
つまりはリファレンスがだめと
もうどうでもいいよ、この議論
昔から何度もあったし、飽きた
リファレンスと、サンプルコードは違うという事を理解してない人多すぎ。
「PHP公式のリファレンスを読んだけど、ブログの作り方がわかりません><情報不足です。」
と言ってるレベル。
こんなところでごねてないで、ZendFWフォーラムにでも意見してくれば?
今度は「英語が読めません><情報不足です><糞FWだわ。」ってなるのが目に見えるが。
日本語での情報の多さが必要ならCakeでいんじゃねーのかなあ。業務で強制されて疲れてる人が混ざってんのかな…
にしても先輩や上司と仲良くやってりゃ聞けば分かる程度の道具だろうに
あとソース読むとかワロス云々はさておいても、ZFのソース自体は単に一読の価値あるよ。
よく整理されてるし、ライブラリとして多用しても綺麗なソース保てるように配慮されてて読みやすい。依存も極力最低限になってるし。
(だからといってフルスタックなフレームワークをディスる意図はありませんので悪しからず
452 :
nobodyさん:2011/11/29(火) 01:41:55.01 ID:CVBQ0R+o
むしろサンプルコードそのまま使ってるから迷わないんじゃない?
オレはデコレータまわりを取り除く方法でさんざん悩んだ
指定の仕方によっては簡単なのかもしれないけど
form->addElement( type, name, opt )のときに
MultiCheckBoxにくっついてくる<br />がどうしてもとれなくて
結局ぐぐって解決したけど
リファレンスで十分っていってる人は
どういう風にたどるのか教えて欲しい
ごめんうちではフォームはスルーしてるわ
serviceのTwitterでなやんだときはlookupなかったぽいのでサブクラス作ってさくっと追加出来たけど、結局ソースはある程度辿ったな…
>>452 Zend_Formを使った事無い俺が、10分弱程コードを読んだ。
あってる?
Zend_Form_Element_MultiCheckBox を見る。何も無い。
継承元の Zend_Form_Element_Multi を辿る separator を何とかすればいいのかな?と推測する。
Zend_Form->addElementを見る、
Zend_Form->createElementして、Zend_Form_Elementのコンストラクタに$opt渡してる。
Zend_Form_Element、のコンストラクタから setOptions を辿る。
$method = 'set' . ucfirst($key); で値を渡してると推測する。
$option["separator"] = ""; を渡せば解決するかも?
cakeはググれば山ほど情報あるんだけど、プログラマが知るべき箇所を隠蔽し過ぎてて、
裏で何やってるか良く解らんのが怖かった。
importの挙動が不明で、ぐぐってみたら「凄い!便利!」と絶賛されてて仲間になれないなと思った。
ciのリファレンスは分かりやすかったな
zfのリファレンスはフレームワーク初心者には訳わからんと思うわ
クイックスタートもZend_Application使ってるんだっけ今は
というような意見をフォーラムに誰か伝えたり、改善作業を主導したりすると良いと思うよ :D
>>454 うん、それでできる。
ちなみにオレが迷走したのを思い出しながら今たどってみたら
Zend_Form_Element_MultiCheckBox を見る。何も無い。
Zend_Form_Element_Radioでも<br>ついてくるので見てみる。
「それを表示するために formRadio ビューヘルパーを使用します。」の記述を見つけて
確かに、<input>そのものじゃないからなぁ、と納得して、view helperへ。
formMultiCheckbox($name, $value, $attribs, $options, $listsep)
「$listsep は、デフォルトでは HTML の改行 ("<br />") です。」
これかぁと思いつつ、こんどはviewHelperを指定する方法を確認するために
addElementへ。。
ってやってるうつにだんだんメンドになってぐぐったw
ソース見たほうが、早そうだね。
結局ソース読んでるお仲間多いのかな
微力ながら、見つけた内容はブログの肥やしで公開してみるは
1年位前かな、この手の話題が出たけど
結局、マニュアルなんて、有志が作ってくれてるんだから、文句なんか言えない
じゃぁお前が作れってことになったような記憶がある
Perlだって分かりにくいし、PEARよりはZFはずっと充実してるじゃないか
PHPのマニュアルは自分が色々見た中ではNO.1だと思うけど、PHPが良すぎて甘えてるのではないかと
JavaScriptなんか公式的な便利なものはそもそも存在しないし
mozillaなんか分かりにくい
>>459のような人が出てきて、皆で作っていく
それがこの世界だと俺は思っている
ちなみに俺はソースコード読んでるよ
自分が目に付いたものは全部
Google日本語情報が多くても、
公式リファレンスが揃ってても、
仕事で導入する場合はある程度内部構造も把握しておかないと不安だし、
ソースコードを紐解くスキルはOSS使うなら必須だと思う。
いろいろな不満があるとは思いますが、下記掲載の
mikaelkael.dyndns.org/checker/language/details/lang/ja
Out of Date の解消を一個でも良いので手伝ってもらえるとうれしいです。
ちなみに Zend_Gdata_Calendar.xml と Zend_Validate-Hostname.xml は今片付けておきました
>>462 ごめん、これ何なの?
存在すら知らなかったんだけど
ドキュメントの翻訳ってこと?
これは、フランスの有志が作ってくれた、ドキュメント比較ツールです。
mikaelkael.dyndns.org/checker
全体の翻訳率を算出してくれたり、英語とほかの各種言語の間のドキュメントの差分を
出してくれたりします。
最新状態にアップデートできていないもの(Out of Date)がまだ22件あります
(24件のうち2件は昨日解消済み)、
例えば、Zend_Db_Select.xml は 去年の3月の英語版の更新(リビジョン番号21584)があまりにも多くて
1年半以上手付かずのまま残してあります。
>>464 んで、これ翻訳した場合、その後どうしたらいいの?
どっかアップするんだろうけど、このページには見当たらないよね?
自分がマニュアル確認した際に未翻訳の部分があったら別にやってもいいけど
ただ、最近あまりPHPやってないんでいつになるかは分からないけど
>>466 Subversion を使っている場合は、下記が日本語ドキュメントのコミット先のリポジトリーになります
framework.zend.com/svn/framework/standard/trunk/documentation/manual/ja/
リポジトリーにコミットする前提条件として、CLA という契約が必要でした。
最近不要になったという話は見かけたものの、実際に手続きがどう変化したか
分からなくて申し訳ない m(__)m のですが
CLAが必要な時代に他の人が書かれた、下記ブログが参考になるかもしれないです
nonn-et-twk.net/twk/zf-cla
http://d.hatena.ne.jp/sasezaki/20100125/p1 >>465 その url は最近1〜2年くらい表示が変になってしまって
(英語とオランダ語だけ表示されるとか)
mikaelkael.dyndns.org/checker に乗り換えてしまったんですが
ありがとう :D
その本俺も前から気になってるんだけどkindle版しかないのか?
調べてみて、いきなり$150と目に入って最初驚いちまった
kindle本体が無くてもkindle for macとかのソフトで読める?
473 :
nobodyさん:2011/12/22(木) 18:17:08.71 ID:GXN13YzZ
Ipadでもおk
>>468 内容的にはどんな事が書かれているの?
Webということは、Webサイト、blog、SNSとかそういうのを構築するって内容?
ログインフォーム、データベース接続、テンプレート、そんなのが書かれているんだろうか?
日本で出版されている本は実践的なものは無く、解説書ばかりだけどねw
>>474 >ログインフォーム、データベース接続、テンプレート、そんなのが書かれているんだろうか?
好奇心で聞くけど、お前が求めてる上の内容の記事ってどんなの?
自分は日本で出版されてる本の解説で十分実践的というか困ってないんだけど
よっぽど深いレベルで理解したいってこと? どんなことを勉強したいんだ?
>>474 amazon.comのリンクあるんだから商品の説明を読もうよ...
>>475 いや、俺はもうそんな本必要ないんだよ
全部出来るから
Zend Frameworkで作られた企業サイト一覧のリンクって公式サイトでみかけた覚えがあるんですが
そのページへのたどり方がわからなくなりました
わかりかた教えてください
フレームワークを覚えたい初心者です。
ZendFrameworkとCodeIgniterで迷っています。
どっちが習得しやすく将来も安心して使い続けられるでしょうか?
また周辺ツール(開発環境とかバージョン管理とかBTSとか)との相性などもあれば教えてください。
>>480 なぜにその二つを選んだの?cakeとかsymfonyは?
>>482 cakeは複合プライマリーキーを扱えないらしいので除外しました。
symfonyは重そうなので除外しました。
>>481 やっぱZendですよね。この板で聞く限りは。
よろしければZendの方が良い理由を教えてください。
>>480,483
すすめられるかどうかは、何をしたいかによるので別にZend Framework に
こだわんない。
必要に応じて一部分だけをほかのフレームワークと組み合わせて使うこともできるし。
周辺ツールを無償の範囲で選ぶなら、特に相性のこだわりもないんじゃない?
俺がzendを使うのはソースが綺麗だから
慣れたから使ってるけどyiiなんかも遊んでみてる
zendは本家製だからっていう謎の安心感があるかも
黒魔術なブラックボックス設計も避けてるようだし
良くも悪くも束縛の少ないフレームワーク
488 :
483:2011/12/30(金) 04:59:58.50 ID:???
>>486、487
レスありがとうございます。
ソース綺麗、本家製の安心感、魔術的ヘタクソコードなし、束縛少ない、など全部
とっても大事だと思います。
でもCodeIgniterもきっと同じかもと思ったり・・・
あ、本家製の安心感というのはアドバンテージですね。
Zendいじってみます。
ありがとうございました。
489 :
nobodyさん:2011/12/31(土) 11:57:19.27 ID:+NRoW/tO
zendfwでサイトを作ると
/module/controller/action/key/val/key/val/...
ていうurlになりますが、SEO的には静的に〜.htmlの形にするのが良いって話です
そうすると一般的には
/module/controller/action.html?key=val&key=val&key=val
って形にならざるを得ない気がしますが、他にやりようあるでしょうか?
みんな.html表示をとるときにはこのURLでよしとしてますか?
>>489 上のURLが下と比べて不利っていう根拠は?
俺は.phpで終わらせたいがためにPHPを始めたなw
7、8年ぐらい前かな?
.htmlでもなく、.cgiでもなく、.phpがカコイイ時代が確かにあったんだよ
CGIに比べて負荷が少ないニダって、まるでプログラミング言語の楽園のように語られてた時代が(遠い目)
その後、拡張子なんていくらでも好きにできるっていう現実を知ったわけだが
おや、誰か来た
Zend 2.0って、すんごい良くなるのでしょうか?
何だそれは?
1.11.11から全然進展していないと言うのに
2.0見てみたがMVC構成変えすぎだろ
ってオモタ
具体的にplz
497 :
nobodyさん:2012/01/11(水) 23:51:37.95 ID:/H48pQvV
そんなに変わってたっけ?
498 :
nobodyさん:2012/01/12(木) 23:03:03.16 ID:QxDXzJq0
2.0って出てるの?
最近ZF触ってなかったから知らなかった
>>495 またある程度は学習し直しって感じ?
namespaceのせいで可読性が悪くなった
ってか、namespaceの区切りが果てしなくキモイ
そうか?。使いやすいやん
499ではないが、使い辛くて使う気になれないわ。あれ・・・
使い方は他の言語とそう変わらんと思うが
なにが使いにくい?」
この流れに乗じて聞くけど、具体的にどこら辺でそのnamespaceが使われてるの?
最近ZF触ってないから分からないんだけど、コンポーネント名とか、ソースコードの場所なんか教えてくれない?
namespaceの区切りがキモいという頭なら、
他言語で名前空間とかで使われてる「.」を文字列結合で
使ってる時点で普通気持ち悪く思うだろ。
なんで今更そんなこといってんだ?
文字列リテラルのエスケープ文字という印象が強すぎて気持ち悪いんだろう
心象はともかく new ReflectionClass("A\\B\\C\\D") なんて書く必要が出たときにイライラするわ
つまらんことにイライラする人って基本的に人に嫌われてるよね。
あとハゲが多い
>>505 明らかにこの職向いてないから直ちに転職するべき
配列にしてimplodeしろよ。もう。
ところで 1.x 用の SVN リポジトリー
framework.zend.com/svn/framework/standard/trunk/documentation/manual/ja
の変更分を 2.x 用の git リポジトリー
github.com/zendframework/zf2/tree/master/documentation/manual/ja
に反映する作業誰かお願い
1.x と 2.x の分岐は 2010 年 11月頃からなので、おおよそ14ヶ月分
>>513 なにこれ?
PHPから.netのメソッドなんかを使えるってこと?
515 :
nobodyさん:2012/01/23(月) 17:43:40.22 ID:TOb03V5O
Zend studio 9.0の体験版をダウンロードしたのですが、誰か、日本語化の方法を教えていただけませんか。
いろいろとググったのですが最新のがなくて・・・お願いします。
Zend studioってたしかeclipseベースになったんだろ。
eclipse 日本語化あたりでぐぐれ。
というかすれ違いだ。
自治厨うぜ
最新版のPHPに合わせて導入してみたが
ソース綺麗すぎて惚れた
OOPなPHPのframework少ないからな
けど結局パフォーマンスはjavaなんだよなぁ
PHPのIDEを探している初心者なのですが
Zend Studioの年間ライセンスって更新しないと起動しなくなるんでしょうか?
それともサポートが受けられなくなるだけで使用は継続できるのでしょうか?
あとエンバカデロのRadPHP XE2とZend Studioを比較した場合どちらがおすすめでしょうか?
IDEならnetbeansにしとけ。無料だ。
Zend の有償製品に関するお問合せは zend.co.jp か、zend.com にしてちょ ;-)
このframework遅すぎて使い物にならん
使い物にならないほど遅いってのはプログラムが悪いんじゃないか
>>524 公式にあるQuickstartで、indexを表示するのに掛かる処理時間が0.1425〜0.1785位
遅すぎだろ
>>525 一発目のリクエストならそれくらいかもね。
次のリクエストではキャッシュからレスポンスするのが一般的なやり方かと。
abコマンドの出力結果を張ってくれたらもっと
なにか言えるかもしれん。
あとapc、eAcceleratorなどの言語レベルでのコードキャッシュの
併用も必須。
まあphpだし動作速度は限界あるし
Zendframeworkの一番の利点はコードの管理がラクなこと
ソース自体すごく綺麗だし勉強の価値がある
Cakephpとか長く使ってもcakephpプログラマが出来るだけだけど
zendだときちんとoopできるプログラマになれる
ZendframeworkってGdataとかバーコードとかLdapとかあるのに
SocketやらTLSやらの基本的な部分のライブラリは無いんだな
ごめんTLSはRSAの書き間違い
相談でも雑談でもなく質問だろそれは
てへ
Zend_Frameworkの造りがこういう風に使うのが正解、というよりも
こういう風に利用できるって感じなので
自分はこういう風にしてるって話を聞きたいなあってことで
てへ///
てへ
きもい
もし小学5年性の女の子だったらと思うと
てへが超かわいい
>>532 動的に入力欄が増えるっていうのはAJAX使うってことですか?
それとも同じようなフォームを表示するページがあるってことですか?
俺は後者の場合zend_formを継承して共通部分を書いたクラスを元に継承した個別クラスを作ってそれをページごとに呼んで使ってます
>>539 AJAXじゃなくても動的に増やすことはあるかと
>>540 JavaScript知らない人なら動的なページ生成やフォームの追加等を
AJAXと呼んでしまうのはありえる
>>539 他のかたがおっしゃってるとおり
AjaxというよりもJavaScriptでHTMLを書き換えるかんじです。
>>532のようなやりかただと固定でしかできないので
とりあえずPOST値を元に作るようにしてますが
なんかコレは違うような気がするなぁって思ってて
>>542 やりたいことが全く見えない
例えばselectの要素で地域名が指定された時に次の県名のselect項目が出てくる(もしくは項目の内容が変化する)
とかそういう感じ?
問い合わせの種類に応じた入力フォームが出てくるとか
アンケートの回答内容に応じて質問自体も変化するとかかな
mixiのコミュのコメント欄が
いつのまにか動的に増える(?)ようになってる・・・
ついでに、というか。
formの構成(定義)を一括管理したかったので
Ajaxでサーバにアクセス→HTMLで返ってくるものをゴニョゴニョ。。としてたのですが
テンプレートって形を使えばサーバにアクセスする必要もないっていうのが
勉強になりました。
>546, 547
素人さん あんまり背伸びしなくていいのだよ。
自分の知っている言葉で丁寧にすればいいのよ。
ごにょごにょとか使う奴は大抵の場合ごにょごにょだよね
Zend2の正式版っていつ頃ですかね
5月くらい?
Zend_Db_Adapterって各アダプタ間でresult値の整合とれてないのね・・・
intのカラムの値とった時にmysqliはint型で返して
pdoはstringだったのにはびっくりしたわ
PC用と携帯用のページで、MVCのうち、コントローラーとモデムは一緒で、
VIEWだけ変えたいって場合はどうすれば良いの?
今、MVCを丸ごとコピペしてVだけ書き換えるってやってるんだけど、なんか効率悪い気がするんです・・。
俺はブートストラップでモバイル判定
→viewフォルダのパス切り替えって方法でやってます
ZE2出たらまたこのスレにおせわになろうとおもいあmす
ZF2、namespaceのせいで可読性落ちててイライラする・・・
バッククオートって押しづらいしイライラするよね
1キーだけで押せると思うが
バックスラッシュだったすまん
なんかbackspace押さないようにちょっと気を使わなきゃいけない場所にあるし面倒じゃん
shiftの横にもあるじゃん
そっちは : に指が引っかかるからきらい
そんなこと言ってたら何もキー打てなくね?
Shift+0で入力するようにしてみたら
このキーには何も割り当てられてないからいいよ
おお、試してみます。わざわざすいません
がっつりZFで構築してあるシステムからZF2への移行ってすんなりいくかな?
Zend_ControllerからZend\Mvcへは丸々作り直し?
Zend framework2ってdojo1.7対応進んでるんですかね
ってかzend_Dojo使ってる人いる?
zf2 / modules / ZendFramework1Mvc
ってなに?ZF2への移行用?
zend_Dojoより、zend_jqueryの使い方が詳しく知りたい・・。
>>558 なんですが、結局英語配列のキーボード買いました
ZendFramework2ってどうなの?良さげ?
ZFで満足しちゃってるから2を試そうという気も起きないんだよなぁ。。
576 :
575:2012/04/10(火) 15:54:36.26 ID:ezswWXVp
age
実装方法多すぎてピンポイントな回答はこないとおもうよ。
Routerあたりでどうぞ。
578 :
575:2012/04/11(水) 20:48:00.17 ID:THP7PuUl
>>577 変数一個の値を変えたら実現可能とかじゃないのですね。
一先ずやってみます。
回答ありがとうございました。
>>573 Zend_ApplicationとZend_Controllerに分かれてたのが
Zend\Mvcできれいにまとまったのは良さげな感じかも。
あとZend\Di
Mvc周りの肝心のパフォーマンスはどうなの?
実測はしてないけど、コード見る限り軽くなったとは思えないんだがw
xcacheとかapc使ってたら遅いマシンでもパフォーマンスなんてぜんぜん気にならないけどな
安いレンサバ使ってるならphpがcgi版だろうから、この際とっととVPSに乗り換えなよ
>>581 memcachedとかsquidとかvarnishとかも使ってる?
使ってるならそれ専用のサーバ用意してる?
きもい。寒気がした
>>581 パフォーマンスが気にならない。
じゃなくて気にする程の事をしていない or パフォーマンス計測をしていない。の間違いだろ。
おすすめは、さくらVPSか何かですか?w
あいにくさ、どんぐりの長さを必死で測る趣味なんかないのよバガジャネーノ
せめてさ、エンドユーザーがどんだけ便利/不便なのかって話ししたら?
てかもともと2.xで速度がどうかって話じゃない
煽るにしても方向がおかしくね?
>>584 なんか煽ってるけど、どうせお前が契約してるんじゃなくて
会社のサーバなんだろ。
秒間アクセス数やレスポンスタイムの要件が定まった案件を作った事無いのかね・・・
>>585 エンドユーザって、開発者の事?利用者の事?
>>587 会社(客)のサーバだからこそパフォーマンス測定は必須なんだよ。
個人開発ならVPSでも何でもいいよ。
>>588 そのたいそうな案件で、遅い原因がZFWだったとでも言いたいの?
バカだろおまえ
phpのキャッシュモジュール使えば、アプリケーション全体がすっぽり共有メモリに収まるんだぞ?
ボトルネックはほんとにphpが使ったCPUリソースだったのか?
>>589 何で飛躍するかね・・・ZFは遅い原因じゃなくて、一因な。
スクリプトはAPCで全てオンメモリにしてあるよ。
実行時CPUとメモリリソースをXHProfやxdebugとかで調べた事ある?
ZendのFrontControllerは無視出来ないリソース食いだよ。
公式もZend2ではパフォーマンス改善と柔軟性の両立を目標にかかげてるのに、
何をそんな必死になって反発してるん?
591 :
nobodyさん:2012/04/22(日) 08:42:14.74 ID:0PEHrYtA
最初から全然飛躍してねえし
無能なエンジニアほど小さなとこにこだわるんだよ、これだけはガチ
zfは遅い遅いなんて言ってたら一般人が勘違いするだろ
お前の噛み付き方が間違ってただけ。もっと広い視野を持て
ZFが他と比較して重いのはガチ。
まともなベンチも取らないで、吼えるだけの奴は無能なのもガチ。
広いだけじゃなくて深い視野も持て
じゃそのまともなベンチの結果を見せて?
まともなベンチの例がHello Worldベンチ(笑)
>>595 そう言うと思ったよw 無能をさらけ出しちゃったね。
「ミニマムオーバーヘッドを図るテスト」って書いてあるだろ。
1リクエストで全部処理するような旧式WEBサイトなら気にする必要も無いだろうが、
Ajaxを駆使するような非同期WEBサイトにおいては重要なファクターだよ。
597 :
nobodyさん:2012/04/22(日) 20:38:13.51 ID:+BuemSiZ
いやだからさ、他のフレームワークと比較して遅くても大した問題無いだろ?
意味が無いとは言わんけど、種類の違うどんぐり比べてるだけだぞ
運用上に支障があるのかないのかで考えろ
無能どもww
ばかばっかり
599 :
nobodyさん:2012/04/22(日) 21:39:59.20 ID:0PEHrYtA
>>598 あんたの見積もりが甘くてさ、もしAjaxで問題になるんだったらさ、
そこだけapacheのモジュール書けばいいよ
まあ無能さんにはできんと思うけど
600 :
nobodyさん:2012/04/22(日) 22:17:20.11 ID:+BuemSiZ
なら全部apacheモジュールで作れって話だわな
phpの下でどんぐりの背比べしてるのは確かに無意味なような
>>598は全体が見えてないのでは
Ajax用のスクリプトにZF使うなよwww
いや全然使ってますが何か
アクションでjsonヘルパー使うだけ
Ajax使ったことないだろwお前
そもそもそんなミニマムオーバーヘッド(笑)が気になるような
超人気サイトでZF使ってるところ参考までに知りたい。
※閑古鳥サイトでAjaxが問題になるようなのは問題外だからどうでもいい
ていうか海外含めてZFで構築されたメジャーなサイト一覧が普通に知りたい。
逆だろ。
それなりのサイト作ってる人は、事前にパフォーマンステストをする。
結果、ZFはパフォーマンスが伸びない(多重アクセスに向いてない)ので導入がし辛かった。
ZF2ではいくらか改善される。
だから「ZF1と比べて軽くなったの?」って話なのに、
何でApacheモジュールだとか、他のフレームワークと比較しても意味無いとかいう議論になってるの?あほなの?
>それなりのサイト作ってる人は、事前にパフォーマンステストをする。
ってことは、既存サイトのフレームワークリプレースとしてのZF導入ってことなの?
自分は新規サイト立ち上げでのZF導入をイメージしてたんだが。
>>605 新規もリプレースも両方かな。ZF1.5が出たあたりから8割方の案件でZFを使ってる信者だ。
最近はクラウドやVPSの流行にあわせて、サーバリソースが数値化されて表に出回っているので、
後から想定外のアクセスでサーバが落ちましたと言い訳出来ない。
ちょっと前までは、どこの会社もサーバリソース余らせてたのにね。
それなりのサイトだのたいそうな案件だの無能だの
余計なひとことを付け加えてるのは
PHP使い=無能を気にしてるのかね
そこまで卑屈に捉えられると正直引くわ・・・どんだけコンプレックス持ってるんだよw
職人言語で薄給にヒーヒー言ってる人を尻目に、
ぬるいPHPで美味しいご飯が食えるなら俺は無能でいい。
>>604 あなたがパフォーマンスパフォーマンステストテスト言うからからかわれたんでそ
APC使ってれば普通の人は問題ありませんよー 皆さん!
でZF2はどの辺が改善されたのかね?
なんかnamespace対応とMVC周りのリファクタリングくらいで
ユーザが普通に使うぶんにはあんま変わりない感じ?
もうちょっとリリース遅らせてもいいから、いっそのこと
PHP5.4必須でtrait使いまくったフレームワークにしてくれたらすごい便利そうなんだが。
>>609 お前は本当に悲しくなるくらい無能だな・・・
批判はするけど、何一つソースの無い情報で大丈夫大丈夫言ってるだけじゃねーかw
普通の人って何?w
>>610 同意。EventDispatcherあたりはtraitと相性良さそうだよね。
コードリファクタリングにあわせて、Zend_Mailとかの日本語不具合が再発しないかだけが心配。
てへ(・ω<)
>>611 横で見てて思うけど、なんであんなのまともに相手するんだ?
まー、相手してるおかげでなるほどなって話聞けて面白かったけど
614 :
nobodyさん:2012/04/23(月) 19:19:55.17 ID:R0erZrFZ
自演ワロタ
重いか重くないは相対的な評価になるだろから意見が割れるだろうけど、
自分の書いてるコードが
自分の使っているサーバで
どれだけのパフォーマンスが出せるのか
くらいは把握しておきたいね。
616 :
nobodyさん:2012/04/24(火) 03:21:56.76 ID:zNpLrIXR
ZFが遅いのは事実なのに
何を必死になってるんだ?
まあたしかに、もうちょっとパフォーマンス気を使ってもらいたいなってとこはあるかもね。
PluginResourceとかインスタンスの遅延生成オプションくらいあってもいいのにないし、
Module別Bootstrap使っても無関係なResource全部生成しちゃうし。
結局気になるところは自前で改造することになるけど、そういうものなのかも。
618 :
nobodyさん:2012/04/24(火) 18:30:44.23 ID:AEM6ULIV
質問しても良いですか、paginatorについてなんですが
マニュアルのページングリンク生成の解説が理解できません
http://framework.zend.com/manual/ja/zend.paginator.usage.html <?php if ($this->pageCount): ?>
<div class="paginationControl">
<!-- 前のページへのリンク -->
<?php if (isset($this->previous)): ?>
<a href="<?php echo $this->url(array('page' => $this->previous)); ?>">
< Previous
</a> |
<?php else: ?>
<span class="disabled">< Previous</span> |
<?php endif; ?>
ここにある $this->previousは前のページの番号を示すプロパティだとして、
$this->url(array('page' => $this->previous)); というのは何ですか?
メソッドを実行してるのかと思ってPaginator関連のファイルを見ても見つかりません
どこで定義されてるものですか?
619 :
618:2012/04/24(火) 18:31:05.88 ID:???
書き忘れました、バージョンは1.11です
Zend_View_Helper_Urlじゃないかな?
便乗するけどZend_View_Helper_Urlがいまいちよくわからない。
Zend_Controller_Router_Route以外のRouter使ってると機能しない?
>>621 Routerが assemble() メソッを正しくド実装してれば機能する。
>>618 一番下の、プロパティの一覧が参考になるかも
>>621 RegexルートだけはURLをsprintf風に定義しなきゃだよ
気のせいか親切な人増えたなw
625 :
618:2012/04/25(水) 00:36:12.44 ID:???
みなさんどうもありがとうございました
アドバイスを参考に、以下のようにしてどうにか実現できました
●コントローラのアクション
//ページングリンク処理
Zend_Paginator::setDefaultScrollingStyle('Sliding');
require_once 'Zend/View/Helper/PaginationControl.php';
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pathto/pagerlink.tpl');
//リンクURL出力用
require_once 'Zend/View/Helper/Url.php';
$helperUrl = new Zend_View_Helper_Url();
$this->view->helperUrl = $helperUrl;
$this->view->pages = $paginator->getPages();
●テンプレート(pagerlink.tpl)
{foreach $pages->pagesInRange as $page}
{if $page != $pages->current}
<a href="{$helperUrl->url(['page' => $page])}">{$page}</a> |
{else}{$page} |{/if}
{/foreach}
これで良いんでしょうか
良いとしたら、マニュアルのページには『require_once 'Zend/View/Helper/Url.php';』や
それ関連の記述なんて書いてなかったんですがそれはなぜなのか気になってます
というのは、不親切というか、
>>620さんがすぐにわかったのがスゴいなと思ったんですが
その程度わかるだろうという前提で書いてるマニュアルってことですか?
>>625 マニュアルの原文を書いた人に聞いてみるといいと思うよ
詳しくは
>>1 のバグ報告にて。
>>624 なるほど・・・
Route_Regex多用してるけど全然設定してなかったよ。。
ありがとう
まあ親切ついでにapplication.iniに書くならこんな感じ
リファレンスにはreverseってのは見当たらなかったような
routes.categ.type = "Zend_Controller_Router_Route_Regex"
routes.categ.route = "category/(.+)/(\d+)"
routes.categ.reverse = "category/%s/%d"
routes.categ.defaults.controller = "news"
routes.categ.defaults.action = "category"
routes.categ.map.1 = title
routes.categ.map.2 = pagenum
>>625 なぜかと言われてもなあ。QuickStartみたいなのをいじくってZF始めた人は
最初からそういうもんだと思ってたんじゃないかな。
それからオートローターやプラグインローダーがあるのでrequireは書かないほうが
普通だと思う。
オートローター スイッチON!
ヴイーーン ((( )))〜〜
オートなのに手動でONするのか
そりゃもうすごい仕掛けが自動的に
>>632 うん知ってた
自分で測ったわけじゃないからなー 発言しづらいのよw
ところでrequireやincludeが__autoloadより遅いってのが最初えって戸惑うよね
そのくせzfのプラグインローダーはrequireより遅いから先にincludeさせるという・・
しかしまあ困ってないなら、APC入れて、include_pathをまとめて一箇所にすればそれで十分満足な気がする
もはや気持ちの問題かも。実際あがいてもそんなに体感変わるもんじゃないよ
ごめんちょっと誤解招きそうな表現だった
誤:そのくせzfのプラグインローダーはrequireより遅いから先にincludeさせるという・・
正:そのくせzfのプラグインローダーは遅すぎるから真っ先にincludeさせるという・・
まぁ要は設計上のミスとまではいかないけど、改善点が多々あるわけだ。
それがZF2でどうなるか、今から楽しみだな!
盛り上げようぜ。
ZF2っていつごろリリースなの?
GW内なら、GW中に家でゆっくり学習できるので、いいんだけど。
βは出てるから興味あるなら今のうちに勉強だな
PHP使いの俺が勘でZend使ってるけど、そろそろ
参考書買って細かい仕様を勉強しようかなと思っています。
4千円程度でお勧めの本を教えてください。
リファレンスレベルのものはネットで調べられますので
なるべく概念的なものが解説された本が良いです。
概念的かどうかの前に、和書は3年前で止まってるからなあ...
公式も微妙だしな
つまりオワコン
英語できないなら素直にcakeでも使ってろ
はいはい。分かったから、ご自分のフレームワークのスレにお帰りなさいね。
644 :
nobodyさん:2012/05/17(木) 10:23:54.22 ID:eFA0kuea
Zend validateの派生クラスを作ってるんですが、validateクラス内から、フォームオブジェクトのインスタンスにアクセスする方法はありますか?
具体的には、2つ入力して貰ったメールアドレスの確認チェックを作ってます。
フォームオブジェクトのインスタンスを派生クラスに渡しておけばいいんじゃないかな
ZFどうなってるの?
半年ぶりにPHPしてみたんだけど、ZF1.11.10からアップグレードしようと思ったら、1.11.11って・・・
何にも進んでないじゃん
以前は頻繁にバージョンアップしてたのに
もう完成形に近づいたんだろうか?
648 :
nobodyさん:2012/05/17(木) 21:48:33.03 ID:maB3j5Qu
>>647 どうもこうもZF2.0を作ってる最中で、1.x系はメンテナンスモードって事。
>>648 なるほど
わざわざ2にするという事は、結構仕組みとか、書き方とか変わってるんだろうか・・・
650 :
nobodyさん:2012/05/18(金) 01:19:32.50 ID:M/G01Ee5
>>646 おー!マニュアルを見たんですが、そこは見落としてました!
ありがとうございます!
>>650 なんてこった
別物ってことはMVC構造の記述方法なんかまた最初から勉強しなおしになるんですかね?
public/index.phpをざっと見た感じは以前の書き方では見覚えが無い感じなんだけど
moduleの方は良く分からない
653 :
nobodyさん:2012/05/19(土) 01:32:05.55 ID:Lfkk/tlg
上でnetbeansとかいうIDEのこと書かれてるけど、皆IDE何使ってるの?
俺はEclipsePDTだったんだけど
ZFのディレクトリ読み込ませて、関数呼び出しのときなんかそれで対応させてたけど、もっと楽で便利なものあるの?
PDT3でほとんど困らないが、上位のZendStudio9使ってる。
ちなみに日本語版はver8 のままなので注意。念のため。
657 :
nobodyさん:2012/06/13(水) 17:36:44.30 ID:5hSnV+8S
php勉強し始めて2ヶ月目なんですが
zendフレームワークを使ってる人はzendserverインストールしてます?
zendserverなんて2ヶ月やってて初めて知ったんですが・・・
使う必要はほぼ無い
659 :
nobodyさん:2012/06/13(水) 19:42:16.67 ID:5hSnV+8S
そうなんですか。よかった^^;
ちなみにzendserverってどういうものなんですか?
661 :
nobodyさん:2012/06/13(水) 20:03:42.89 ID:5hSnV+8S
>>660 ありがとうございました
読んでみると使っておいたほうが得すること多そうですね
一般的に開発者の方々は使ってる人多いんでしょうか?
っていうか何度も質問してすいません
PHPconf が9月にあるそうだから、
その会場で質問して挙手で答えてもらったらどうだろう?
>>661 使ってる人聞いた事無いなぁ・・・
APC+xdebug等で十分なのと、値段がネックか。
664 :
nobodyさん:2012/06/16(土) 10:58:17.38 ID:4YWRwkpK
zendフレームワークのbinフォルダの中にあるzf.batをコマンドプロンプトから実行しようとすると
「コンピュータにoci.dllがありません
プログラムを再インストールして下さい」と言われました
プログラムというのは何を指しているのかよくわかりませんが一応
phpの再インストールはやってみたんですが
結果は同じでした。
何が原因なんでしょうか?
665 :
nobodyさん:2012/06/16(土) 17:07:56.66 ID:BnIg8iQS
666 :
nobodyさん:2012/06/16(土) 17:51:00.15 ID:4YWRwkpK
>>665 解決しました
どうも有難う御座いました
667 :
nobodyさん:2012/06/20(水) 08:17:10.09 ID:wjrbUJba
zend_cacheについて質問です(zendFW 1.11です)
今のところ、memcachedやapcなどの高速なバックエンドはタグをサポートしてないですよね
なので、タグ指定での削除が出来ないわけですが、load()とclear()の処理はどうしたら良いんでしょうか?
自分は保険のために、高速なキャッシュ方法(memcached)、低速なキャッシュ方法(file)の2つに
データを保存/引き出しさせてるんですが、
memcachedでタグ削除が出来ないとなると、引き出しの順序が
if(!$data=$cache_file->load($id))$data=$cache_memcached->load($id);
とならざるを得ず、普通だったら処理の早い方を優先すべき処理ができません
(memcachedからはタグ指定削除対象のはずのデータを引き出してしまうので)
$cache_memcachedと$cache_fileの両方に同時にclear()させるメソッドを以下のようにして
function clear($clearTag, $id){
$cache_memcached->remove($id);
$cache_memcached->clear(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, $clearTag);
}
ロードについては以下のようにするしかないんでしょうか?
if(!$data=$cache_memcached->load($id))$data=$cache_file->load($id));
というか、そもそもタグ指定で処理するのをあきらめた方が良いんでしょうか
皆さんどうしているのか、ご意見聞きたいです
よろしくお願いします
668 :
667:2012/06/20(水) 08:18:33.16 ID:wjrbUJba
間違えました、
$cache_memcached->clear(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, $clearTag);
は
$cache_file->clear(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, $clearTag);
です
669 :
nobodyさん:2012/06/20(水) 23:33:58.62 ID:lGI4Bv60
cronとかバックグラウンド処理でexpireするならバックエンドのトップディレクトリとかそういう
キャッシュ領域のid的なパラメータを利用して消せばいい
clear()で消すときは、キャッシュをロードした後にタグ的なプロパティと期限切れをチェックすればいいのでは
というかclear()なんて使ったことないよ。実行時にexpireするなんて考えたこともなかった
670 :
667:2012/06/21(木) 06:20:15.04 ID:???
>>669 レスどうもです
>clear()なんて使ったことないよ。実行時にexpireするなんて考えたこともなかった
そうですか。少なくともselectクエリ結果はupdate処理後必ずcleanしなきゃ行けないと思ってました
cronでざっくり定期的に全消去/グループ単位で消去する選択肢とあわせて考えてみようと思います
ありがとうございました
671 :
669:2012/06/21(木) 10:56:11.71 ID:???
ああそういう事だったのか、ずいぶん勘違いしてた。
しかもゴミ掃除の意味でexpireなんて書いてるし。あとclearじゃなくてcleanね。アホな俺
メタデータをキャッシュさせるとかかな
$cacheMem->save(クエリ結果, key1);
$a = $cacheMem->load(tagA);
$a[] = key1;
$cacheMem->save($a, tagA);
反応ないけど大丈夫かな。えっとupdateした後はこうすんだよ
$a = $cacheMem->load(tagA);
foreach ($a as $key) $cacheMem->remove($key);
clearでもcleanでもなくremoveですん
コードは概念を示したものなので細かいとこは(ry
ZF学習しようと思ったら、クイックスタートのページが日本語じゃないので、さっぱりわからん。
初心者向けの日本語のチュートリアルがあったら教えてください。
673じゃないけれど、せめて現行の1.11で通用するものは知りたいです。
大抵は書かれたのが古くて果たしてそれでいいのか解らないです。
いろいろな解説サイトは、過去からの読者を想定しているでverXXの新機能とか
新流儀とか途中から読んでもついていけなかったりする。
Zend_Applicationなんかさっぱりわからない・・・。
現行のドキュメントでもなんとかなったぞ。時間かかったけどw
codezineは連載止まったしなあ
駄目元でドットインストールにリクエストしてみたら?
zf2はいつリリースされるんでしょうね。
9月に関連本が発売予定みたいだけど。
678 :
sage:2012/07/25(水) 23:44:02.26 ID:???
俺も
>>673と同じこと思ってた
api documentも完全じゃなくてさっぱり分からん・・・
view内で$this->layout()が使えるがdocumentにlayout()メソッドなんて書いてないじゃん。作者は完全に頭が狂ってる
ブログでも作って教えてあげたいんだけど時間が無いんだよ
すまんな
ZendFramework徹底入門あたりを読むのが手っ取り早いかも。
まあ、それ読んでも足りないけど。
ソース読んでるよ。
Zend_Configでの設定なんか解説してるとこ少ないから困るよね。
Zend_Formで質問です。
他の人が作ったごちゃごちゃしたFormがあるんですが、isValidでfalseが返ります。
原因を知りたいんですが、isValidでfalseが返る理由を一覧するうまい方法ってありませんか?
685 :
sage:2012/07/27(金) 12:13:20.55 ID:???
686 :
nobodyさん:2012/07/27(金) 12:55:46.36 ID:iH6wEEiZ
Zend_FormのisValidで失敗する原因を知りたいのですが、
Zend_Form::PrintValidError() みたいなデバッグ用の関数ってないんでしょうか?
isValidが通らない理由を探せません・・・
そのFormのエラーがでる要素が、どのValidatorを使っているか見ればいい。
Validatorの設定は、そのFormのinitメソッドかhoge.iniの様な設定ファイルでやられてるはず。
例えば、Zend_Validate_EmailAddressをValidatorにしている要素なら、入力値がメールアドレスとして不正なんだろう。
自作のValidatorを使ってるなら、そのValidatorクラスのisValidメソッドを確認。
688 :
nobodyさん:2012/07/27(金) 16:10:20.17 ID:iH6wEEiZ
>>687 なんか泥臭いやり方のような気がします。
Zend_Form::Debug()
みたいな開発者向けのメソッドが用意されていないのでしょうか?
getValidators()で拾ったバリデータをvar_dump()してみたらいいんでないの
バリデータ拾えるならgetMessagesあたりでメッセージ拾える筈やが
getErrors( string $name = null, $suppressArrayNotation = false ) : array
Get error codes for all elements failing validation
なんてまんまのものがあるじゃないか。
API見ろよ。使いにくくなったけど。
>>686 $form->getErrors()
でこけたエラーがひろえるはず。
それか、getMessgesなるのがあったきがするけど…
…間違ってたらごめんね。
693 :
nobodyさん:2012/08/02(木) 16:51:12.66 ID:zdqXLM78
最近、ZendFrameworkを使い始めたのですが
URL末尾にスラッシュ(トレイリングスラッシュ)を一律付加するリダイレクトを
入れる方法が分からず、.htaccess相手に四苦八苦しています。
どなたかご教授頂けないでしょうか。
>>693 URLをチェックして末尾に/がなければ/つきURLを生成して301リダイレクトさせるプラグインを作って
それをフロントコントローラで設定したら良いんじゃないかな〜
変なこと言ってたらごめんなさい
ZF2変わりすぎ、ZF1みたいに標準のAdapter設定するにはどうすんだ
>>696 レスありがとうございます。
その方法だとテーブル毎に設定しないといけないので面倒なんですよね。
読み込んだviewの値を少し整形して別のviewに変数として代入したいのですが、
どうすればいいでしょうか?MVCでやってます。
699 :
698:2012/08/10(金) 15:42:36.63 ID:???
自己解決しました。
renderでレスポンスオブジェクトに格納して、
その後レスポンスオブジェクトからviewにassignするという糞長い手順で可能でした。
・・・他に方法あります?
700 :
nobodyさん:2012/09/07(金) 23:10:06.97 ID:Ym7419yM
ZF2あげ
701 :
nobodyさん:2012/09/08(土) 11:17:23.52 ID:SmVU4yzb
ZF2日本語で書籍出版されないかな
702 :
nobodyさん:2012/09/08(土) 14:38:35.59 ID:FtyaHlHH
本は高いから
リファレンスガイドを早く翻訳してください
おねがいします><
ZF2のComposerインストール時に提案されるpeclのWeakref使うとエラー出るんだけど
超ハマったわ
>>702 そういう気前のいい人は居ないので、諦めて英語かドイツ語の本を買いなされ
705 :
nobodyさん:2012/09/17(月) 18:15:39.16 ID:pk7zDD5C
2の使い方ある程度分かって来ました!!
なんでも聞いてくださいね♪
>>705 ZF2はsymfony2に機能で勝ってる?
ZF2使いにくい、FormとかSQLとか良く使うのが特に
ZF1に慣れてるからかも知らんけど
>>705 テンプレートエンジンにsmartyを使うようカスタマイズする方法教えてください。
709 :
nobodyさん:2012/09/17(月) 20:54:49.58 ID:pk7zDD5C
>>706 symfony2一切触ってませんシリマセンごめん
ZF1より使いにくい部分も
便利なモジュールをかしこな人が作ってくれたら
設定ファイルいじるだけで出来るようになるっぽい設計が良いです
ZF1 → ZF2 の移行ってどんな変更が必要になるん?
ZF1/ZF2ってもはや別物と思ってるんだが…
まだ全然わからねー
流用出来るのはテンプレートぐらいで他はすべて書き直しになります。
全くの別物だね・・・
全体的に重いし、設定ファイル駆動になったせいか、余計な学習コストかかるし。
ZF1はライブラリ寄りだったけど、ZF2はもっさりFWの仲間入り。
以前は動いていたのに、突然、以下のようなエラーが出て動かなくなりました。
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller class ("ErrorController")'
ErrorController.phpはController
すいません、途中で書き込んでしまいました。
以前は動いていたのに、突然、以下のようなエラーが出て動かなくなりました。
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller class ("ErrorController")'
ErrorController.phpは、application/modules/hoge/controllers/ErrorController.phpにあります。
何が原因かさっぱり分かりません。
どこから調査すればいいでしょうか?
ちなみに、存在するコントローラー・アクションにアクセスすれば問題なくディスパッチが成功します。
ErrorController.php に echo "OK!!!!!"; exit; と書いて、ファイル読み込みが成功してるか確認。
失敗してる場合はオートローダとファイル名を確認。
成功してる場合はクラス名が間違ってるんじゃね。
>>716 ありがとうございます!!
↓を追加したところ、ファイル名が表示されているので、ファイルには渡っているようです。
print __FILE__ . "<br/>\n";
エラーの内容が、
Zend_Controller_Exception: Invalid controller class ("ErrorController")
となっているので、コントローラーの書き方の問題でしょうか???
クラス名タイポしてない?
ErrorController になってるか再確認すれ。
タイポ?って何でしょうか???
これがゆとりプログラマか
zf1みたいにForm一発でレンダリングする方法ないかな?
Partial Helpoer使うしかないのか。
>>719 >タイポ?って何でしょうか???
721 のことだよ
Service Managerで取得したオブジェクトってコード補完が効かないんだけど
なんとかならないかな、ならないか
727 :
nobodyさん:2012/09/30(日) 20:42:06.14 ID:OLCYLapU
netbeansなら一応できる
あんまり意味ないけど
/* @var $hogehoge ClassName */
みたいなことを{}の中に書くとできる
>>727 @var $cache \Zend\Cache\Storage\StorageInterface でEclipseでも補完効くようになりました、ありがとう。
731 :
nobodyさん:2012/10/18(木) 01:13:04.09 ID:liiXls/G
ZF2でSkeletonアプリケーションをGITからもってきたら
LICENSEっていうファイルがついてくるんですけど
このSkeletonアプリケーションを元に作ったやつを配布する場合
このLICENSEってのもいっしょにつけたほうがいいんですか?
中に書いてないか?
733 :
731:2012/10/18(木) 01:41:45.17 ID:???
>>732 修正BSDライセンスのテンプレのやつが書いてて
zendの著作権表示があるんですけど
これで僕がZF2使ったブログツールとか作ったとして
このライセンスファイルつけて配布したら
zendが作ったみたいになりませんか?
いいんですか?
Zend Framewok 2を最近始めてみたんだが、demoディレクトリにも、公式マニュアルにサンプルコードが殆ど無いとはこれはいかに?
誰かいいサイト知らない?
まぁ、フレームワーク自体のソースが、他のと違ってわかりやすく書かれているのが救いだけど。
公式にあるだろ
つまりZFはフレームワークとしては不完全ということですね。
アレって不完全と言うのかな?
癖がないとも取れるが。
局所でライブラリ的な利用の仕方なら有り
FWとしては規約から作らないと意味が無いので
初心者は他のFWから入ったほうが
>>738 癖がないかどうか微妙だけど、特徴もないよね。
Zendでぜんぶつくるという使い方よりも、他のFWや、自作スクリプトの
切れた。すまん。
少しずつ置き換えてつかうのが、正しいっぽいよね。
機能が細切れでお互いの機能の依存性が最小限になるようにしてあるし。
そういうの良く気けど、それってわざわざ使う価値じゃなくねー?
例えばZend_Formなんてあってもなくてもどうでもいい機能しかなくね?
zend_paginaterをDB無しで使いたいんだけど、
例えばファイルリストを読み込んで、とか
拡張するより最初から自分で作ったほうが利口かね?
745 :
nobodyさん:2012/10/30(火) 00:23:14.18 ID:/x6Nh14H
結局2にするメリットあるの?
それってsymfonyもぶつかってる問題だよね
僕は2好きですよ
ZFの公式サイトのコードとか見ると
モジュールでわける感じは
保守性とか上がって良いと思います
設定ファイルにいっぱい書くのはだるいけど
viewからAuthenticationServiceを参照したい場合
zfcUserみたくview helper使う方が良いのかな?
面倒だからBootstrap時にview model にAuth Service 突っ込んでるんだけど。
750 :
nobodyさん:2012/11/10(土) 09:55:01.59 ID:wAC0s7lt
zendDBのupdateを実行するquery()メソッドをプレイスホルダ利用する形で
書いてるんですが、以下で問題あるんでしょうか?
$this->_dbConn->query("UPDATE
`{$t_work}`
SET
c1 = ?,
c2= ?
WHERE
id= ?
AND
userId= ?
",
array(
$c1,
$c2,
$userId,
$userType
)
);
トランザクションの一部なのに、エラーは発生せず最後まで実行できて
にもかかわらず変更が反映されていません
何か間違ったことやっているでしょうか?
※mysqlモニタで直接クエリ実行すると、もちろん変更されます
まちがえた
$userId,$userTypeとあるのは$id,$userIdでした
752 :
751:2012/11/10(土) 21:29:06.09 ID:???
自己解決しました
>>752 事故解決したら、解決方法を書くのがマナー
まずパンツを脱ぎます
↓
おちんちんを握ります
↓
解決しました
解決方法が間違ってるかもしれんしな
756 :
751:2012/11/11(日) 17:29:38.89 ID:???
>>753 本当に死ぬほどくだらない。クエリ文自体には全く問題なくて、パラメータの値が間違ってた
>※mysqlモニタで直接クエリ実行すると、もちろん変更されます
↑???
758 :
nobodyさん:2012/11/18(日) 12:36:26.98 ID:HLF2JeDM
Composerでインストールする時って、
全パッケージ纏めて書くことってできないの?
"zendframework/*": "2.0.*"
みたいな書き方ができなかった
ZF2は肝心のパフォーマンスが下がってるからなぁ・・・
オーバーヘッドがZF1以上にでかいので、今時の()APIベースのサイト開発には向かない。
ZF2に乗り換える理由がねぇよ。
760 :
nobodyさん:2012/12/07(金) 08:11:41.74 ID:PYvik/pq
素のmysqlでまとめてinsert()する場合は
insert into `table` values
(val1,val2,val3),
(val1,val2,val3),
(val1,val2,val3);
ってやり方でできますが、
これをzend_dbのinsert()メソッドやquery()メソッド(できればプレースホルダで)やるにはどうしたら良いですか?
foreachで単独のinsertをデータ数分実行するより早いらしいんで知りたいです
お願いします
zendFW1.12を使っています
FormにZend\Form\Element\Emailを追加する。
すると、Form::isValidでEmail::getInputSpecificationを呼ぶ。
ここでEmail::setAttribute('required', false)としたい。
だが、Email::getInputSpecificationを見るとrequiredオプションがtrue。
メールアドレスが未入力だった場合にFormがinvalidになってしまう。
最も楽に、メールアドレスが未入力でもFormをvalidにする方法は何だろう。
ただし、Form::setUseInputFilterDefaults(false)は使いたくない。
もちろん、メールアドレスが入力されていればInputFilterで検証したい。
質問なの?
Element\EmailじゃなくてText使えば
764 :
71:2012/12/13(木) 08:47:15.68 ID:???
Zendってやっぱ使いにくいよね
765 :
761:2012/12/13(木) 12:21:40.46 ID:???
質問というより知識の共有の呼びかけかな。
質問にズバッと答えてくれるほど精通している人がいるのか疑問。
そもそも使っている人がどれほどいるのか。
ここの過疎り具合から判断すると人気ないのかね。
766 :
71:2012/12/13(木) 12:29:56.79 ID:???
Zendって、使う価値が微妙なんだよね。
ソースコードは文法の勉強にはなるけど、完成品の完成度は、Zend社のスキルって低っ!と思うレベル。
ライブラリだと割り切って使えば便利だよ
フレームワークとして1から10まで全部Zend化しようとすると問題だらけで萎える
ControllerとDbとOauthくらいしか使ってねぇや
769 :
71:2012/12/14(金) 14:43:16.61 ID:???
だってブログに書いても誰も読んでくれないもんなぁ?
前々から言われてるが、
概要に関しては日本語公式リファレンスで事足りる
細かい実装に関してはソースコードが最大のマニュアルだろ、
疎結合謳ってるだけあって、紐解きやすい
読んで解らない奴は、そもそもPHPを理解してないんじゃないか?ってレベル
ただZF2
おまえは駄目だ。
>>769 つまりそれだけの価値がないってことだよ
772 :
765:2012/12/14(金) 19:54:55.26 ID:???
ブログ持ってないんだよw。
PHP始めて一年。
フレームワークから入ってる。
ZF1とZF2しか使ってなかった。
C++から移ったのでPHPの使い易さに目がいってたんだろうね。
ZFの欠点が気にならなかった。
やっと、これ面倒くせえなと思えてきたよ。
昨日からsymfony2を触ってみてる。
表層も見えてない段階だけど、symfony2が鉄の斧だとするとZF2は棍棒か。
完成度の違いがなあ。
1日でsymfony2を高評価してる時点でただのミーハーだな…
脳に糖分足りてないんじゃない?Cakeでも食べてなよ
>>772 blogレンタルできること知らないの?
なんでそんなに噛みついてくんのw。
>>755 え?blogレンタルできることを知らないのかどうかを聞くと噛みつくことになんの?
今時2chで知識共有しようぜとかいう奴だぜ…お察しだろw
学生サンが冬休みに入ってヒマをもてあましているのかなw
久々にZFのサイト開いたら、いきなりZF2が出てきたけど、もうZF2に移行しているorこっちが主流なの?
何かコードの書き方が結構変わってるとか聞いたんだけど
メリット、デメリットあったら教えて頂きたいのですが
>>779 1のバージョンアップ最近してたし
1使ってるなら1でいいけど
今から新しく使うなら2のほうが良いよ
みたいな?
そしてZF2に慣れた頃にZF3登場。
>>779 namespace化された
Mvc系が多少整理された
しかしHelloWorldパフォーマンスは微妙に落ちている
ZF1を使った事が無いなら、2から初めてもいいんじゃない?
ZF1に慣れてるなら乗り換えるメリットは全く感じられない
ただZF2は日本語リファレンスすら無いし、無駄に学習コストが高い
学習コストの話が出てきたけれど、翻訳コストは誰が負担するの?
ZF程度の英語リファレンス読めない人って…
翻訳コストとか初めて聞いたわ。最近のゆとりは凄いな。
英語は理解できても三点リーダーの使い方は知らないんだな
ふいんき(←何故か変換出来ない)で解ってくださいよ…
>>783 > ZF1に慣れてるなら乗り換えるメリットは全く感じられない
> ただZF2は日本語リファレンスすら無いし、無駄に学習コストが高い
そこの日本語は、「ただ」じゃなく、「しかも」でしょ?
しかも、ZF2は日本語リファレンスすらないし、その上、無駄に学習コストが高い>できる事、便利になる事、が学習コストと釣り合ってない。
>>788 > ZF1を使った事が無いなら、2から初めてもいいんじゃない?
なんで最初の一行目を抜くの?
揚げ足取りの日本語講座なんて誰も求めてないんだが
それは「翻訳」が業務の事例だろ
英語毛嫌いしてる人って何使ってコード書いてるの?
秀丸とか?()
やっぱり、変数/メソッド/クラス名が日本語だったり間違った英語だったりするの?
ZFは、ただでさえないのに、ZF2はありえんわー
794 :
nobodyさん:2013/01/16(水) 19:21:55.88 ID:ym1b74V3
質問です
普通、example.com/module/controller/action/vars/vals って感じでモジュールやコントローラに
ひもづけてルーティングしてると思うんですが、そうではなくて
example.com/sample/hoge.php
example.com/sample/test.html
みたいに直接.phpや.htmlを指定してコントローラとかモジュール関係なく
直接各ファイルを実行させるにはどうしたら良いですか
そういう専用のディレクトリを作りたいんですが
.htsccessで、実際に存在するファイルにはアクセスしないってすればいい
あ、ごめん、映画見ながらレスしたら、間違えた。
実際に存在するファイルには、そのファイルにアクセスするってすればいい。
やり方は調べてね。
797 :
nobodyさん:2013/01/19(土) 20:16:57.07 ID:+eZVw/GS
うむ。くるしゅうない
生む。陣痛きた
をぃ、xampp 1.8.1 で環境作っても、zend 1.12はうごかねぇよ。ガイシュツ?
ちごた、ばぐってた
XAMPP笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑笑
Mac版のXAMPPは色々難しいよ。
Linuxer気取りごときには使いこなせない。
ましてやWindows使ってるだなんて、ギャグとしか言いようがない。
mac使ってるのにxamppとかwwwwwwwwwwwwwwwwwww
宝の持ち腐れwwwwwwwwwwwwwwwwww
君にXAMPPを使いこなすのは無理だと思うよ。
いや、マジで。インストールしてそのまま使うにはいいけど、バイナリをコンパイルするとか君にはできない。相当な知識がいる。
まぁ、初心者はMacのデフォルトのままで、中級者はmacportでインストールが無難。
Win/Macに限らず仮想マシン立ててない奴は全員初級者だろ…
無知乙。MacはBSDだよ。Linuxしか知らないかもしれないけど。
更にその上で仮想サーバ立てろって事だろう
WEB鯖なんて1台あたりメモリ256+ストレージ10GBくらいだし、
案件別にサーバの構成変るし、普通はその分だけ開発環境を用意する
素人乙。プロはサーバーが変わっても動くものを作る。もちろんOSは問わない。
最初は気が狂うかもしれないけど、慣れたらどーってこともないよ。
ケースバイケースじゃね?
うちの会社では、Linuxサーバーを立てるのはエンジニアの仕事じゃなくて、総務の仕事だよ。
マニュアルにしたがってyumするだけ。コンフィグも赤い字を書き換えれば誰でも設定できるマニュアルがある。
Linuxサーバー立てただけでドヤ顔なんて程度が知れる。
そういう方向の話ではないと思うけど...
>>810 下位互換性なんて余裕で保てるがプロなら複数環境作るよ
案件別じゃなくとも、PHP5.2 〜 5.4 とバージョン別の環境を作る
ストレージだけ統一しときゃ1ソース複数環境で動作させられるしね
何も難しい事無いし、仮想サーバを立てない理由が無い。
>>814 仮想サーバーを立ててないとは書いてないが?
fedora, cent, debian, bsd, winとvmwareにある。
その上で、自称上級者じゃ、macのxamppは使いこなせない、と言うとるのだ。
>>815 それなら、XAMPPなんて選択肢にも入らないだろ…
あと
>>810 での発言と全く繋がらない。
バッチファイル作ったら総務に頼むことですらないわけで
>>817 それを"すごいことをしてる"と思わせること重要
片手間でできるからって安売りするのよくない
仕事において「すごいことしてる」アピールは重要だけど、
今回は別に凄くないし、それを凄いと評価する環境にいる人って……
Excelでマクロ組んだら神扱いされそうな職場だなw
>>816 vmware起動するのメモリの無駄じゃん。
>>820 無知乙。ホスト側に4GB程度あれば各種IDEと同時に起動しても影響ないレベルだよ
最小構成のWEB鯖なんて、VMWare自体を含めても物理メモリ使用量100MB以下だわ。
最近のSSD器ならVMの起動/休止も3秒程度だろうし、何を惜しんでるのかよくわからん。
まじで一度環境作れって。捗るから。
>>821 外国人乙。日本語勉強しろ。マジで2ちゃんが捗るから。
小学生用の教科書を開く手間を惜しむな。
鯖とか器とか2ちゃん用語を嬉しそうに使う奴って軽く引くよね。
まじで仮想マシン使って無い奴のが多そうだなw
>>824 うん。仮想マシンじゃなくて実マシン使ってる。
xeon 4core 16gb を5台構成。
それこそ仮想化しないとリソース使い切る前にC10K問題にぶち当たらない?アホなの?
知ったか乙。それ、仮想化で解決しないよ。
あー言いわすれてたけど、IPアドレスが10個ついてきてて、実マシン上にKVMが走ってる。
君ら程度じゃKVMをコマンドレベルでは使いこなせないと思うけど。
いや、実際解決(軽減)してるしw
今問われてるC10K問題の大抵はhttpdのアプリレイヤでの限界だ。
1core 4GB の4台に仮想化した方が遙かに効率良いよ。
開発機にIPアドレス10個もいらねーよ……
KVMは仮想環境だよ……
恥ずかしい奴がいたもんだ
新着が多いと思ったら叩き合いですか。
まあ、マシンパワーが足りるなら、実機4台よりも仮想ゲスト4つの方が効率が良いのは確か。
仮想環境なら仮想ルータやスイッチを使ってネットワークを組めるしね。
興味がある方は一度試してみる価値あるよ。
因みに俺はlinuxでkvm使ってる。
操作はlibvirtdを挟んでvirshからCUIで。
リモートマシンからも操作できるよ。
VirtManagerというGUIツールもある。
特殊なことをしなければ非常に安定している。
I/Oも以前と比べると格段に速くなっている。
USB機器もゲストOSに接続することができる。
ただ、PCIデバイスは一部の環境でないとゲストから使えない。
>>829が叩かれてるが、叩いてる奴らの方がレベルは低そうだ。
仮想環境が非効率なら、ここまで広まらないわけで。
>>830 外国人乙。仮想環境の話してんだけど?
マジで小学校から日本語をやり直せって2ちゃんが捗るから。
>>832 根本の原因は、日本語の読めない奴が混じってることだな。
実機で多重化してて、その上にkvmが走ってる環境があって、開発してるMacではvmware上にWinもfedoraもdebianもgentooもFreeBSDも走ってる。
君らがやってることは全部やってるけど、xamppの方が楽だし、別に実機とも仮想環境とも変わらない。
更に付け加えると、mac版のxamppは32bitで、64bitのOSで走らせるとpeclのインストールができなかったりインストールできるけど特定の機能が動かなかったりする。
そういうのをハックするのは楽しいんだけど、君らには難しいだろうねって話。
xampp使ってみたこともない奴は俺から言わせると初心者。
論点すり替えて涙目な奴がいるなw
原点回帰してXAMPPの話題に戻るが、
複数同時起動したり、複数バージョンを導入したり、仮想ネットワーク組んだり出来たっけ?
ホストOSとゲストOSの切り分けが出来ないから、グローバル変数汚染的な嫌悪感があるんだが。
>更に付け加えると、mac版のxamppは32bitで、64bitのOSで走らせるとpeclのインストールができなかったりインストールできるけど特定の機能が動かなかったりする。
>そういうのをハックするのは楽しいんだけど、君らには難しいだろうねって話。
こんなバッドノウハウを要するなら、素直に仮想マシン立てた方がいいんじゃね?
仮想マシンなら「当たり前に出来る」事を「XAMPPでやった僕凄い!」になってね?
>>836 > 論点すり替えて涙目な奴がいるなw
まぁ、BSD系を扱えるPHPスクリプターはいないからな。
バイナリ扱えれば、テキストスクリプトのエンジンくらい簡単だが。
>>836 > こんなバッドノウハウを要するなら、素直に仮想マシン立てた方がいいんじゃね?
> 仮想マシンなら「当たり前に出来る」事を「XAMPPでやった僕凄い!」になってね?
違う言い方をすると、
「僕(
>>836)にはそんな高度なことできません!!」
だよね?
>>836 > 原点回帰してXAMPPの話題に戻るが、
> 複数同時起動したり、複数バージョンを導入したり、仮想ネットワーク組んだり出来たっけ?
> ホストOSとゲストOSの切り分けが出来ないから、グローバル変数汚染的な嫌悪感があるんだが。
日本語って難しいよね。
vmwareに君が使ったことがないBSDをインストールしてあるって書いてあるんだけど、読めないよね、きっと。
fedoraとかdebianって書かれてもよく分からないよね?Linuxのことなんだよ。
しかも、下位互換で作ってあるから環境毎の互換性チェックなんて一々やらないんだよ?
君には難しいと思うけど。
ちなみにそこまで互換性の話をするということは、ApatchとNginxの相互互換もチェックしてるよね?
俺は当然してるけど、してる?
なんでそこでhttpdの話になるの?まじで無知なんだな…
Apacheモジュールでの動作確認と、FastCGIでの動作確認くらいしてるよ。
>しかも、下位互換で作ってあるから環境毎の互換性チェックなんて一々やらないんだよ?
下位互換なんて大層な書き方してるが、単に新機能使ってねーだけだろw
言語レベルの互換性なんてアホでも出来るわ。
拡張モジュールや、それらが参照するOS側ライブラリに依存する動作変更もあるので、
普通は複数環境でテストするよ。
一生、プラットフォームをバージョンアップしないとかなら別だろうけどw
BSDとか滅多に見ないね。
本番はRedhat、開発はCentがメインだわ。
>>838 おしい。
「僕にはそんな無駄なことできません!!」が正解。
なんかすげぇ不毛な話だな……
仮想化したきゃすりゃいいし、XAMPP使いたいなら使えばいい。
優劣は付ける必要も無い、個々の環境次第だ。
そんな事より使ってるエディタとかIDEの話しねぇ?
>>842 >
>>838 > おしい。
> 「僕にはそんな無駄なことできません!!」が正解。
いや、実際問題、できねーし。
>>843 > なんかすげぇ不毛な話だな……
>
> 仮想化したきゃすりゃいいし、XAMPP使いたいなら使えばいい。
> 優劣は付ける必要も無い、個々の環境次第だ。
うん。俺はどっちでもいいんだけど、ムキになって絡んでくる奴がいるんだよね。
> そんな事より使ってるエディタとかIDEの話しねぇ?
>>841 はサクラエディタだと思うよ。
>>841 > なんでそこでhttpdの話になるの?まじで無知なんだな…
> Apacheモジュールでの動作確認と、FastCGIでの動作確認くらいしてるよ。
なるほど。Nginxは使ったことがないのか。
PHPの互換性よりもhttpdの差異の方が大きいのにな。
まぁ、OSSでも公開してない限り、問題に遭遇しないけど。
君の作ってるメールフォームくらいじゃ違いは分からないよ。
> BSDとか滅多に見ないね。
> 本番はRedhat、開発はCentがメインだわ。
日本語は正しく使おう。「見ないね」じゃなくて、「使ったことないね」だろ?
>>846 必死だなw
君はNginxでPHPを動かす時はどうしてるの?FastCGI以外でやってるの?
更に言うとhttpdなんか対して問題にならんよ
それなりのサイトはWEBとAPサーバは分けるし、
同じサーバでも実行権限分けたくてFastCGI採用する事も多々あるし
ApacheモジュールとNginxでどのような差異が出るのか、具体例だしてみ?w
>>848-849 サクラエディター乙
さすが素人。マジで知らんのか?プロなら誰でも知ってるApatchとNginxの違い。
まぁ、素人ならしょうがないだろう。
煽るだけで具体例が出せない、無知の典型だな
サクラエディタでも何でもいいから
>>847 と
>>848 に答えろよ。
>>850 自演乙。知らないなら、まず、知らないと言わないと。そしたら教えたる。
>>849 Apatch
パッチでもあてるんですか?
Apacheは元々、ただのhttpd serverだった。
それに色んな人達が機能を拡張するためのプログラムを書いて、パッチを作った。
だから、a patchでApache。これ、誰でも知ってるトリビアな。
>>851 はいしりません。
無知な僕にとっとと教えて下さい。
801からここまでZFの話題なしw。
>>854 やっぱりな。所詮限られた環境でしか開発してないのに、PHPのバージョンがどうのこうのとか知ったかすぎるんだよ。
俺は10億円近い年商のある大き目のサイトをPHPの4から5にサーバー変更したけど、
修正しなくてもそのまま動いてたからな。
サーバー毎の互換性をチェックしなきゃいけないなんて、そもそものプログラムの書き方からして可笑しいからなんだよ。あはは。
857 :
nobodyさん:2013/02/15(金) 21:04:23.47 ID:fG+5kpvn
煽りにいちいち付き合うのも嵐のうちって気付こうね。
香りがしたらスルーしような。
以下、おまえもな的なレスが7つ続きます。
自分よりレベルの高い人は煽りとか荒らしにしておくと傷つかなくて安心です。
>>856 それはZendの配慮によるものでごわす。
>>856 PHP4から5とか・・・アホでも出来るわw
その書き方から見ると、どうせE_WARNINGとかE_STRICT切ってるんだろ?w
新機能を一切使ってないなら動いて当然だわな・・・
5.2と5.3と5.4の言語レベルでの追加機能を無視出来る程しょぼいサイトならいいんだろうけどね。
いいから
>>847 と
>>848 に答えろよ。
PHP4噴いたw Zend Framework使った事ないだろ・・・・・・
>>862 あるよ。使う価値の全くないFWだった。
>>863 おまえ、ZFに惚れすぎww
好きですーって滲み出してるよ。
>>864 E_ALLかよ。やっぱりE_STRICT切ってるじゃねーかw
クスクス笑いが聞こえないか?
>>866 なんでE_ALLからE_STRICTが除かれてるか知ってる?
そもそも、古いバージョンにない機能を使ってたら互換性が保てるわけないだろ。
それ、互換性をチェックする意味あるのか?
開発環境は大抵、新しいバージョンを使ってるから、商用環境のバージョンで問題がないかチェックするんだろ?
俺になんとか反論しようとして、本末転倒になってるぞ?
>>867 涙拭けよ。ほら。
がんばれ。応援してるぞ。
>>867 何年前か忘れたけど、PHP4から5に以降する俺達スゲー!って時期あったし、自慢したくなる気持ちは解るよw
E_STRICTも使わず互換性云々語ってるなよw
>>868 正解。
バージョン別の差異は把握してるが、うっかり新バージョンの機能が混入する事あるから、テストは必須よね。
(5.2⇔5.3でDateTime系の追加メソッドとかArrayObjectのSerializableとかではまった事がある)
>>869 そっか、なんでE_ALLからE_STRICTが除かれてるか知らないんだな。
>>870 >
>>867 > 何年前か忘れたけど、PHP4から5に以降する俺達スゲー!って時期あったし、自慢したくなる気持ちは解るよw
> E_STRICTも使わず互換性云々語ってるなよw
>
>
>>868 > 正解。
> バージョン別の差異は把握してるが、うっかり新バージョンの機能が混入する事あるから、テストは必須よね。
> (5.2⇔5.3でDateTime系の追加メソッドとかArrayObjectのSerializableとかではまった事がある)
お前、E_STRICT使ってないだろ?
つうか、普通は使わないし。
サクラエディター君は俺に言い負かされないように頑張り過ぎて支離滅裂になってるなぁ、、、
そだね。君が全て正しい。
いいから
>>847 と
>>848 に答えろよ。
お前「知らないだろ?」しか言ってないよね。
お前こそ知らないだろ?答えられるものなら答えてみろよ、アスペ。
E_STRICTの存在を知らないならまだしも、
知っていて意図的に使わないなんてありえないわ・・・
E_STRICTエラー出ちゃうコードなんて、コードレビュー前に弾かれるレベルだわ
「E_ALLからハズされてる理由わかる?(キリッ」 どーでもいいよw 知らないよw
それがE_STRICTを使わない理由にはならねーよ
>>874 サクラエディタ君こんにちは!
負けるために必至だね!
まず、FastCGIはただのCLI版だよ?つまり、module版と違いはない。
君の発言からは、この違いがよく分かってないと感じる。(むしろ、本当にFastCGIを使ったことがあるのか疑問だ)
FastCGI版が動けば、どのWebサーバーでも動くと思ってるようだけど、それは単なる無知だ。
CGIの動作はWebサーバーの設定や機能に影響を受けるんだよ。
ここがそもそも分かってない。サクラエディタ残念!
Nginxを使ったことがないから知らないんだろうけど、Apacheはモジュールで色んな機能を実装している。
それがWebサーバーのデフォルトの機能だと思っていると、軽くしっぺ返しを食らうよ。
Nginxを使うと、今まで当たり前だと思ってたことが単にApacheの機能だったと気付かされる。
さぁ、君はApacheとNginxの違いがいくつわかるかな?
>>875 > E_STRICTの存在を知らないならまだしも、
> 知っていて意図的に使わないなんてありえないわ・・・
> E_STRICTエラー出ちゃうコードなんて、コードレビュー前に弾かれるレベルだわ
じゃぁ、サクラエディタ君のコードを実際にE_STRICTにしてみるといいよ。そして、エラーを全部訂正したら、CentOS5で動かしてごらん。
> 「E_ALLからハズされてる理由わかる?(キリッ」 どーでもいいよw 知らないよw
まぁ、サクラエディタ程度のレベルで知ってるとは最初から思ってないよ。単なる嫌味。
878 :
nobodyさん:2013/02/18(月) 10:01:13.58 ID:OW6JQS1Z
オマエラ、低レベルな話で自作自演込みで叩きあって楽しそうだな。
E_STRICTにしないやつなんてほっとけよ。どのみちカスだ。
それより、新しいネタ出せよ。
gistで自慢のソースでも貼ってみてくれ。貼った奴は、酉もつけろよw
断る
>>876 >まず、FastCGIはただのCLI版だよ?つまり、module版と違いはない。
がまず間違っている。
>FastCGI版が動けば、どのWebサーバーでも動くと思ってるようだけど、それは単なる無知だ。
に至ってはFastCGIの動作原理すら理解していないと把握
お前、もうどうでもいいよw
サクラエディタにどんな恨みがあるのかだけ興味あるけど
>>877 >じゃぁ、サクラエディタ君のコードを実際にE_STRICTにしてみるといいよ。そして、エラーを全部訂正したら、CentOS5で動かしてごらん。
動かしました。
>まぁ、サクラエディタ程度のレベルで知ってるとは最初から思ってないよ。単なる嫌味。
だから教えてよ。お前も知らないんだろ?w
>>884 で、でた〜〜wwww何故か議論を勝敗でまとめ奴〜〜wwww
負けでも何でもいいから「具体的」に答えろww
>>885 >
>>884 > で、でた〜〜wwww何故か議論を勝敗でまとめ奴〜〜wwww
>
> 負けでも何でもいいから「具体的」に答えろww
>>882 >
>>876 > >まず、FastCGIはただのCLI版だよ?つまり、module版と違いはない。
> がまず間違っている。
じゃぁ何が間違っているのか「具体的に」答えてみたら?
>>886 >まず、FastCGIはただのCLI版だよ?つまり、module版と違いはない。
FastCGI実装に何を使ってるか明記されてないからから具体的に答えようが無い
仮にPHP-FPMを使っていたとしよう、これはただのCLI版では無い。
>FastCGI版が動けば、どのWebサーバーでも動くと思ってるようだけど、それは単なる無知だ。
httpdからはヘッダと必要な環境変数を渡すなり、必要な設定を含めて「FastCGI版を動かす」って意味だ。
ApacheだろうとNginxだろうとちょっとしたディレクティブを設定するだけで大半の設定は終る
何故FastCGIプロトコルを経由するのか全く理解していない発言。
具体的に何が問題になりうるんだい?
>Nginxを使うと、今まで当たり前だと思ってたことが単にApacheの機能だったと気付かされる。
何も理解しないままApacheを使ってただけだよね。
自分の無知故にしっぺ返しを食らっただけなのに、さも難しい事を克服した感が滲み出ている。
レベル低すぎてどーでもよくなった。
「ApacheとNginxの違い知ってるの?(キリッ」
↑
こいつは違い以前にApacheすら理解してなかったという事かw
>>887 >
>>886 > >まず、FastCGIはただのCLI版だよ?つまり、module版と違いはない。
> FastCGI実装に何を使ってるか明記されてないからから具体的に答えようが無い
> 仮にPHP-FPMを使っていたとしよう、これはただのCLI版では無い。
PHP-FPMは、CLIにデーモン管理の機能を追加しただけで、CLIで動くコードがPHP-FPMで動かなくなったという話は聞いたことがない。
そこまで言い切るなら、問題が発生するコードをgistにでもアップしてくれ。
>>889 >PHP-FPMは、CLIにデーモン管理の機能を追加しただけ
それをCLI版と言うなら、Apacheモジュール版もデーモン(Apache)との仲介をするだけのCLI版という事になるね
>CLIで動くコードがPHP-FPMで動かなくなったという話は聞いたことがない。
うん。俺も無いね。サーバ側の設定ミスで問題が出たとかは聞くけど、コード互換に問題が発生する事は無いよ。
(あってもそれはサーバ環境側で吸収すべき問題で、本来PHP側が考慮すべき事では無い。ZendFWはそこら辺も考慮されてるけど・・・・・・)
そもそもCLI(CGI)版とFastCGI版の互換性の話なんて最初からしてないよ。
PHPバージョン間の互換性を保つ為に複数の確認環境は必要なんじゃないの?
E_STRICTも使うべきじゃないの?
という話が、何故かApacheだのNginxだのプラットフォームレベルでの互換性の話にすり替わってるだけだよ
>>890 > そもそもCLI(CGI)版とFastCGI版の互換性の話なんて最初からしてないよ。
そんな話は俺もしてない。
> という話が、何故かApacheだのNginxだのプラットフォームレベルでの互換性の話にすり替わってるだけだよ
PHPのバージョンによる互換性の問題なんて、Webサーバーの違いに比べれば小さいという話。
> (あってもそれはサーバ環境側で吸収すべき問題で、本来PHP側が考慮すべき事では無い。ZendFWはそこら辺も考慮されてるけど・・・・・・)
それはZFを過信し過ぎ。具体的にどこ?
そもそもZFは面倒臭いから下位バージョンを切り捨ててるし。
> PHPバージョン間の互換性を保つ為に複数の確認環境は必要なんじゃないの?
だから、何度も言ってるけど、fedore cent5&6 debian gentoo bsd win mac と開発環境があって、チェックしてると何度も書いてる。
> E_STRICTも使うべきじゃないの?
E_ALLで十分。
俺のZFの印象は、「何の特徴もない」「中途半端」。
サラリーマンが命令されて仕事で要件を満たすFWを作ったって感じ。
作成者のこうしたい、こういうのを作りたいというビジョンを感じられない。
>>892 なんで、唐突にZFの話題が出てくるんだ?というこのスレのクオリティw
マヂレスすると、まともなアーキテクトがいる現場にはかなり向いている。
日本にはアーキテクトなしで、SEとPGの間のギャップをFWで埋めてるところが多いんじゃないか?
そういう現場ではZFは使えない。
>891
>PHPのバージョンによる互換性の問題なんて、Webサーバーの違いに比べれば小さいという話。
PHPのリリースサイクルが早まったのは知ってるかい?
言語レベルで毎年新機能が追加され、非推奨機能や挙動が変ったものが多々ある。
モジュールもバージョン(による影響を多々受ける)
あと、仮にWEBサーバの違いが大きいとしても、
PHPの互換性チェックをする必要が無い理由にはならないよ?
>それはZFを過信し過ぎ。具体的にどこ?
>そもそもZFは面倒臭いから下位バージョンを切り捨ててるし。
ん?例えばHTTPリクエスト/レスポンスがIISやCGIモード等を考慮してくれてるあたりとかかね。
>だから、何度も言ってるけど、fedore cent5&6 debian gentoo bsd win mac と開発環境があって、チェックしてると何度も書いてる。
だからOSじゃなくて複数PHPバージョンで確認はしてるの?ってだけだよ。
>E_ALLで十分。
だから、その根拠とE_STRICTを使わない理由は?
>>893 マジレスすると、日本のようにまともなアーキテクトがいない現場だからこそ、ZFのような中途半端なFWは求められていない。
仮にまともなアーキテクトがいたとしても、ZFじゃない方が、もっと簡単に、もっと安定して運用できる。
ZFはアーキテクトの代わりにはならないが、symfonyだとアーキテクトの代わりになるね。
>>895 だいたい、外れてはいないと思うが、
Symfonyの場合、アーキテクトがいたほうがいい。
いなくてもできるのはPGのリーダーがアーキテクト的に振舞える時だろう。
あと、追記。アーキテクトのレベルはあまり関係がない。
ZFはアーキテクトがアーキテクチャから作りこめるFWという特徴がある。
だから、フリーのエンジニアが小さなサービスを作るときにも重宝することがある。
ただ、アーキテクチャレイヤーが薄いのでそれに慣れない人は使えない。
フレームワークを作る為のフレームワークってイメージだわ
よくある誤解だと思うわ。
フレームワークを作るためのフレームワークとか
コード量が減らないフレームワークとか
フレームワークの本命とは言われなくなってほっとしてるがww
>>898 > フレームワークを作る為のフレームワークってイメージだわ
俺もこれは詭弁だと思うわ
ZFは使い込むとZFの上に独自フレームワークっぽいものが出来上がるわ
フレームワークとしても使える機能が揃ったライブラリ集とかそんな感じ
> 独自フレームワークっぽいもの
それが、肝だわ。その「っぽいもの」はフレームワークとひとくちに言っても、
アーキテクチャであったりモジュールであったり、ヘルパーだったり、
時には、プロジェクト内規約や開発ポリシーだったりもする。
それはどんなプロジェクトでも、どんなフレームワークでも生じるんだけれど、
既存のものをハックして作りたいか、自分で設計して組み立てたいか、
ハック系の方がブログ記事向きだから日本語情報が多いって話になる。
自プロジェクトのソースをわざわざ公開しないもんな。
>>894 > >891
> >E_ALLで十分。
> だから、その根拠とE_STRICTを使わない理由は?
あ、Windows版のXAMPPがいつの間にか5.4.7になってた。
E_STRICT使ってたわ。すまんのー
>>904 俺は基本的に良い奴だぜー
素直だから思ったことは正直に言うだけ(テヘ
907 :
nobodyさん:2013/03/02(土) 03:12:52.54 ID:eihGiJ64
webサーバをapacheじゃなくてnginxにしてzendFW使ってる人いますか?
apacheと比べて違和感なく使えるものでしょうか?
>>907 使えるよ
でもapacheモジュール版の方が何かと融通が効くのでPHPに関してはnginx(CGI/FastCGI)にするメリットは薄い
>>908 知ったか乙なレスかっこわるいぞw
使えるか使えないかじゃなくて、使ってる人いますか?なんだから、
総論じゃなく具体例を知りたいわけだろ。
何かと融通が効くっていう、具体的にどこよと。
>>909 またお前か・・・・・・
「使ってます。違和感無く使えます。PHP側は影響を受けません」これでいいかい?
何故未だにモジュール版PHPが台頭してるか、調べてみ。
ngingx はリバースプロキシ構成において評価されてるけど、
PHPコンテナとしてはApacheモジュール版には及ばない。
>>910 たぶん、お前が思ってる"お前"とは違うお前だと思うが。
お前の答えは907の質問の答えにはなってないだろ。
斜め上の答え出してどうすんだよ。
ちなみにお前が言っていることを否定してるわけじゃないのはわかるよな??
>>911 >>907は(使ってる人に対して)違和感無く使えるものでしょうか?と質問しているので、
(使った事がある立場として)使えるよ。と答えただけだなのだが・・・斜め上に持って行こうとしてるのは自分だろうw
>>912 > (使った事がある立場として)使えるよ。
そこ、省略したのか。
省略したところで誤読したとしてもオレの責任じゃないよな。
ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
>>913 使った人に聞いてるんだから、使った人が答えてしかるべきだろが・・・
誤読じゃなくて、読解力が無いだけだ。
>ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
nginxはリバースプロキシ兼ロードバランサとしていれた。
具体的に?何も問題無いよ FastCGI で動くようにコード書いてたし、素人が躓くのはnginx側のプロキシ設定くらいじゃない?
君が使った事あって、何かひっかかる事があるなら具体的に聞いてくれ
>>914 > リバースプロキシ兼ロードバランサ
ロードバランサとしてリバースプロキシを使うなら、内側にアプリケーションサーバー
があるわけだろ。で、それがZFで動いてるんだろうけど。
それって、ZFをnginxで使ったことにならないよな。
おれは、Zend\CacheでCouchBaseをバックエンドにしてページを提供するのに
アプリ側でキャッシュをつくり、nginx側でそれを読むようにした。
主にZend\Cacheのみだが、アプリサーバーと同じ判定を使いたかったので、
アプリサーバーと同じ構成を稼動可能にはした。
で、次に追記するが・・
>>914 で、914を見る限り、何も問題がないように見えるが、
>>908では、
> でもapacheモジュール版の方が何かと融通が効く
って書いてるよな。
apacheモジュール版の方が融通が効くということは、
nginxだと融通が効かなくて困ったことがあったように読めるが、違うのか?
>>915 ごめん君には理解できなかったみたいだね。
APサーバとして nginx(FastCGI) か Apache (モジュール版) を比較してるんだ。
FastCGIを全てnginxに置き換えてくれて構わないよ。
まず、君はどうやってnginxでPHPを動かしてるの?FastCGI以外?
> apacheモジュール版の方が融通が効くということは、
> nginxだと融通が効かなくて困ったことがあったように読めるが、違うのか?
nginxのコンパイルは面倒、apacheのモジュール機構は楽。
ドキュメントもサンプルも枯れていて楽。
実行コストも大差ない。
PHPにはapacheモジュール版限定の機能もある。
何だかんだでhtaccess等の移植コストはかかる。
困ったんじゃなく、PHPのAPコンテナとしてFastCGIに乗り換えるメリットは薄いと言ってるだけだが。
具体的にFastCGIに乗り換えた場合に得られるメリットを上げてみ?
>>917 > ごめん君には理解できなかったみたいだね。
うん。ごめん。オレにはお前の書くことが理解できん。
nginxのコンパイルが面倒だったことは1度もないし。
実行コストは大差あるし。
htaccessってZFどころか、PHP関係ないやん。
時間の無駄のようだ。スルーしてくれ。
腹筋壊れる。
>>915 あと、お前が最初の質問者じゃないなら脱線し過ぎなのでもう何も答えないよ。
中身の無い「俺は使ったことある」だけの話にに付き合ってる暇は無いんだ。
質問なら答えるよ。自慢話はいいから、要点だけ書いてね。
>>918 フロントコントローラ&Apache構成でZF使ってるなら htaccess(mod_rewrite) は確実に使ってると思うけどね。
PHP実行時のコストはnginxじゃなくててFastCGIか否かだからw 知ったか乙w
>>920 ぉいぉい、かまってチャンが釣りを始めたの?
PHP実行コストの話ならそう書けよw
> nginxのコンパイルは面倒、apacheのモジュール機構は楽。
> ドキュメントもサンプルも枯れていて楽。
> 実行コストも大差ない。
コンパイルもモジュールもドキュメントもサンプルも
ぜんぶ、nginxとApacheの比較をしてるのに、なんで、
実行コストがPHPの実行コストとして読めって、おまえオムツ取れてないのかよ。
普通、そうやってつなげたら、nginxとApacheの実行コストと思うだろが!
おまえ、みんなお前のこと分かってくれると思うなよ。
同一文の中でnamespaceが変わるなら省略するなってww
>>919 おれは何も自慢してないが?何度読み返しても自慢なんて入ってないよな。
まったくお前の書くことは意味がわかりません。
907 :nobodyさん:2013/03/02(土) 03:12:52.54 ID:eihGiJ64
webサーバをapacheじゃなくてnginxにしてzendFW使ってる人いますか?
apacheと比べて違和感なく使えるものでしょうか?
↓ よほどFastCGIについて語りたいらしい。
> 908 :nobodyさん:2013/03/02(土) 03:45:24.25 ID:???
>
>>907 > 使えるよ
> でもapacheモジュール版の方が何かと融通が効くのでPHPに関してはnginx(CGI/FastCGI)にするメリットは薄い
>
> 914 :nobodyさん:2013/03/03(日) 17:37:57.86 ID:???
> >ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
> nginxはリバースプロキシ兼ロードバランサとしていれた。
>
> 917 :nobodyさん:2013/03/03(日) 22:28:13.00 ID:???
> APサーバとして nginx(FastCGI) か Apache (モジュール版) を比較してるんだ。
> FastCGIを全てnginxに置き換えてくれて構わないよ。
つ読解力
「ZFを動かす」って前提が何故抜けてる?
話の流れ的に、「PHP+ZF+nginx」と「PHP+ZF+apache」で比較してるってわかんないの?アスペ?
最初からhttpdレベルの話なんてしてないし、それこそ君の言う「斜め上」の議論だろ
君が何一つ略さず書いてるとするなら、
「nginxでPHPは動きません。 知ったか乙。」で揚げ足取って論破ですわ
>>921 自慢にならない事は理解してるんだw
素人にありがちな、聞いてもいない事を自慢げに語ってる人を想像しちゃった。
ごめんね。
>>922 nginxでPHP動かす場合はFastCGIになるだろが・・・
何度も聞いてるが、お前は何を使ってnginx+phpを実現してるんだ?都合の悪い事は回答無しか?
> 914 :nobodyさん:2013/03/03(日) 17:37:57.86 ID:???
> >ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
> nginxはリバースプロキシ兼ロードバランサとしていれた。
何度見ても笑えるw
nginxをリバースプロキシとして使った人が
PHP(FastCGI)について語るスレがこちらになります。
アスペこえぇ・・・
いや、マジでwww
こ、こいつは・・・答えられなくてファビョるタイプのアスペ・・・・・・ッ!
>>924だけ教えてアスペくん
>>929 おれに聞いてるのか。
そういうのを釣りっていうんだよ。ちなみに、FastCGI PHP-fpmだが、だから何?っていう。
ところで、ZFとnginxの話に、リバースプロキシとして使ったっていうレスの雰囲気が、
E_STRICTをオフがいいって言い張ってたのに、結局使ってましたっていう坊やと似てるんだが、
同一人物?
A: E_STRICT 切ってるだろ
B: E_ALL だけど?
C: E_STRICT 切ってるじゃねーかw
B: E_STRICT なんていらない
ALL: 信じらんなーい
B: やっぱり E_STRICTでした。
>>930 なんだ結局FastCGIじゃん
君の理論だとそれnginxで動かしたって言わないよ
php-fpmで動かしてるだけじゃん
はい、論破。
>>932 それが言いたかったから突っかかってたのね
WebサーバーとPHPサーバーの接続にphp-fpmを使うってのが、
nginx上でPHPを動かすっていう意味として理解できないのを、
お前が大好きな"アスペ"っていうだよ。
おまえ、いろんなところでアスペって言われるだろ。
だから、ついついそれが出ちゃうんだな。
かわいそうになってきた。
>>932 > 君の理論だとそれnginxで動かしたって言わないよ
てか、オレの理論ってなんだよww
過去にお前の相手してくれた親切な人と勘違いしてね?
ま、しかし、これはない。
> 914 :nobodyさん:2013/03/03(日) 17:37:57.86 ID:???
> >ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
> nginxはリバースプロキシ兼ロードバランサとしていれた。
>>933 ごめん
>>915 かと思った
>ロードバランサとしてリバースプロキシを使うなら、内側にアプリケーションサーバー
>があるわけだろ。で、それがZFで動いてるんだろうけど。それって、ZFをnginxで使ったことにならないよな。
って書いてあったからさ、nginx + APサーバ(php-fpm)では、nginxでZF使った事にならんよねって皮肉だよ。
理解はしてるよ。
>>936 いや、おれは915だからあってるなw
いいかい?ちょっと説明しとくな。
リバースプロキシ兼ロードバランサってお前は書いたが、
どちらも、APサーバーではない。兼というよりそれはプロキシだ。
それは、nginxを動かしてるサーバーはAPサーバーとしては使ってませんっていうことだよ。
nginx + php-fpm構成はnginxを動かしてるサーバーでPHPコンテンツを吐き出す。
単にリバースプロキシって書くだけなら、内部の別ポートへのプロキシだって言い張れるが、
(実際にそういう構成はあるが)、ロードバランサって書いた以上は、負荷分散するのに
スケールアウトしてるっていうことになり、物理的に別のサーバーを指す。
ぜんぜん違うよ。意味わかってる?
>>937 0 nginx + php-fpm
1. nginx(LVS/RProxy) -> (php-fpm) x n
2. nginx(LVS/RProxy) -> (nginx + php-fpm) x n
3. nginx(LVS/RProxy) -> (apache + mod_php) x n
全部使った事あるよ。
3の構成が、nginxの恩恵とapacheの資産流用が出来てベターだった。
言いたい事はそれだけ。言葉遊びに付き合うつもりは無い。
遡れば
>>908 での発言が全て。
おぉーお約束!
(
>>931)パターン、再び
てことで一件落着
ちなみに、おれはアシアルの人だけどねw
>>939 いや、俺は
>>931 のBでは無いよw
お約束も何も、最初から使った事あるって言ってるやん。
>>942 こういうときはさ、多少言いたいことが残ってても、ぐっと飲み込んどくものだよ。
0 nginx + php-fpm
1. nginx(LVS/RProxy) -> (php-fpm) x n
2. nginx(LVS/RProxy) -> (nginx + php-fpm) x n
3. nginx(LVS/RProxy) -> (apache + mod_php) x n
もし、4パターンをすべて使ったことがあるなら、
> 914 :nobodyさん:2013/03/03(日) 17:37:57.86 ID:???
> >ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
> nginxはリバースプロキシ兼ロードバランサとしていれた。
このとき、0番か2番の、(nginx + php-fpm)上でZFを使ったときのことについて答えるよな。
「リバースプロキシ兼ロードバランサ」これが笑える理由はわかるな?
使ったことがあるかどうかは別として、この答えは笑っていい。
>>943 リバースプロキシ兼ロードバランサ構成って答えたら、普通1か2を想定するよね。
3を想像して笑う時点でお察しだよ・・・・・・
論破が目的じゃないなら、普通にどんな構成だったか聞いてくれれば、それぞれのメリットデメリット答えたのにね。
おわり。
>>944 > 3を想像して笑う時点でお察しだよ・・・・・・
別におれは3を想像なんてしてないんだがな。
> 普通にどんな構成だったか聞いてくれれば、それぞれのメリットデメリット答えたのにね。
ZFとnginxの具体的実装を聞かれてるのに、"構成"を答えてるから笑えるんだろw
>>907だってそうだろ。
なのに、構成のメリットデメリットを語りたいんだなってのがアリアリ
まじで「リバースプロキシ兼ロードバランサ」これが笑える理由がわからないらしいな。
>>915 >> リバースプロキシ兼ロードバランサ
>ロードバランサとしてリバースプロキシを使うなら、内側にアプリケーションサーバー
>があるわけだろ。で、それがZFで動いてるんだろうけど。
>それって、ZFをnginxで使ったことにならないよな。
この段階で3を想像していないなら、1か2って想像つくよね。
でもZFをnginxで動かした事にはならないんだってさ・・・
この時点でお互い認識ズレしてたんだろうね
>>907 とその後の議論を紐付けるなよ?それに対して俺は
>>908で終ってると思ってる
>>946 > この時点でお互い認識ズレしてたんだろうね
まぁ、そういうことにしといたるわ。
1か2とか関係ないな。
おれは、APサーバーとしてのZF+nginxという話を907からの流れとして維持してきたつもり。
ところが、お前さんは
>>914からプロキシ構成の話をしたかったわけだろ。
そこで、お互いの「認識がずれた。」ってことか。ものは言いようだな。
>>947 プロキシ云々言ってたのは
Nginxはhttpd、php-fpmはFastCGI 全く別のサーバが動いている。
物理的にどうであれ理論設計では WEB と AP に別れる。
Apache+mod_phpの場合は WEB/AP の1台になる。
という認識だったからだよ。
理論設計図描く時にうちでは WEB → AP を明確に分けるし、それを(リバース)プロキシ構成と称す事が多い。
WEBサーバがnginxだろうが、PHPが動くAPサーバはphp-fpmであり所詮FastCGIだよね
という意味でFastCGIという単語を使った。
まぁ根本からズレてたみたいね
>>948 > 理論設計図描く時にうちでは WEB → AP を明確に分けるし、それを(リバース)プロキシ構成と称す事が多い。
プロキシって書いただけならな。そういう言い訳もあるさ。
てか、それはオレが937で説明したやつじゃないかw
でも、リバースプロキシ兼ロードバランサって書いてあったなぁーー(遠い目)
> 914 :nobodyさん:2013/03/03(日) 17:37:57.86 ID:???
> >ところで、ZFのバージョンとnginxを使った目的と実際にどうだったか具体的に披露してみない?
> nginxはリバースプロキシ兼ロードバランサとしていれた。
ここからそれをエスパーしろといわれたら、根本からズレるわな。
しかし、ホント、ZFと関係ない話が続くな。
これなら、次スレいらないよな。
951 :
nobodyさん:2013/03/04(月) 10:02:21.66 ID:McjZyOHl
ここまで読んで、ZendFW使ってるのは精神が可笑しい奴しか居ないって事だけ分かった。
952 :
nobodyさん:2013/03/04(月) 10:05:59.08 ID:McjZyOHl
>>950 > しかし、ホント、ZFと関係ない話が続くな。
> これなら、次スレいらないよな。
うん。もうオワコンFWだしね。
ID:McjZyOHl
涙拭けよ
このスレにいるのは頭がオカシイってだけ。
オレを含めてな。
ほかのまともな皆さんを道連れにするなww
質問が出る → 誰かが答える → 既知外がそれに噛みつく → 炎上
>>907 >>908 >>909 が良い例、煽りたいだけのアホがいて、それを相手にしちゃうアホもいるだけ
もう、次スレは無しでいいと思う
>>949 リバースプロキシ兼ロードバランサの件
>>938で終了してるだろ、LVS構成も実施済みだよ。
それでも納得いかないらしいから、そもそも何でプロキシ/FastCGIという単語を使ったか
>>948で説明しただけだ
エスパー?何言ってるの?「読解力」が無いのと「自分の都合の良い解釈」をして相手を論破したいだけだろ
そもそも
>>907 が出てきてないのが良い証拠だよ。
お前が勝手に「それは間違っている」と思い込んで噛みついてきただけ。
そういうのを、アスペって言うんだよ
955 :nobodyさん:2013/03/04(月) 12:33:44.12 ID:???
>>949 リバースプロキシ兼ロードバランサの件
>>938で終了してるだろ、LVS構成も実施済みだよ。
それでも納得いかないらしいから、そもそも何でプロキシ/FastCGIという単語を使ったか
>>948で説明しただけだ
エスパー?何言ってるの?「読解力」が無いのと「自分の都合の良い解釈」をして相手を論破したいだけだろ
そもそも
>>907 が出てきてないのが良い証拠だよ。
お前が勝手に「それは間違っている」と思い込んで噛みついてきただけ。
そういうのを、アスペって言うんだよ
www
現実問題として、ZF2のダメさはオワコン
ZF2のウリって何?
個人的にはリファレンスサイトが見辛くなった時点でオワコン感ある
あと、なにあの象
普通、オワコンなFWなんか相手にしなきゃいいだけなんだけどな。
わざわざこんな閑散スレ来てなにしてんねんw
>>959 お前もだよw
まじでZF2で終った感あるね
検索しても全く情報出てこない
>>960 > 検索しても全く情報出てこない
おかしいなぁ。おれが検索すると、3,100,000件
自演乙
githubスターの数
symfony 6200
ZF2 3747
CakePHP 3613
寄らば大樹の陰という意味では、これからのPHPフレームワークの核はsymfonyだろう。
>>961 件数じゃなくて有益な情報はある?
ZF1に比べてとにかく「重い」って情報ばかりなのだがw
>>965 > 件数じゃなくて有益な情報はある?
それは目的次第で、有益な情報はかなりあるよ。
特に、ZFのデベロッパーが書いてるブログは参考になる。
> ZF1に比べてとにかく「重い」って情報ばかりなのだがw
「重い」という情報が多い理由は、
1.zf2のバージョンが古い。そもそも古い情報
2.チューニング前のデータ
3.計測が使用目的に合ってない。
などなど。
重いとか軽いとか、アイドルの公称体重みたいなもので
意味がないとは言わないが、一つの指標でしかない。
体重(重さ)の数値以外の方がよほど重要だろ。アイドルもFWも。
>>966 ZF1で特に不満が無いから、乗り換えに有益な情報を探してるんだ。
>「重い」という情報が多い理由は、
>1.zf2のバージョンが古い。そもそも古い情報
>2.チューニング前のデータ
>3.計測が使用目的に合ってない。
hello worldベンチでいいけど、最新のデータってある?
新旧にかかわらず、ZF1より重いって情報しか見つからないんだけど・・・
ZF1の唯一の不満点がフレームワークのオーバーヘッドなので、hello worldベンチが欲しい
>>967 zf2.1でのベンチは見たことないな。
ZF1のオーバーヘッドが気になるなら、Symfony2もzf2も選択対象から消える。
軽量なFWをおススメする。
ZF1で不満がないって、ありゃ不完全品もいいとこでしょ?
サラリーマンが会社の命令で、仕事だから作ったって感じで、
FWはこうあるべきだとか、こういうFWを自分が欲していたとか、
何にも思想が見えてこない。
CIはバカでも使えるFWを作ろうとしたとか、思想が伺えるのに。
そういう思想だからね
FWとしてのパーツは揃えた、好きに組み立てろって感じ
バカでも使えるFWは、バカが使ってる事多いよね
ちょっとFWの枠を越えた事しようとすると、出来ないとか言い出したり、
ORMの裏側を知らずに酷いSQL投げてたり・・・
ORMは直接SQLを投げないっしょ
> FWとしてのパーツは揃えた、好きに組み立てろって感じ
揃えたパーツも微妙に完成度が低いんだよね、、、
フォームとかそのままじゃ使い物にならないんだよね、、、
> ZF1は不完全品
まぁ、これは同意w
> 何にも思想が見えてこない。
思想ね。当時はPHP界隈ではFWは黎明期だった。
RoR風MVCが流行りだしていたので、それがFWの目的と勘違いする人が多かった。
ZF1の思想はRoR風のそれよりもOOPの基本原則を重視した。
大風呂敷を広げた分、Rails風のレトルトを期待した人には出来損ないと感じるものになった。
その期待はずれのことを「出来そこない」と感じる人もいるようだけど、
一方で、OOP原則も追いきれてないところが中途半端だった。
それでも、世界中でかなり使われたということはZF1はそれなりに成功してきたと言える。
数年たって、V2になってみると、実は皆、ZF1が目指していたものに近づいてきていると言える。
その意味では、ZF2はかなり目標に近づいてきた。
ただ、コアライブラリはかなり良いものになったが、
ZF1からそのまま引き継がれただけのものはまだ、ZF2に完全にマッチしていない。
そこが惜しいところだが、もともと疎結合を意識して作られたライブラリだから、かなり使える。
ZF2とSymfony2が似通ったものになった理由は、ほかにもあるが、結局目的地は同じだったというを最近では感じる。
Symfony2使いとZF2使いが目指しているものはほぼ同じだろう。
それぞれ完成度が上がってきてるから、ダメだしするほどのことはない。
よって、
ZF1を使ってたけど、思想が見えない人 => FuelPHPがおススメ
ZF1の思想を理解して使っていた人 => ZF2すごいよ。
Cake1、Symfony1の人 => Symfony2おススメ
OOPに入門したい人 => BEAR.Sundayをかじりながらの、Symfony2をおススメ
OOP余裕でわかるけど? => Typo3でもなんでも好きなのをどうぞw
OOPを追求したい => 自分で中身を判断してw (BEAR.Sunday とかLaravel4)
ZF2はイベント駆動にしたくせに何故FWのコアとなるMvcがあんなにモッサリなのか、
軽量版Mvcが用意されれれば相当お勧めではある。
誰かハックはよ
>>975 PhlyがマイクロMVCは出してるけどね。
それでもFWに軽量を求めるなら軽量FWを選んだ方が幸せになれる。
重いとかもっさりとかを自分で解決できない人にZFやSymfonyは無理
本格厨房で、ファストフードのスピードを求めるのはなんか違うって思わね?
マクドナルドが速いのはそれに特化しているからであって(ry
うろ覚えだけど、そもそもZF2ってZF1よりパフォーマンスを上げる事も目標に入ってなかった?
本体を軽量化して高速化、イベント駆動で拡張性確保かと思っていた
>>977 実際、Matthewがコメントしてたと思うけど、ZF1よりZF2の方がパフォーマンス出たって。
どうやって計測したのかは覚えてないけど。
ZF1でのオーバーヘッドのうちメジャーなのはrequire_onceだけど、これは当然解消されてる。
"本体を軽量化して高速化"ってのはどうかな。"軽量化"が意味するところにもよるが。
979 :
nobodyさん:2013/04/04(木) 17:18:25.15 ID:dVbNU2WF
サーバーを誤ってすっ飛ばしちゃった…
php-ZendFramework-1.12.0-1.el5.remi.noarch.rpm
上記のrpmパッケージをお持ちの方がいらっしゃいましたら、
何処かに置いて頂けたら助かります。
rpmじゃないとあかんの?
982 :
981:2013/04/06(土) 08:26:59.27 ID:???
あーマルチポストじゃなくて、アーカイブサイトか。
すまん、忘れてくれ
ZF1久々につかったけどやっぱすごいいいわ
やりたいことが全て完璧に実装されてる
ググっても見つからないって人は俺だったらこう設計するなと大体考えながら
ソースチラッと見るとそういう設計のクラスとメソッドが見つかるよ