Slide 1

Slide 1 text

4OPX.POLFZ$.

Slide 2

Slide 2 text

w גࣜձࣾϞϯΩʔϨϯν w 4OPX.POLFZ 8PSE1SFTTͷςʔϚ w .881'PSN 8PSE1SFTTͷ໰͍߹ΘͤϑΥʔϜϓϥάΠϯ w 4NBSU$VTUPN'JFMET 8PSE1SFTTͷΧελϜϑΟʔϧυϓϥάΠϯ w #BTJT 4BTT$44ϑϨʔϜϫʔΫ ࣗݾ঺հ ΩλδϚλΧγ !JOD

Slide 3

Slide 3 text

4OPX.POLFZ   ԁ ੫ࠐ ೥  ϒϩοΫΤσΟλʔରԠ  ΧελϚΠβʔ  ։ൃऀ޲͚

Slide 4

Slide 4 text

4OPX.POLFZ#MPDLT  ແྉ  8FCαΠτ੍࡞Ͱ࢖͑Δ ΧελϜϒϩοΫΛ ͨ͘͞Μ௥Ճ  ͲͷςʔϚͰ΋࢖༻Մೳ

Slide 5

Slide 5 text

ࠓ೔͸࠷ۙͷΞοϓσʔτͰ ಛʹؤுͬͨ΋ͷΛ ͭ঺հ͍ͨ͠ͱࢥ͍·͢ɻ

Slide 6

Slide 6 text

ϒϩοΫͷΞΠίϯΛ࡮৽

Slide 7

Slide 7 text

ϒϩοΫͷΞΠίϯΛ࡮৽ Old New

Slide 8

Slide 8 text

λϒϒϩοΫ

Slide 9

Slide 9 text

λϒϒϩοΫ

Slide 10

Slide 10 text

λϒϒϩοΫ

Slide 11

Slide 11 text

λϒϒϩοΫ

Slide 12

Slide 12 text

λϒϒϩοΫ

Slide 13

Slide 13 text

ઃఆϑΝΠϧͷಡΈࠐΈํࣜ

Slide 14

Slide 14 text

w 4OPX.POLFZ͸ɺGVODUJPOTQIQʹॻ͘Α͏ͳίʔυΛ֤ॲཧ ͝ͱʹϑΝΠϧ෼ׂ͍ͯ͠Δʢ$44+4ಡΈࠐΈ͸BQQTFUVQ BTTFUTQIQɺύϯͣؔ͘࿈͸BQQTFUVQCSFBEDSVNCTQIQͳ Ͳʣ w ෼ׂ͢ΔϝϦοτɿͲ͜ʹԿͷॲཧ͕ॻ͔Ε͍ͯΔ͔Θ͔Γ΍͢ ͍ɺࢠςʔϚͰۭϑΝΠϧͰ্ॻ͖͢Δ͜ͱͰॲཧΛ·Δ͝ͱফ ͤΔ w ෼ׂ͢ΔσϝϦοτɿϑΝΠϧಡΈࠐΈ଎౓͕஗͍αʔόʔͰ͸ ϖʔδͷಡΈࠐΈʹ͕͔͔࣌ؒΔ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ

Slide 15

Slide 15 text

͡Ό͋଎౓ॏࢹͷਓ͸෼ׂ͍ͯ͠ΔϑΝΠϧΛશ෦ ݁߹ͯ͠ɺͦΕΛಡΈࠐΉΑ͏ʹ͢Ε͹ྑ͘Ͷʁ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ

Slide 16

Slide 16 text

w ϖʔδΛ։͍ͨͱ͖ʹ݁߹ͨ͠ϑΝΠϧ͕ͳ͚Ε͹ɺ ֤ϑΝΠϧΛ݁߹ͤ͞Δ w ݁߹ͨ͠ϑΝΠϧ͕͋Ε͹ͦΕΛಡΈࠐΉ w ݁߹ͨ͠ϑΝΠϧ͸ςʔϚ಺ʹϑΝΠϧͱͯ͠ Ωϟογϡ͞ΕΔ w ςʔϚΛΞοϓσʔτ͢Δ͔ɺΩϟογϡΫϦΞϘλϯ Λԡ͢ͱ࠶౓݁߹͞ΕΩϟογϡ͞ΕΔ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ

Slide 17

Slide 17 text

w ͱ͸͍͑ɺ୯७ʹ݁߹͢Δ͚ͩͰ͸ಈ͔ͳ͍ w VTF͕ॏෳ͢Δͱಈ͔ͳ͍ ͦͷ··݁߹ͯ͠ϑΝΠϧ಺ʹಉ͡VTF͕ఆٛ͞Εͨ ঢ়ଶʹͳΔͱίέΔ  w ϑΝΠϧͷ్தͰSFUVSO͍ͯ͠Δॲཧ͕͋Δ ͱɺ݁߹ͨ͠ͱ͖ʹͦ͜Ͱશମͷॲཧ͕ऴྃ ͯ͠͠·͏ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ

Slide 18

Slide 18 text

w VTF͕ॏෳ͢Δͱಈ͔ͳ͍ ˠ೾ׅހߏจʹΑΔෳ਺ͷ໊લۭؒͷએݴ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ // ͔͜͜ΒϑΝΠϧ A namespace Hoge; use ClassA; use ClassB; …… // ͔͜͜ΒϑΝΠϧB namespace Fuga; use ClassA; // ͜͜ͰίέͪΌ͏ …… // ͔͜͜ΒϑΝΠϧ A namespace Hoge { use ClassA; use ClassB; …… } // ͔͜͜ΒϑΝΠϧB namespace Fuga { use ClassA; …… } ˠ

Slide 19

Slide 19 text

w ϑΝΠϧͷ్தͰSFUVSOͪ͠Ό͏໰୊ ˠॲཧશମΛDBMM@VTFS@GVODͰғΜͰແ໊ؔ਺Խ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ // ͔͜͜ΒϑΝΠϧ A namespace Hoge { if ( ! $foo ) { // ͜͜Ͱൈ͚ΔͱϑΝΠϧB ෦෼ͷ // ॲཧ͕ߦΘΕͳ͍ return; } …… } // ͔͜͜ΒϑΝΠϧB namespace Fuga { use ClassA; …… } // ͔͜͜ΒϑΝΠϧ A namespace Hoge { call_user_func( function() { if ( ! $foo ) { return; } …… } ); } // ͔͜͜ΒϑΝΠϧB namespace Fuga { use ClassA; call_user_func( function() { …… } ); } ˠ

Slide 20

Slide 20 text

͋Μ·Γ൓ڹ͕ͳ͍ͷͰ  ͥͻࢼͯ͠Έ͍ͯͩ͘͞ʂ