トップページphp
511コメント153KB

symfony PHPフレームワークpart2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/03/17(水) 00:34:44ID:???
前スレ
フランチョスとsymfony
http://pc11.2ch.net/test/read.cgi/php/1201177567/

1.x系公式
http://www.symfony-project.org/

symfony reloaded(2.0) まだプレビュー版
http://symfony-reloaded.org/
0470nobodyさん2013/04/05(金) 00:11:18.74ID:???
>>469
ありがとうございます!
クリアできました!

こういうのは英文のドキュメントくらいしか
情報が載っているサイトはないのでしょうか。
0471nobodyさん2013/04/05(金) 00:20:18.15ID:???
>>470ですがすみません、日本語ドキュメントにも書かれていました。
0472nobodyさん2013/04/08(月) 11:45:47.79ID:???
教えて下さい。
Symfony 2.2.0 → 2.2.1 にアップデートしたいのですが
composer のコマンドひとつでアップデートできるものなのでしょうか。
0473nobodyさん2013/04/12(金) 23:46:26.38ID:???
>>472

プロジェクトのディレクトリに移動して
php composer.phar update

本家とのタイミングで2.2.1以上になる事態を避けたいなら、
バージョンが上がりすぎないようにcomposer.json で
"symfony/symfony" のところを 2.2.1 に書き換えて実行。

最近はあまりないけど、たまに動かん時があるから注意。
0474nobodyさん2013/04/14(日) 10:48:00.59ID:???
>>473
ありがとうございます!
さっそく試してみます!
0475nobodyさん2013/04/14(日) 20:13:12.71ID:???
iPhoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61
Http://qr. net/kh4y
0476nobodyさん2013/05/21(火) 22:52:07.42ID:eIWlTZvw
symfony2を使っているのですが、twigファイル内で普通のPHPコードを
書くことは出来ないのですか?
例えば、PHPの関数strtotimeを使いたい場合、twigファイル内で
<? echo strtotime(〜); ?> とやってもうまく行きません。もちろん、
twigファイル内で{{ 〜|strtotime() }} と書いてもうまく行きません。
Smartyの{php}{/php} のように、普通のPHPコードを書くことは出来な
いのでしょうか?
0477nobodyさん2013/05/22(水) 08:08:53.78ID:???
>>476
できません。

strtotimeを使う処理はコントローラに書くべき。
0478nobodyさん2013/05/22(水) 09:08:33.20ID:???
モデルに書くべき。
0479nobodyさん2013/05/22(水) 10:14:52.31ID:???
本来ビューにphpコードを書かなきゃいけないというのは設計が悪いと思うけど、
そういう設計をしたいならtwigを止めてphpテンプレート使えばいいんじゃね?

というかSymfony2(+Doctrine2)でstrtotimeを使わないといけない場面が想像
できないんだが…。
0480nobodyさん2013/05/23(木) 23:16:42.07ID:zrU9EndH
>>476
>>477
>>478
>>479

ご回答ありがとうございます。twigでは書けないのですね。あるAPIを使用
して取得した時刻が「20130522」のような形式なので、これをstrtotimeして
からdateで「2013-05-22」としたかったのですが、twig内でやるべきでは
ないのですね。ありがとうございました。
0481nobodyさん2013/06/07(金) 23:55:53.50ID:???
>>480
Twigでは出来ないというだけで、
表示としての加工ならView側で実装すべきだよ

Twig拡張すればええんでね?
0482nobodyさん2013/06/09(日) 00:42:20.58ID:???
Model側でタイムスタンプに変換しておくべきとかならまだしも
strtotime() = PHPコード = Viewに書くべきでは無い! みたいなレスが多いね

イレギュラーな処理は「無理」「出来ない」で片付ける、典型的なフレームワーク脳だな・・・
0483nobodyさん2013/06/09(日) 00:50:04.47ID:???
普通にtwigの拡張書くだろ
cakeでも使っといたほいがいんじゃねーのw
0484nobodyさん2013/06/21(金) 03:28:01.76ID:???
>>480
strtotime でいける書式ならそのままdate filterでいけるよ。
まずはドキュメント読みましょう。
http://twig.sensiolabs.org/doc/filters/date.html
ちなみに何か表示用の整形したい場合には自作filterで行くのが定石。

でも、APIなどから取得したものをcontroller側でDateTimeオブジェクトにするとviewがもっとシンプルに書けるよ。
0485nobodyさん2013/07/06(土) NY:AN:NY.ANID:???
DQLがゴミすぎて笑える
0486nobodyさん2013/07/07(日) NY:AN:NY.ANID:???
キャッシュのせいでエラー位置特定しづらいのも問題だわ
0487nobodyさん2013/07/10(水) NY:AN:NY.ANID:???
メリットが何も見えてこないんだが・・・。
これで開発効率上がった現場ってあるの?
0488nobodyさん2013/07/13(土) NY:AN:NY.ANID:???
ただの継ぎ接ぎをSymfonyとは勘違いも甚だしい。
0489nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
Twig 内での書き方について教えてください。
app.request.scheme などでリクエスト内容の取得ができますが、
コントローラの
/**
* @Route(…,
* defaults = { "example" = "" }
* )
* @Template
*/
defaults で指定したexampleの値を取得することは可能なのでしょうか。
よろしくお願いします。
0490nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
テンプレ変数に渡せばいいだろ
0491nobodyさん2013/07/23(火) NY:AN:NY.ANID:???
twigで変数をキーに入れてハッシュ作るって出来ないんでしょうか?
例えば
$hashkey='aaa';
array($hashkey=>'bbb');
を表現するのに
{hashkey:'bbb'}
と書くとダメって言われるんですがこれはtwig的には許されない?
0492nobodyさん2013/07/23(火) NY:AN:NY.ANID:???
>>491
そういう処理はControllerでやれとfabienが言ってた
https://github.com/fabpot/Twig/issues/273
0493nobodyさん2013/07/23(火) NY:AN:NY.ANID:???
>>489
defaults={"example" = "..."}がついてるアクションメソッドが$exampleをreturnしていれば(@Templateついてるから)
ビュー側でexampleで参照できる
0494nobodyさん2013/07/23(火) NY:AN:NY.ANID:???
>>492
あー、やっぱ思想的にそうしてるんですね…
これ通るように実装するのは手間じゃないだろうから、そうなのかな、とは薄々思ったんですが
gitのスレッドまで教えてもらって、とってもスッキリしました。
ありがとうございます。
0495nobodyさん2013/07/29(月) NY:AN:NY.ANID:???
symfony2なのですが、リダイレクトすると

Redirecting to リダイレクト先のURL.

と記載されたページをはさんでから転送されてしまうのですが
このページを表示させず直接リダイレクトするには
どうすれば良いのでしょうか?

/**
* @Route("/test/", name = "test")
*/
public function testAction()
{
return $this->redirect($this->generateUrl('nextpage'), 302);
}
0496nobodyさん2013/07/30(火) NY:AN:NY.ANID:???
>>495
config.ymlとか、config_dev.yml の web_profilerの設定でintercept_redirects はfalseになってる?
0497nobodyさん2013/07/30(火) NY:AN:NY.ANID:???
>>496
レスありがとうございます

はい。入っていますが表示されてしまいます
0498nobodyさん2013/07/31(水) NY:AN:NY.ANID:???
>>497
falseになってるなら、あとは、cacheクリアかな
0499nobodyさん2013/07/31(水) NY:AN:NY.ANID:???
>>498
アドバイスありがとうございます

ですがキャッシュクリアしてもやはり出てしまいます
301リダイレクトだと大丈夫なのですが…
0500nobodyさん2013/08/06(火) NY:AN:NY.ANID:???
バージョン2.3.2を利用しています
403エラーページを出したいURLも404エラーページが出てしまいます

mod_rewriteの記述はデフォルトのままから変えていないのですが
なにかテクニックが必要なのでしょうか
0501nobodyさん2013/08/06(火) NY:AN:NY.ANID:???
>>500
RewriteCond %{REQUEST_FILENAME} !-d
を追加で行けないかな?
0502nobodyさん2013/08/07(水) NY:AN:NY.ANID:???
>>501
書き加えましたがだめでした

ところで質問したあとに気づいたのですが
エラーページもSymfonyで制御して出すようにしているので
mod_rewriteは関係なかったですね…
0503nobodyさん2013/08/17(土) NY:AN:NY.ANID:???
symfony2.3.3で、doctrine:generate:crudを使用しているのですが、作成されるviewがtwigになります。
これを作成される段階で、phpテンプレートにしたいのですが、方法などありますか?
0504nobodyさん2013/09/13(金) 09:43:01.29ID:???
doctrine寄りの質問になるのかもしれませんが…
Softdeletable で論理削除を利用しているのですが
論理削除されたレコードがDBに残っている状態のときに
ユニーク制約のひっかかる id のオブジェクトを登録をしようとすると
制約にひっかかってしまって登録されません。

てっきり勝手に on duplicate key update 指定が入るかと思ったのですが
実行されているSQLを確認したところそういったこともないようでして…

こういったことを想定すると、オブジェクトを生成してpersistで登録するのではなく
prepareでSQLを発行して登録するしか回避法はないでしょうか

お詳しい方ご助言をお願いします
0505nobodyさん2013/10/05(土) 21:52:12.12ID:???
phalconのスレは無いのかな?
0506nobodyさん2014/03/02(日) 09:38:35.74ID:???
>>1
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/87
0507nobodyさん2014/03/15(土) 15:21:49.02ID:???
サイトのドメイン名によって使用するコントローラを
切り替えることは可能なのでしょうか

…Bundle\Controller\ 以下に配置したコントローラは
すべて読み込まれてしまうようなのですが
たとえば
example.com だったなら AaaController.php
example.jp だったなら BbbController.php
だけ読み込む、というようにしたいのです。
0508nobodyさん2014/03/18(火) 07:24:42.11ID:???
Routingの設定でhostってのがあるからそれにマッチさせれ
0509nobodyさん2014/04/20(日) 22:42:37.07ID:oUBZc4dT
このチュートリアルのバリデーションが全く動かないんだけど
Symfony2.4だとやり方変わってる?

http://docs.symfony.gr.jp/symfony2/osc2011-nagoya-symfony2-tutorial/symfony2-php-framework-development-tutorial.html#id23
0510nobodyさん2014/04/21(月) 00:43:04.07ID:???
>>510
Min,Max制約は無くなった。
0511nobodyさん2014/04/21(月) 06:46:13.16ID:???
>>510
なるほど
でもNotEmpty制約も効いてないみたいなんですよね
一応見なおして他の部分はサンプル通りになっているはずなんですが…
■ このスレッドは過去ログ倉庫に格納されています