symfony PHPフレームワークpart2
symfony信者でいいから、質問の回答を早く頼む やっぱ時代はdjangoかpyramidだろw >>382 効率的なWebアプリケーションの作り方という本では、バンドル内にAppControllerを作って 自前コントローラをサブクラスにするやり方も載ってた気が >>392 AppControllerを作成して継承する場合、 全てのControllerに共通の処理をさせるには コンストラクタに記述するってことであっていますか? ltsもでるしsymfonyほどまともなfwないじゃん 単に日本のPHP技術者のレベルが低くては日本では流行らないだけで まぁ、いろいろ見たけどMVCとしての完成度は群を抜いて高いんじゃないか? あ、2のほうな ただ、現実的な問題として、これをいじれるような大きい案件 俺は受注できねぇんだよw 少なくともPHPの中では一番まともだなsymfony2は 使わないけど 例えば、どれと比べてsymfonyがまとも? symfonyにできてCakeにできないところって? >>399 できるだけなら素のPHPでもできる それにFWとしての側面はsymfony2の一部でしかないし 小規模ならsilexもあるし、作りとしてはsymfony2以外選択肢ない Zendくらい 抽象度が高い構造を持ってることと 他と比べて厳しめの規約を持っているってことだな。 まあ、規約を知るコストはあるし、 自分ルールで書きたくなる衝動を押さえるのがすごく歯がゆいこともあるが、 メンテはしやすいよ。 まあ、短期で作り捨てしてる人には向いてないが、 アクタが多数だったりする規模で、長期に手を入れていく場合に向いてる。 LTSもあるしね。 >>400 何が言いたいのか良く分からん。 なぜSymfony2以外に選択肢がないのかの説明を明確にして欲しい。 Zendはもっとたいしたことないし。 >>401 Zendもそうだけど、抽象化の度合いが無駄だと思う。 まぁsymfonyは、Zendほど無駄じゃないけど。 学習コストが高過ぎるよね。ほとんどの人はsymfonyの思想を理解できずに、オレオレ実装しちゃって、 仕様が入り混じって、ただでさえパスタなのに更にパスタになってる。 だったらsymfony使わずにオレオレ実装だけで作って貰った方がメンテしやすいシステムをいくつか見てきた。 つまり、Zendもsymfonyもダメなのは、抽象化が作者の趣味の領域になってると思われる点。 信者は盲信してるから、死後の世界を信じて苦行にも耐えるけど、まともな人間はとっとと見捨てる。 しかしZendは本当に使う価値がない。 Webアプリを作る上で最も重要なパーツは、FormとDBなのに、この2つが、あってもなくてもどうでもいい機能しかないんだよな。 不必要な機能ばっかりワンサカとある。 そういう意味ではDispatchしか使い道がないCIと価値は等価。 >>403 日本のPHPerは使いこなせないのが多いだろうね cakephpはひどすぎるけど日本じゃ人気 日本は回線は世界一なのに開発者は低レベルだからな。 PHPユーザに限らず。 とりあえずPHPはさっさとマルチスレッドを実装しろ >>407 例えばCakeのどこがひどい? い一番ひどい所を教えて。 >>408 日本の開発者のレベルは意外と高いよ。 同じ国にいるのと、日本人のネガティブカルチャーが、同民族を貶めたいと思う気持ちで、そう思わせるだけ。 底辺のレベルはアメリカだってひどいよ。 >>410 高くねーよ 例えば日本発のフレームワークで世界に使われてるものって何? 他に比べて高いってんならそう判断できるソースを 仮に開発者のレベルが高かったとしても リーダーを名乗って複数人束ねて外に表現していく能力は日本は低めなので フレームワークのたとえはよろしくないかな。 あとそもそも学力低めの人がネットで文字書くのは日韓くらいだから ネットだけ見てると日本のレベルが低く見えてくるってのもあるかもね。 >>411 なんで基準がPHP用のフレームワークなんだよ(苦笑 基準そのものが低いだろ…トホホ 日本発で開発的に使われてるプログラミング言語はあるけど、中国、韓国、インド、ドイツ、フランス、イギリス発で世界的に使われているプログラミング言語ってあったっけ? 日本人はフルスクラッチでOSを開発したけど、中国、韓国、インド、ドイツ、フランス、イギリスで開発されたOSってあったっけ? >>412 君の書く日本語の方が、レベルが低くて心配だよ… >>410 たぶん日本人開発者は平均的には他国の多くより上だろうと思う。 上は弱そうだよね。 別に頭が悪いんじゃなくて、やったるぜーがないというか。 自分もないですorz >>349 >よほどphpで自分用の勝手のいいライブラリを持ってたりしない限り、 >php捨てて他の言語のフレームワーク移ったほうがいいかもしれんな これはsymfonyがPHPフレームワークで最強って言いたいんでしょうか? そんなこと手嶋屋が看過しませんよ!!しませんからねっ! どなたか教えてください。 Ver1.4です。スキーマでmail,passwordを定義、 フォームでmail,password,re_passwordを作りました。 DBにはre_passwordを入れたくないのですが、どうすればいいでしょうか? よろしくお願いします。 そういうくだらない問題を解決しなきゃいけないから、symfonyってホント駄目だと思うね… ちなみに1.4系は1.2ほど使ってる人がいないから、解決策知ってる人が果たして現れるかどうか… 試しにアクションでre_passwordを追加しようと思ってフォームからre_passwordを消したのに php symfony doctrine:build --all --and-load --no-confirmation してもBaseフォームやschema.sql、DBにre_password(64)が作られる謎の現象が発生・・・。 それは使う側からみると謎の動作だけど、開発者側から言わせれば、仕様通りの動作なんだろうなぁ。 schema.yml → モデル、フォーム、DB が作られるのかと思ってましたけど、 他にもモデル、フォーム等を作るのに参照されているファイルってあるんですか? >>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の値を取得することは可能なのでしょうか。 よろしくお願いします。 read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる