PHPカンファレンス関西2012 Silex

3,777 views
3,687 views

Published on

1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
3,777
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
13
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • PHPカンファレンス関西2012 Silex

    1. 1. 次世代マイクロフレームワーク Silexサクっと高速Webアプリ開発 PHPカンファレンス関西 2012 日本Symfonyユーザー会
    2. 2. @brtriverSymfonyユーザー会 Silex
    3. 3. Silex
    4. 4. Silex
    5. 5. Silex
    6. 6. Silexの説明の前に... Silex
    7. 7. PHP界には多種多様のフレームワーク が存在している現実 Silex
    8. 8. CakePHP Symfony CodeIgniterZend Framework Ethna FuelPHP Yii Pinoco BEAR Silex .... Silex
    9. 9. 失敗しないフレームワーク選び Silex
    10. 10. なぜフレームワークを使って 開発をするのですか? Silex
    11. 11. フレームワークを使うと便利? •開発コストを抑えることができる •メンテンナンスが行い易い •セキュアなアプリ開発ができる •大人数で作業分担が行える Silex
    12. 12. •開発コストを抑えることができる •学習コストがあるため初期工数は増える•メンテンナンスが行い易い •フレームワークの思想にあった拡張しないとメンテナンス性DOWN•セキュアなアプリ開発ができる •間違った使い方で脆弱性を発生させる可能性•大人数で作業分担が行える •gitなどのバージョン管理のほうが大事 Silex
    13. 13. どのフレームワークを使って開発をするのが良いですか? Silex
    14. 14. 「どのフレームワークが覚えやすいですか?」「どのフレームワークが一番速いですか?」 Silex
    15. 15. 「どのフレームワークが覚えやすいですか?」「どのフレームワークが一番速いですか?」 最適なフレームワーク Silex
    16. 16. 失敗しないフレームワーク選び・何を開発したいのか?・いつまでに開発したいのか?・どのぐらいの規模のアプリなのか?・開発者のレベルはどれぐらいか? Silex
    17. 17. 失敗しないフレームワーク選び万人に適合するフレームワークは存在しないから ぼくのかんがえた さいきょう のふれーむわーく が乱立している Silex
    18. 18. 失敗しないフレームワーク選びフレームワークを使わないというのも選択肢の1つです。 Silex
    19. 19. Silex が さいきょう なパターン Silex
    20. 20. ・PHPでsinatra風な書き方・プロトタイプ開発・ルーティング機能さえあれば良い・モデルや設計はオレにやらせろ・Symfony2も知りたい Silex
    21. 21. <?php1 require_once __DIR__ . /silex.phar ;2 $app = new SilexApplication();3 $app->get( /hello/{name} , function ($name) use ($app) { return こんにちは . $app->escape($name); });4 $app->run();
    22. 22. たったの9行でWebアプリが書ける Silex
    23. 23. 特徴: その1 Silex を理解すればするほど Symfony2 も理解できる Silex
    24. 24. Symfony2 Component base Symfony Components PHP Silex
    25. 25. HONDA ビート (軽自動車)NSXと同様に ミッドシップエンジン・リアドライブが取り入れられ、ほぼ同時期の開発・発売とあって、その相似がとりあげられることもある。実際には開発チームは別々で双方の人的交流もなかったが、ルームミラーは開発陣が意図して NSXと全く同じもの を装備していた。 (wikipedia)
    26. 26. 特徴: その2 方向性がはっきりしている
    27. 27. Silex Philosophy • CLI のツール • 外部の設定ファイルを必須とするような機能 • PHPっぽくない機能 • Silex に多くのコードを追加して実装するような機能https://github.com/fabpot/Silex/wiki/Silex-Philosophy
    28. 28. Silex Philosophy • CLI のツール • 外部の設定ファイルを必須とするような機能 • PHPっぽくない機能 • Silex に多くのコードを追加して実装するような機能https://github.com/fabpot/Silex/wiki/Silex-Philosophy
    29. 29. Silex Philosophy • CLI のツール • 外部の設定ファイルを必須とするような機能 • PHPっぽくない機能 • Silex に多くのコードを追加して実装するような機能https://github.com/fabpot/Silex/wiki/Silex-Philosophy
    30. 30. Silex Philosophy • CLI のツール • 外部の設定ファイルを必須とするような機能 • PHPっぽくない機能 • Silex に多くのコードを追加して実装するような機能https://github.com/fabpot/Silex/wiki/Silex-Philosophy
    31. 31. Silex Philosophy • CLI のツール • 外部の設定ファイルを必須とするような機能 • PHPっぽくない機能 • Silex に多くのコードを追加して実装するような機能https://github.com/fabpot/Silex/wiki/Silex-Philosophy
    32. 32. 特徴: その3 PHP 5.3 を フル活用 Silex
    33. 33. PHP 5.3 を理解する必要がある Silex
    34. 34. PHP 5.3 PHAR ( PHP 5.2.0以降) 名前空間無名関数(クロージャー) Silex
    35. 35. 特徴: その4 DIコンテナ$app = new SilexApplication(); Silex
    36. 36. パラメータとして設定$app[name] = アムロ・レイ ;$app[ some_service] = $app->share( ....(何かの処理)...); Silex
    37. 37. PHAR 名前空間無名関数(クロージャー) DIコンテナ これらを駆使して... Silex
    38. 38. たったの9行でWebアプリが書ける Silex
    39. 39. <?php1 require_once __DIR__ . /silex.phar ;2 $app = new SilexApplication();3 $app->get( /hello/{name} , function ($name) use ($app) { return こんにちは . $app->escape($name); });4 $app->run();
    40. 40. ルーティング毎に 処理を実装 Silex
    41. 41. GET メソッド$app->get( /hello/{name} , function ($name) { return Hello . $name;});POST メソッド$app->post( /hello , function () use ($app) { $name = $app[ request ]->get( name ); return Hello . $name;}); Silex
    42. 42. 特徴: その5 プロバイダー (Provider) Silex
    43. 43. 追加機能をプロバイダーで 拡張可能 Silex
    44. 44. プロバイダーを使うために...$app = new SilexApplication();$app->register(new AcmeHogeProvider()); Silex
    45. 45. プロバイダーを使うために...$app = new SilexApplication();$app->register(new AcmeHogeProvider()); registerメソッドで登録 Silex
    46. 46. 標準のプロバイダー •DoctrineServiceProvider •MonologServiceProvider •SessionServiceProvider •TwigServiceProvider •TranslationServiceProvider •UrlGeneratorServiceProvider •ValidatorServiceProvider •HttpCacheServiceProviderサードパーティのプロバイダー https://github.com/fabpot/Silex/wiki/Third-Party-ServiceProviders
    47. 47. Twigプロバイダー を使うと... Silex
    48. 48. $app[ twig ] にTwigのインスタンスが セットされている
    49. 49. 特徴: その6 使いやすい 日本語ドキュメント Silex
    50. 50. http://silex-users-jp.phper.jp/ Silex
    51. 51. とにかく導入の敷居は低いので触ってみてください Let s try Silex
    52. 52. ご清聴ありがとうございました
    53. 53. すべてのSilex機能を 標準で用意したバージョン Silex Kitchen Editionhttps://github.com/lyrixx/Silex-Kitchen-Edition Silex

    ×