Your SlideShare is downloading. ×
0
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
20分でSymfony@OSC名古屋
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

20分でSymfony@OSC名古屋

1,550

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,550
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
2
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×