20分でSymfony@OSC名古屋

1,857 views
1,749 views

Published on

Published in: Self Improvement
2 Comments
0 Likes
Statistics
Notes
  • httpd.confは以下の通り



    Listen 127.0.0.1:8080

    <VirtualHost 127.0.0.1:8080>
    DocumentRoot 'C:\sftest2/web'
    DirectoryIndex index.php
    <Directory 'C:/sftest2/web'>
    AllowOverride All
    Allow from All
    </Directory>

    Alias /sf C:\xampp/php/PEAR/data/symfony/web/sf
    <Directory 'C:\xampp/php/PEAR/data/symfony/web/sf'>
    AllowOverride All
    Allow from All
    </Directory>
    </VirtualHost>
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 実演内容は以下の通り




    #my.iniをutf8にして日本語対応に。
    default-character-set = utf8
    skip-character-set-client-handshake

    #DBを生成
    mysqladmin -uroot -p create sftest

    #Symfonyディレクトリに移動
    cd c:\sftest

    #プロジェクトを生成
    symfony generate:project sftest

    #アプリケーションを生成
    symfony generate:app frontend

    #DB設定をSymfonyに行う
    symfony configure:database 'mysql:host=localhost;dbname=sftest' root

    #スキーマをSymfonyに設定する
    SftestData:
    connection: doctrine
    tableName: sftest_data
    columns:
    id:
    type: integer(8)
    primary: true
    autoincrement: true
    sftest_key:
    type: integer(8)
    sftest_value:
    type: string(255)

    #モデルを生成
    symfony doctrine:build --model
    symfony doctrine:build-sql

    #テーブルを生成
    symfony doctrine:insert-sql

    #フォームを生成
    symfony doctrine:build-form

    #データーモデルに紐付いたモジュールを生成
    symfony doctrine:generate-module --with-show --non-verbose-templates frontend sftest sftestData


    #確認
    http://localhost:8080/frontend_dev.php/sftest
    (Apacheの設定はすでにしてあるという設定です。)

    #テンプレートを変えてみる
    indexSuccess.phpのタイトルを変更

    スライドに戻ります。









    #ホームページを変えてみる
    #http://localhost:8080/frontend_dev.php/sftest を
    #http://localhost:8080/ にする。

    #routing.yml
    homepage:
    url: /
    param: { module: sftest, action: index }

    #階層を作り出す
    #http://localhost:8080/frontend_dev.php/sftest を
    #http://localhost:8080/category にする。

    #routing.yml
    default:
    url: /category/:module/:action/*


    スライドに戻る。


    #c:\sftest\webにデスクトップにおいてあるsampleディレクトリをコピー
    #http://localhost:8080/sample
    #で開けるか確認する

    http://localhost:8080/sample

    スライドに戻る
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
1,857
On SlideShare
0
From Embeds
0
Number of Embeds
103
Actions
Shares
0
Downloads
8
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

20分でSymfony@OSC名古屋

  1. 1. 20 分で覚える Symfony <ul>Symfony ユーザー会 中村慎吾 </ul>1/19
  2. 2. 自己紹介 <ul><li>ファーストロジックというベンチャー企業に勤めてます。
  3. 3. Symfony ユーザー会の立ち上げに参加
  4. 4. 先月、日経ソフトウェアに Symfony1.4 の特集を書きました </li></ul>2/19
  5. 5. PHPの開発って… <ul><li>昔から Java や C++ を触ってきた身としては、手軽なイメージ
  6. 6. 開発スパンが非常に短いモノが多い急いで作らなくっちゃ!
  7. 7. 複数人で開発も多々
  8. 8. 似たような案件が多い </li></ul>3/19
  9. 9. PHPの開発って… <ul><li>楽したいですよね?
  10. 10. でも、良い物を作りたいですよね?
  11. 11. メンテナンスの度にスパゲティを食べるのは嫌ですよね? </li></ul>4/19
  12. 12. PHPの開発って… <ul><li>ぜひSymfonyを使ってください! </li></ul>5/19
  13. 13. Symfony って何? <ul><li>WEB アプリを高速に、堅牢に、高機能にする PHP フレームワーク
  14. 14. MVCに沿った開発をしやすい </li><ul><li>M…モデル
  15. 15. V…ビュー
  16. 16. C…コントローラー </li></ul><li>オブジェクト指向で開発できる </li></ul>6/19
  17. 17. Symfony って何? <ul><li>DBモデルを自動生成します! </li><ul><li>既存のDBからモデルを生成することも
  18. 18. イチからモデルとDBそのものを生成することも
  19. 19. セッターゲッター作らなくても大丈夫!
  20. 20. NetBeansとの相性が最高です! </li></ul><li>どこに何のファイルを置くのか悩まなくて大丈夫です
  21. 21. でもかなり柔軟です。(オートロード凄いヨ </li></ul>7/19
  22. 22. Symfony の構造 <ul><li>プロジェクト
  23. 23.   アプリケーション
  24. 24.     モジュール
  25. 25. Lib はモデル
  26. 26. config は設定
  27. 27. action はコントローラー
  28. 28. Template はビュー
  29. 29. 実際に見てみましょう。  </li></ul>8/19
  30. 30. Symfony の構造 <ul><li>プロジェクト ・ アプリケーション ・ モジュール
  31. 31. 色分けしてみました。
  32. 32. 親ディレクトリ
  33. 33. + lib
  34. 34. + config
  35. 35. 大抵はこの構造 </li></ul>9/19
  36. 36. <ul><li>config と lib はオートロードの対象
  37. 37. .htaccess を想像すると分かりやすいかも </li></ul>Symfony の構造 10/19
  38. 38. Symfony のコマンド <ul><li>Admin 的な画面を生成 </li><ul><li>PhpMyAdmin っぽい </li></ul><li>Db の仕様に沿ったモデルを生成 </li><ul><li>もう SetXXX GetXXX を作らなくてもいい </li></ul><li>独立性の高いアプリケーション・モジュールのスケルトンを生成 </li><ul><li>下位ディレクトリは上位ディレクトリに
  39. 39. 影響を与えない。よって消しても問題なし </li></ul></ul>11/19
  40. 40. 実演してみます。 <ul>        流れ <li>DBを作成
  41. 41. 編集 , 表示 画面を作成 </li></ul>12/19
  42. 42. このままでも十分ですが… <ul>     今日はもうひとつ。 <li>昨今、SEOが非常に重要に成ってまいりました。
  43. 43. ディレクトリ構成も又、SEOに有用なんです。(私も最近知りました orz
  44. 44. で・・・ </li></ul>13/19
  45. 45. ルーティングについて <ul><li>クライアントの要望として、 このページはこのカテゴリに入れて欲しい、 このページはココ! 1 ヶ月後はキャンペーンのカテゴリに入れて欲しい・・・・ gdgdgdg  となった場合に対応…出来ます!
  46. 46. url_for(' モジュール名 / アクション名 ')
  47. 47. 例: <?php echo url_for('sftest/index') ?>
  48. 48. これをテンプレートに書くことによって、
  49. 49. routing.yml に記載した形の URL に形成されてリンクを作り出すことが出来ます。 </li></ul>14/19
  50. 50. 実演してみます。 <ul>        流れ <li>routing.yml を編集
  51. 51. 正しくルーティングされているか確認 </li></ul>15/19
  52. 52. 既存コンテンツ共存 <ul><li>静的なページや、今までのコンテンツとの共存も web ディレクトリ直下に入れれば問題なし
  53. 53. 実演します。 </li></ul>16/19
  54. 54. まとめ <ul><li>Symfony はさまざまな要望にスマートに答えるお手軽なフレームワークである
  55. 55. 堅牢性も高い
  56. 56. 2 年間のサポート保障
  57. 57. なんでも出来るけど、限定的に使うことも出来る。その場合の学習コストは…非常に小さい!! </li></ul>17/19
  58. 58. まとめ <ul>今後の学習方法としては、 <li>Symfony 公式の Jobeet (分からない所は飛ばす位のつもりで。半年位使ってから全部読み直すと良いです)
  59. 59. Symfony ユーザー会のドキュメント
  60. 60.     & 日経ソフトウェア 7 月号の記事 </li></ul>18/19
  61. 61. <ul>ご清聴ありがとうございました。 </ul>19/19

×