スポンサーサイト

0

    一定期間更新がないため広告を表示しています


    • 2014.12.23 Tuesday
    • -
    • -
    • -
    • -
    • -
    • by スポンサードリンク

    Symfony2のdoctrine:generate:crudではまりやすいところ

    0
      久しぶりにここに記事書きます^^
      ついに!業務でSymfony2を使えることになりました!いえーい!!

      というわけで、さっそくdoctrine:generate:crudを使いまくってます。
      で、個人的にはまりやすいところをいくつかメモです。(書いておかないと次にやるとき忘れる…)

      ■Configuration formatはbundle自体のConfiguration formatに合わせる
      bundleのConfiguration fotmatをymlにしてしまったら素直にymlを選んだほうがいいです。
      一回ポンポンエンターキーを押してたら、bundleがymlなのにも関わらずannotationにしてしまい、あれこれググってもうまくimportさせることができませんでした。

      ■routingのauto updateは必ず失敗する
      そのため必ず手動でResources/config/routing.ymlの変更が必要(ymlにしてる場合)
      去年の12月のSymfony勉強会のハンズオンでも聞いてたのでそれほど焦らず(笑)

      ■update,deleteのHTTPメソッド
      まず、Tests/Controllerにできる機能テストスケルトンのコメントアウトを外してそのまま実行すると必ず失敗します。
      デフォの更新・削除画面をそのまま操作しても必ずエラーになります。
      generate:crudが吐き出すviewではupdateがPUT、deleteがDELETEメソッドになるように書いてある(hiddenでname="_method"が書かれている)にも関わらず、routingがどちらもpostと指定されているからです。
      これはわざとそうなってるのか、2.1.0のバグなのかわかりません。
      従って、generate:crudが終わったらまず、edit.html.twigとshow.html.twigを開いてPUT,DELETEのhiddenを消す、又はrouting側の指定をput,deleteに変更する必要があります。
      自動生成されるコントローラを見る限り、特にHTTPメソッドが変わることによって処理が分岐することはないので、私はPUT,DELETEのhiddenを消してpostで処理するようにしました。

      ■viewにHTMLタグが無い
      生成されたtwigテンプレート達に{% extends "::base.html.twig" %}{% block body %}{% endblock %}をコピペするお仕事をやるだけです。←なにか自動化できないものか…
      ちなみにバンドルごとに違うbasehtmlを使いたいときは::base.html.twigでなく
      src/Acme/DemoBundle/Resources/views/base.html.twig → AcmeDemoBundle::base.html.twig
      みたいな感じで参照できました。




      第5回Symfony2勉強会に参加してLTしてきました!

      0
         12月4日(日)に第5回Symfony2勉強会に参加してLTしてきました!
        参加レポートです。

        ■到着
        道玄坂をえっちらおっちら登って、こんなキレイなビルに入るの怖いよーと半泣きになりながら8Fへ。
        受付で思わず本名を名乗ってしまったのですが、githubで顔出ししておいた成果で(?)受け付けの方から「77webさんですよね」と。

        ■ハンズオン
        後藤さんによるハンズオン。
        Symfony-standard2.0.6を使って掲示板(?)アプリのバンドルを作成するまでを丁寧に順を追って説明。
        2.0.0かbetaの頃に一度触ったきりだったのですが、色々と変わっているところ(楽になっているところ!)が多くてびっくりしました。

        ■TwigExtensionの作り方
        テンプレートを綺麗にできるのはすごくいいと思います。

        ■スイーツタイム
        お昼にプリン食べたばっかりだったのと、急いでLTの準備と帰る準備をしておかないとヤバかったので辞退しましたが、美味しそうなプリンでした☆

        ■LT「SymfonyComponentを使ってWordPressプラグインを作ろう」
        スライド
        http://www.slideshare.net/77web/symfony-componentwordpress

        サンプルコード
        https://github.com/77web/wp-sf-myplugin

        話し始める前は勝手に「Symfonyだし、自社の大規模システムやってる人が多そうだから全然うけなかったらどうしよう?」と心配してたのですが、受託の話のところで結構笑ってもらえたので安心しましたv

        gdgd色々言いましたが、私の中での結論は、「皆もっとSymfonyComponent使おうよ!Symfony普及させようよ!」ということです^^

        なお、話してるうちに何度もマイクの存在を忘れてしまって、会場の奥の方やustで視聴頂いた方には全然聞こえなかったと思われます。。ごめんなさい。


        ■全体通して
        当日朝に東京着の高速バスで上京して、17時半に東京発の高速バスで帰るという弾丸トラベラーだったため、LTの順番を最初にしてもらったり、LT途中でも現在時刻を示してもらったりと色々と配慮いただいて申し訳ないやらありがたいやら。
        後藤さん、前田さん、その他のスタッフの皆様も、本当にありがとうございました。

        普段Twitter上でお話している方々ともろくに挨拶もできず、次(!)はもう少し余裕のある日程で行きたいなと思いました。

        終わり。



        PR

        calendar

        S M T W T F S
            123
        45678910
        11121314151617
        18192021222324
        252627282930 
        << June 2017 >>

        twitter

        selected entries

        categories

        archives

        recent comment

        • 結局CodeIgniter用汎用Modelクラス&汎用CRUDスクリプトを書きました
          プログラマー
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          ななうぇぶ
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • icu4.4以上が用意できないサーバーでSymfony2.3以上を使う方法
          よし
        • WindowsのPCで開発するphperがxhprofを使う方法
          ななうぇぶ
        • WindowsのPCで開発するphperがxhprofを使う方法
          川本
        • [バッドノウハウ]Symfony2で別テーブルの集計項目を一覧に含めたいとき
          よし
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          77web
        • Symfony Advent Calendar JP 2012 day 14 - vendorをcomposerで管理しているプロジェクトにcomposerを使わずにバンドルを追加したときのautoloadの書き方
          ktz

        recent trackback

        • HTMLの表(TABLE)のセル(TD)に斜線を引くjavascriptライブラリ slash.js 作っちゃいました
          常山日記
        • django対symfony 日本語メール送信(その1 symfony編)
          CPA-LABテクニカル
        • CodeIgniterでユーザー認証
          されどLAMPな日々
        • 久々にdjangoを最新版にしたらHTMLがエスケープされちゃった!!(解決済み)
          常山日記
        • FastCGIを諦めてmod_pythonを使う。Apacheのアップグレード
          サーバー用語集
        • さくらインターネット、sqlite3でdjango@CGI版を使う際の設定メモ
          常山日記
        • さくらインターネット スタンダードプランでdjango使ってる方、DBは?
          mitszoの日記
        • python多次元リストをsort(並べ替え)する方法?
          mitszoの日記
        • フォームから送信した値とrequest.POSTの挙動($_POST@PHPとの比較)
          Humming Via Kitchen
        • 日本語テキストをtruncate@django(Python全般にも??)
          常山日記

        recommend

        links

        profile

        search this site.

        others

        mobile

        qrcode

        powered

        無料ブログ作成サービス JUGEM