symfony PHPフレームワークpart2
>>418 そういうくだらない問題が皆無なフレームワークを是非教えてください symfonyっうより、Doctrineがダメなんじゃね? だいたい、なんでカラム名をキャメルケースに変換しなけりゃならない必然性があるわけ?鬱陶しいちゅうねん modelなら、カラムuser_idがあるとして、 $model->getUserID()じゃなくて$model->user_idで取得できなかったっけ? >>425 それを言ったら、Cakeの複数形の方が鬱陶しい。 1.4系です。 デフォルトのアクションで、executeDeleteの時だけ $request->checkCSRFProtection(); するのはなぜですか? executeCreateの時は自動でやってるんですか? $form->isValid() でCSRFチェックを行なっていて、deleteではフォームを見ないから、 という認識で良いのでしょうか? Symfony1.4で日本語メールを送る方法を色々とググって 試したのですが、理解が足りないのか、なかなかうまく行きません。 みなさんはどの方法を使っていますか? URLかプラグイン名を教えて下さい。 $message = sfContext::getInstance()->getMailer()->compose(); $message->setCharset('iso-2022-jp'); $message->setEncoder(Swift_Encoding::get7BitEncoding()); //タイトルと本文はmb_convert_encodingでJISにしてからセット で行けるよ。 じゃあ何ならいけてるの?Zend_Mail?mb_send_mail?それとも門外不出の俺俺ふれーむわーく? 少なくともデフォルトで多言語化されてないとダメだろ 日本語メールに対応していないフレームワークは多いと思うけど、少し手を加えればいい話でしょ。 >434みたいにではなくもう少し根元を変更してしまえば気にせず送信できるようになる。 CMSのez Publish5がsymfony2になったね ez publishのレベルでマイナーとか言ってる奴は、転職したほうがいいわ 普及っていうのが>>443 みたいな素人の個人サイトでも使われるって意味なら、 間違いなく普及しないだろうな。 エンタープライズ向けだし。 手嶋屋のダメさがSymfonyのダメさになってるよな SNS作るのにどんだけかかっとんねん Symfonyやめて他のフレームワークに移ったら、大便出た時ぐらいすっきりするぜ。 いっそのことPHPやめて他の言語に移ったら、釣りから帰って風呂入った時ぐらいすっきりするぜ。 俺も昔はSymfonyが最強だと思ってたが大間違いだったわ。他の世界を覗いてみるもんだ。 レンサバでセッションが30分で切れてしまうのですが、 ページ開いている間は切れないようにしたいです。 どのようにすればよいでしょうか? >>446 本職のプログラマでPHP好きな人はほとんどいないが、いかんせん求人ではPHPが圧倒的に多い 自分はRailsが好きだけど、諸般の事情でPHPばかりやるはめになってる 962 :非公開@個人情報保護のため:2013/03/15(金) 13:51:30.88 お知らせ 市原警察署の生活安全課の帰化人創価警官の指導の元、 入学式から2週間ほど、在日の創価学会員を主体とした自称防犯パトロールが、 2週間ほど行われることになりました 生活安全課の指導であることと、パトロールであることは、 絶対に公言してはいけないとの指導も、帰化人創価警官より出ています 期間中は2人組の在日の創価学会員が、頻繁に創価批判者の自宅周辺を、 うろつき回ると思われます 日本人の方は、充分に注意してください >>451 > >>446 > 本職のプログラマでPHP好きな人はほとんどいないが、いかんせん求人ではPHPが圧倒的に多い > 自分はRailsが好きだけど、諸般の事情でPHPばかりやるはめになってる だからクソみたいな納品されんのか >>450 定期的に通信させる関数を検索したら periodically_call_remote() というのがあったのですが、実際に呼びだそうとすると 未定義とエラーが出てしまいます。。。 >>454 どこで見つけたの? それ、誰か自分で実装しただけとか? >455 ttp://www.thekyo.jp/manual/symfony/1.1/11-Ajax-Integration.html に載ってました。 1.4では廃止されてるんでしょうか・・・。 最近Symfony2を勉強しはじめた者ですが、 アドバイスをいただきたいことがあります。 共通のライブラリを使う場合は、 /vendor 以下に格納するように設計されているというのが分かったのですが、 オートロードのパスのとおし方が分かりません…。 /vendor/composer/autoload_namespaces.php こちらに追記すれば良いのかと思ったのですが、 さのファイルはネームスペースを使っているライブラリ用みたいですし…。 https://github.com/serbanghita/Mobile-Detect これをバンドル内で使いたいのでオートロードさせたいのですが、 どのような位置に置いて、どのファイルをいじってパスを通せば良いのか、 どうか助言をお願いします。 >>457 composer対応してるライブラリみたいだからcomposer.jsonのrequireに mobiledetect/mobiledetectlibを足すだけで行けるよ。 足した後はphp composer.phar update >>458 ありがとうございます! composerも全然理解できていなかったので勉強します。 なおcomposer非対応のライブラリを使う場合は どのようにするものなのでしょうか。 vendor以下に自分で適当にディレクトリを作って そこに放り込むのでしょうか。 加えての質問失礼します。 symfony2でのtrailing slashの扱いについてです。 サイト内リンクを貼る際に {{ path('link') }} こちらで /pageurl/ この出力を期待しているのですが symfony2ではURL末端はスラッシュなしが標準になっているようで どのようにRouteの設定をしても /pageurl こうなってしまいます。 解決策について、どうかお知恵をお貸し願います。 失礼しました >>460 は勘違いでした。 シンプルに @Route("/test/", name="test") これだと期待通りに、 path('test')で/test/が出力されます。 /index.htmlがリクエストされた際にも対応しようと下記のにすると、 @Route( "/test/{filename}", name="test" requirements = { "filename" = "|index\.html" }, defaults = { "filename" = "" } ) path('test')で出力されるのは/testになってしまいます。 上記パターンではもスラッシュありを出力するような書き方がありましたら どうかご教授願います。 symfony1.4を使用しており、アプリケーション名を変更したら、確かに画面に表示はされるんですが、 画面の一番上の行に Warning: include(Test.php): failed to open stream: No such file or directory in 〜変更前のパス〜 Warning: include(): Failed opening 'Test.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in 〜変更前のパス〜 というエラーが出てきており困っております。 変更したのは、以下の箇所なんですが、他に変更するべきところってありますか? /appsの中にある、アプリケーション名(ディレクトリ名)を変更 /web配下のファイル名とその中に記述のある、$configuration = ProjectConfiguration::getApplicationConfiguration('アプリ名', 'dev', true);変更 symfony ccをしてもダメで、cacheフォルダから昔のアプリ名のディレクトリを削除してもダメでした。 他にここを見ろってわかる方いたらお願いします。 symfony1系って、アクションとテンプレートが近いディレクトリにあるから、編集しやすいんだよな rails系にしてもsymfony2にしても、コントローラとテンプレートが遠すぎて探すのめんどい CSSデザインが当たり前の今時、デザイナーがHTMLいじらす必要なんて無いし、絶対近いほうがいいと思うんだが 近いとか遠いとかの概念がよくわからん シンボリックリンクで好きに配置すれば? >近いとか遠いとかの概念がよくわからん そんなこともわからないほど頭が弱いなら無理して考えなくていいよ そんなシンボリックリンクを作る手間をかけさせる事自体無駄な設計 >>459 ライブラリ側がcomposer非対応でもPSR-0に対応してればcomposer.jsonのautoloadに書くことで使えるよ PSR-0じゃなかったらapp/autoload.phpで手動で$loaderにパスを追加することになる。 $loaderはSymfony\Component\ClassLoader\UniversalClassLoaderじゃなくて Composer\Autoload\ClassLoaderだから書き方は要注意。 >>466 ありがとうございます! とても勉強になりました。 書き方も気をつけてやってみます。 Symfonyバージョン2ですがtwigを編集したり コントローラーを書き換えたものが実環境に反映されません。 php app/console cache:clear --no-warmup これでキャッシュがクリアされるという記事を見ましたが 実行しても反映されません。 /app/cache/prodを削除するとやっと反映されます。 web/app.phpでは $kernel = new AppKernel('prod', false); となっていますがここら辺に間違いがあるのでしょうか。 お詳しい方教えてください。 >>468 app/console cache:clear --env=prod --no-debug --no-warmup --envで、キャッシュクリア対象の環境の指定が必要(この場合は、prod)かな。 指定がない場合デフォルトだとdev環境の方のキャッシュがクリアされるはず。 >>469 ありがとうございます! クリアできました! こういうのは英文のドキュメントくらいしか 情報が載っているサイトはないのでしょうか。 >>470 ですがすみません、日本語ドキュメントにも書かれていました。 教えて下さい。 Symfony 2.2.0 → 2.2.1 にアップデートしたいのですが composer のコマンドひとつでアップデートできるものなのでしょうか。 >>472 プロジェクトのディレクトリに移動して php composer.phar update 本家とのタイミングで2.2.1以上になる事態を避けたいなら、 バージョンが上がりすぎないようにcomposer.json で "symfony/symfony" のところを 2.2.1 に書き換えて実行。 最近はあまりないけど、たまに動かん時があるから注意。 >>473 ありがとうございます! さっそく試してみます! iPhoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61 Http://qr. net/kh4y symfony2を使っているのですが、twigファイル内で普通のPHPコードを 書くことは出来ないのですか? 例えば、PHPの関数strtotimeを使いたい場合、twigファイル内で <? echo strtotime(〜); ?> とやってもうまく行きません。もちろん、 twigファイル内で{{ 〜|strtotime() }} と書いてもうまく行きません。 Smartyの{php}{/php} のように、普通のPHPコードを書くことは出来な いのでしょうか? >>476 できません。 strtotimeを使う処理はコントローラに書くべき。 本来ビューにphpコードを書かなきゃいけないというのは設計が悪いと思うけど、 そういう設計をしたいならtwigを止めてphpテンプレート使えばいいんじゃね? というかSymfony2(+Doctrine2)でstrtotimeを使わないといけない場面が想像 できないんだが…。 >>476 様 >>477 様 >>478 様 >>479 様 ご回答ありがとうございます。twigでは書けないのですね。あるAPIを使用 して取得した時刻が「20130522」のような形式なので、これをstrtotimeして からdateで「2013-05-22」としたかったのですが、twig内でやるべきでは ないのですね。ありがとうございました。 >>480 Twigでは出来ないというだけで、 表示としての加工ならView側で実装すべきだよ Twig拡張すればええんでね? Model側でタイムスタンプに変換しておくべきとかならまだしも strtotime() = PHPコード = Viewに書くべきでは無い! みたいなレスが多いね イレギュラーな処理は「無理」「出来ない」で片付ける、典型的なフレームワーク脳だな・・・ 普通にtwigの拡張書くだろ cakeでも使っといたほいがいんじゃねーのw >>480 strtotime でいける書式ならそのままdate filterでいけるよ。 まずはドキュメント読みましょう。 http://twig.sensiolabs.org/doc/filters/date.html ちなみに何か表示用の整形したい場合には自作filterで行くのが定石。 でも、APIなどから取得したものをcontroller側でDateTimeオブジェクトにするとviewがもっとシンプルに書けるよ。 キャッシュのせいでエラー位置特定しづらいのも問題だわ メリットが何も見えてこないんだが・・・。 これで開発効率上がった現場ってあるの? ただの継ぎ接ぎをSymfonyとは勘違いも甚だしい。 Twig 内での書き方について教えてください。 app.request.scheme などでリクエスト内容の取得ができますが、 コントローラの /** * @Route(…, * defaults = { "example" = "" } * ) * @Template */ defaults で指定したexampleの値を取得することは可能なのでしょうか。 よろしくお願いします。 twigで変数をキーに入れてハッシュ作るって出来ないんでしょうか? 例えば $hashkey='aaa'; array($hashkey=>'bbb'); を表現するのに {hashkey:'bbb'} と書くとダメって言われるんですがこれはtwig的には許されない? >>489 defaults={"example" = "..."}がついてるアクションメソッドが$exampleをreturnしていれば(@Templateついてるから) ビュー側でexampleで参照できる >>492 あー、やっぱ思想的にそうしてるんですね… これ通るように実装するのは手間じゃないだろうから、そうなのかな、とは薄々思ったんですが gitのスレッドまで教えてもらって、とってもスッキリしました。 ありがとうございます。 symfony2なのですが、リダイレクトすると Redirecting to リダイレクト先のURL. と記載されたページをはさんでから転送されてしまうのですが このページを表示させず直接リダイレクトするには どうすれば良いのでしょうか? /** * @Route("/test/", name = "test") */ public function testAction() { return $this->redirect($this->generateUrl('nextpage'), 302); } >>495 config.ymlとか、config_dev.yml の web_profilerの設定でintercept_redirects はfalseになってる? >>496 レスありがとうございます はい。入っていますが表示されてしまいます >>497 falseになってるなら、あとは、cacheクリアかな >>498 アドバイスありがとうございます ですがキャッシュクリアしてもやはり出てしまいます 301リダイレクトだと大丈夫なのですが… バージョン2.3.2を利用しています 403エラーページを出したいURLも404エラーページが出てしまいます mod_rewriteの記述はデフォルトのままから変えていないのですが なにかテクニックが必要なのでしょうか >>500 RewriteCond %{REQUEST_FILENAME} !-d を追加で行けないかな? >>501 書き加えましたがだめでした ところで質問したあとに気づいたのですが エラーページもSymfonyで制御して出すようにしているので mod_rewriteは関係なかったですね… symfony2.3.3で、doctrine:generate:crudを使用しているのですが、作成されるviewがtwigになります。 これを作成される段階で、phpテンプレートにしたいのですが、方法などありますか? doctrine寄りの質問になるのかもしれませんが… Softdeletable で論理削除を利用しているのですが 論理削除されたレコードがDBに残っている状態のときに ユニーク制約のひっかかる id のオブジェクトを登録をしようとすると 制約にひっかかってしまって登録されません。 てっきり勝手に on duplicate key update 指定が入るかと思ったのですが 実行されているSQLを確認したところそういったこともないようでして… こういったことを想定すると、オブジェクトを生成してpersistで登録するのではなく prepareでSQLを発行して登録するしか回避法はないでしょうか お詳しい方ご助言をお願いします サイトのドメイン名によって使用するコントローラを 切り替えることは可能なのでしょうか …Bundle\Controller\ 以下に配置したコントローラは すべて読み込まれてしまうようなのですが たとえば example.com だったなら AaaController.php example.jp だったなら BbbController.php だけ読み込む、というようにしたいのです。 Routingの設定でhostってのがあるからそれにマッチさせれ >>510 なるほど でもNotEmpty制約も効いてないみたいなんですよね 一応見なおして他の部分はサンプル通りになっているはずなんですが… もう流行ってないのかなこのフレームワーク (´・ω・`) >>512 laravelがsymfonyベースで、国内じゃあっちの方が流行ってるんじゃね? EC-Cube て中身が Symfony だったとは知らなかった。 ソース見たらほぼそのまんまって感じだった。 symfonyじゃなくてSilexだろ。 symfonyのベースのフレームワーク EC-CUBE 3系にSilexを持ち込んだ奴らはとっくに逃亡したそうなw 無責任なやつらだw EC-CUBE 2.xもかなりのタコだったが、Silexより直線的だった分遅くはなかった。 EC-CUBE程度の規模のWebアプリにはSilexは不向きだろうに。 Silexを採用した理由にアップデートの容易さを挙げているが、やつらカスタマイズの現場を知らなかったんだろう。 Silex みてきた。まだ違いがわかってないが、trait を使って一部書き換えているように思う。 カスタマイズしたサイトはアップデートできないということか。 Sliex使ってるならカスタマイズなんていくらでもできるだろ ディスパッチャーだってあるし どうしたら>>518 のような結論になるんだ? 今さらですが「基礎からしっかり学ぶSymfony2入門」始めました。 ただいま6章の途中、ここで愚痴ります。 ・PHPのビルトインサーバだと、BASIC認証できません。 一言あってもいいんじゃないかと思うのだけれど この先、認証の部分は捨てるしかないなぁ。 ・Gmailの接続できません。 これ、困ってる人いないのかな・・・。 二段階認証をやめる、avastを切る、sslの確認オプションをfalseにするというのも やってみたけれど、やはり接続できない。 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 PJGP3QGO73 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる