Symfony2を1年間実践で使ってみて学んだこと

 Symfony2を1年間実践で使ってみて学んだこと

PHPカンファレンス北海道
2012.04.21

Ff822949384025796e11fd7f681df060?s=128

Katsuhiro OGAWA

April 21, 2012
Tweet

Transcript

  1. Symfony2Λ1೥࣮ؒફͰ ࢖ͬͯΈֶͯΜͩ͜ͱ גࣜձࣾΫϩίε খ઒༤େ

  2. ࣗݾ঺հ •খ઒ ༤େ / ͓͕Θ ͔ͭͻΖ @fivestr •גࣜձࣾΫϩίε •೔ຊSymfonyϢʔβʔձ •PHPྺ6೥

    ( ≒ ϓϩάϥϛϯάྺ) •http://fivestar.hatenablog.com/
  3. ஶॻ •ύʔϑΣΫτPHP •symfony 1.4ʹΑΔWebΞϓϦέʔγϣϯ։ൃ •೔ܦιϑτ΢ΤΞ

  4. ࠓ೔ͷ಺༰ •Ϋϩίεͷ׆ಈ঺հ •Symfonyʹ͍ͭͯ •͜ͷ1೥ͰֶΜͩ͜ͱ •ॻ੶ͷએ఻ʢҰ൪େࣄʣ

  5. גࣜձࣾΫϩίε •2011.02.07ʹ૑ཱ •http://crocos.co.jp/ •5ਓͷPHPΤϯδχΞ •ओͳۀ຿͸FacebookΞϓϦ։ൃ •डୗͰ͸ͳ͘ASP

  6. αʔϏε঺հ(اۀ޲͚) •CrocosϚʔέςΟϯά •Facebook޲͚ϚʔέςΟϯάεΠʔτ •ݱࡏ8ͭͷΞϓϦΛఏڙ •CrocosΧλϩά •ָఱ্Ͱൢച͍ͯ͠Δ঎඼ΛFacebook ϖʔδ্Ͱ΋දࣔ͢ΔΞϓϦ

  7. αʔϏε঺հ(Ұൠ޲͚) •Crocosεέδϡʔϥ •Crocosεϙοτ •CrocosΑ͕͖ͤ •Crocosݒ৆ •͢΂ͯFacebookΞϓϦ

  8. Facebookެೝʂ •Ϋϩίε͕FacebookͷೝఆϚʔέςΟϯ άσϕϩούʔʹͳΓ·ͨ͠ʂ(೔ຊॳʂ) •4.19ʹൃද͞Εͨ͹͔Γ •ࠃ಺Ͱ͸4ࣾͷΈ

  9. ։ൃͷελΠϧ •֤ΞϓϦ͝ͱʹ୲౰͕1ਓ •2ਓ1νʔϜͰਐḿ΍λεΫΛ؅ཧ •֤ࣗɺ1೔ʙ3िؒ͘Β͍ͰػೳΛ࡞ͬͯ ϦϦʔεΛ܁Γฦ͍ͯ͠Δ

  10. ։ൃʹ͍ͭͯ •αʔόαΠυ͸͢΂ͯPHP •Symfony2ϑϨʔϜϫʔΫΛ࠾༻

  11. Symfony2 •ൺֱత৽͍͠ϑϨʔϜϫʔΫ •PHP 5.3Ҏ্

  12. Symfony2Λ࠾༻ͨ͠ܦҢ •৽͔͔ͬͨ͠Β…… •࠾༻ͨ͠౰࣌͸·ͩΞϧϑΝ൛ •PHP 5.3޲͚ͷϑϨʔϜϫʔΫͱͯ͠ଞʹ ·ͱ΋ͳ΋ͷ͕ͳ͔ͬͨ

  13. Symfonyͷಛ௃ •Symfony͸ߴ͍ॊೈੑΛ࣋ͭ •ઃܭͷࣗ༝౓͕ߴ͍ͨΊɺઃܭεΩϧ͕ ͦΕͳΓʹٻΊΒΕΔ •։ൃॳ৺ऀʹ͸ෆ޲͖

  14. SymfonyͱϞσϧ •SymfonyͰ͸༷ʑͳ͜ͱ͕ϞσϧΛத৺ʹ ߦΘΕΔ •ೖྗϑΥʔϜΛѻ͏ॲཧͷྲྀΕ 1.ϑΥʔϜσʔλΛϞσϧʹ൓ө 2.Ϟσϧͷঢ়ଶΛόϦσʔγϣϯ 3.ϞσϧͷσʔλΛσʔλϕʔε΁อଘ

  15. SymfonyͱϞσϧ •SymfonyͰ͸Ϟσϧ͸ϐϡΞͳPHPΦϒ δΣΫτͱͯ͠ѻ͏ •΍Γ͍ͨ͜ͱʹ࠷దԽͨ͠ΦϒδΣΫτ Λ༻ҙ͢ΔͱεϜʔζʹ໰୊ΛղܾՄೳ

  16. SymfonyʹݶΒͣ •Ϟσϧ͸ΞϓϦέʔγϣϯͰ΋ͬͱ΋ॏ ཁͳ෦෼ •ϑϨʔϜϫʔΫ͕༻ҙͨ͠Ϋϥε͚ͩͰ ͳ͘ɺඞཁʹ͋Θͤͯॊೈʹ࣮૷͢Δ

  17. Symfonyͱόϯυϧ •Symfonyͷػೳ͸όϯυϧͱ͍͏୯ҐͰ· ͱΊΒΕ͓ͯΓɺඞཁͳ΋ͷ͚ͩ࢖͏͜ ͱ͕Ͱ͖Δ •ϑϨʔϜϫʔΫ͕༻ҙ͢Δػೳ͕߹Θͳ ͚Ε͹ແཧʹ࢖͏ඞཁ͸ͳ͍

  18. νʔϜʹ͋ͬͨ΋ͷΛ࢖͏ •SymfonyΛ࢖͍࢝Ίͯ1൪࢖͍ͮΒ͔ͬͨ ͷ͕ඪ४ͷೝূͷ࢓૊Έ •ઃఆ͕ෳࡶͰѻ͍ͮΒ͔ͬͨͷͰɺγϯ ϓϧͳೝূͷ࢓૊ΈΛ࣮૷ • https://github.com/crocos/CrocosSecurityBundle

  19. όϯυϧʹΑΔ࠶ར༻ •࢖͍ճͤΔίʔυ͸όϯυϧʹ·ͱΊͯ ࢖͍ճ͍ͯ͠Δ •GitͰ؅ཧ͍ͯ͠Δ

  20. γϯϓϧʹ࡞Δ͜ͱ •ͲΜͳʹॊೈʹͰ͖Δ͔Βͱ͸͍͑ɺෳ ࡶԽͯ͠͸؅ཧ͕େม •ඞཁͳ෼Λγϯϓϧʹ࣮૷͍ͯ͘͜͠ͱ ͕ޮ཰తʹΞϓϦΛ։ൃ͍ͯ͘͠ίπ

  21. YAGNIݪଇ •“You ain’t gonna need it” ͷུ •ඞཁʹͳΔ·Ͱ࣮૷͠ͳ͍

  22. DI •“Dependency Injection” ͷུ •ґଘੑͷ஫ೖͱ͍͏ҙຯ •ΦϒδΣΫτؒͷґଘ౓Λ཈͑ΔͨΊͷ ςΫχοΫ

  23. None
  24. DIίϯςφ •ґଘؔ܎Λઃఆ͓ͯ͘͠ͱɺ͏·͍͜ͱ ΍ͬͯ͘ΕΔΦϒδΣΫτ •࢖͍͗͢ΔͱෳࡶʹͳΔͷͰ΄Ͳ΄Ͳʹ ͓ͯ͘͠

  25. ࠷ۙͷ՝୊ •ΞϓϦͷύϑΥʔϚϯε͕ѱ͍ •ͦ΋ͦ΋νϡʔχϯάΛ͍ͯ͠ͳ͍ •Symfonyࣗମ΋ΘΓͱॏ͍ •ςετΛॻ͘ •PHP 5.4Խ

  26. SymfonyͬͯͲ͏ͳͷʁ •๻Έ͍ͨͳ೴ΈͦΦϒδΣΫτࢦ޲ͰͰ ͖͍ͯΔਓʹద͍ͯ͠Δ •σβΠϯύλʔϯͳͲΛਵॴͰऔΓೖΕͯ ͍ΔͨΊɺύλʔϯΛ஌͍ͬͯΔͱΘΓ ͱεϜʔζʹֶशͰ͖Δ •υϝΠϯۦಈઃܭ (DDD)

  27. ॻ੶঺հ •๻͕͜Ε·Ͱ։ൃΛߦ͖ͬͯͨதͰֶΜ ͩ͜ͱΛॻ੶ʹ͠·ͨ͠ •ݱ৔ͷ։ൃऀ޲͚

  28. ޮ཰తͳWeb ΞϓϦέʔγϣϯ ͷ࡞Γํ •ٕज़ධ࿦ࣾ •2,780ԁ •352ϖʔδ •5.29ൃച ISBN978-4-7741-5082-6

  29. Part1 MVC։ൃͷجૅ஌ࣝ • 1ষ MVC։ൃͷ֓ཁ • 2ষ ΦϒδΣΫτࢦ޲

  30. Part2 ϑϨʔϜϫʔΫΛར༻ ͢Δར఺ • 3ষ ϨΨγʔίʔυͷܽ఺ • 4ষ ϦϑΝΫλϦϯάɾσβΠϯύλʔ ϯ࣮ફ

    • 5ষ ϑϨʔϜϫʔΫΛ׆༻͢Δ
  31. Part3 ϞμϯPHP WebΞϓϦ έʔγϣϯ։ൃ • 6ষ ΞϓϦέʔγϣϯ։ൃΛ࢝ΊΔͨΊ ͷ४උ • 7ষ

    σʔλϕʔεͱΤϯςΟςΟ • 8ষ ίϯτϩʔϥͱϏϡʔ • 9ষ ϑΥʔϜͱσʔλϕʔε
  32. Part4 ػೳͷ࡞੒ͱ࣮૷ͷύ λʔϯԽ •10ষ Ϣʔβొ࿥ •11ষ ΠςϨʔγϣϯ •12ষ ؅ཧը໘ •13ষ

    ίϚϯυϥΠϯεΫϦϓτ •14ষ Ϣχοτςετ •15ষ ػೳςετ
  33. None