Slide 1

Slide 1 text

ٕज़ॻ঺հɿ ύʔϑΣΫτPHP 2015/07/08 @ikuwow

Slide 2

Slide 2 text

ࣗݾ঺հ • ग़઒ز෉ • ϚΠϒʔϜɿReact.js • ޷͖ͳ໺ࡊ ωΪ @ikuwow

Slide 3

Slide 3 text

ຊͷ֓ཁ • 2010೥ॳ൛ୈ1࡮ൃߦ • ݁ߏްͯ͘ॏ͍ • PHPͷਓʹฉ͘ͱ͍͍ͩͨ࣋ͬ ͯΔ or ಡΜͩ͜ͱ͋Δ • ର৅ಡऀ͸தڃऀҎ্ʢPHPͰ ೔ৗతʹ։ൃΛ͖ͯͨ͠ਓ or ଞͷݴޠΛ࢖͍͜ͳ͍ͯ͠Δ͕ PHPͷ͜ͱΛΑ͘஌Βͳ͍ਓʣ

Slide 4

Slide 4 text

ʮPHP͸CݴޠͰهड़͞Ε͍ͯ ΔͨΊɺCݴޠ͕Θ͔Βͳ͍ͱ ཧղ͢Δ͜ͱ΋೉͍͠Ͱ͠ΐ͏ʯ ʘ·͡Ͱʗ ʢୈҰষ ίϥϜʣ

Slide 5

Slide 5 text

໨࣍ • ୈ1෦ PHPͷ֓ཁ • ୈ2෦ PHPͷݴޠ࢓༷ • ୈ3෦ ࣮ફWebΞϓϦέʔγϣϯ • ୈ4෦ PHPηΩϡϦςΟ • ୈ5෦ ςΫχΧϧͳPHPͷ׆༻ ͕͜͜ ໘ന͍

Slide 6

Slide 6 text

ʮୈ3෦ ࣮ફWebΞϓϦέʔ γϣϯʯ͕͍͢͝ • ୈ6ষ ࣮ફWebΞϓϦέʔγϣϯ • ୈ7ষ ϑϨʔϜϫʔΫʹΑΔޮ཰తͳ։ൃ • ୈ8ষ ϛχϒϩάΞϓϦέʔγϣϯ։ൃ DB࢖ͬͨ؆୯ͳΞϓϦέʔγϣϯ࡞੒ MVCϑϨʔϜϫʔΫͷ࡞੒ ʂʁ ϑϨʔϜϫʔΫΛ࢖ͬͨϛχϒϩά։ൃ ʂʁ

Slide 7

Slide 7 text

MVCϑϨʔϜϫʔΫΛ࡞Δ • ClassLoader, Controller, RouterΫϥεͳ ͲΛόονϦ࡞Γ͜Ή • ࣍ͷষͰϑϨʔϜϫʔΫΛར༻ͯ͠ϛχ ϒϩάΞϓϦέʔγϣϯΛ࡞Δ dirs[] = $dir; } public function loadClass($class) { foreach ($this->dirs as $dir) { $file = $dir . '/' . $class . '.php'; if (is_readable($file)) { require $file; return; } } } }

Slide 8

Slide 8 text

ͨΊʹͳΔ͜ͱ • ੜPHPͱϑϨʔϜϫʔΫͷ͕ؒΘ͔Δʂ
 => ϧʔςΟϯά͔Β֤छΦϒδΣΫτΛखΛಈ͔ ͠ͳ͕Β࡞Δ͜ͱͰMVCϑϨʔϜϫʔΫͷཧղ͕ ਂ·Δ • ॳ৺ऀΛ୤ͨ͠Ϩϕϧͷਓ͕ؒҧ͕͑ͪͳ࢓༷Λ த৺ʹઆ໌͞Ε͍ͯΔʢ ‘0’ == ‘0.0’ ͕trueʹͳ ΔɺͳͲʣ

Slide 9

Slide 9 text

ͦͷଞΑ͍ͱ͜Ζ • ηΩϡϦςΟʹଟ͘ϖʔδΛׂ͍͍ͯΔ • php.iniͷσΟϨΫςΟϒҰཡ • PHPͷϏϧυΦϓγϣϯҰཡ
 —with-xml, —enable-soap • Ҏ֎ͳݴޠ࢓༷ʹ஫໨ͨ͠આ໌
 ʢ ‘0’ == ‘0.0’ ͕trueʹͳΔɺͳͲʣ

Slide 10

Slide 10 text

ಡΉͱ͍͍ਓ Ͳ͔͜Ͱݟֶͨशۂઢ 1)1ͷ࣮ྗ ֶश࣌ؒ ͍֮ࣗͯ͠Δ࣮ྗ ࣮ࡍͷ࣮ྗ աڈʹʮPHP͙Β͍Ͱ͖·͢Αʯͱ ΄͍͍ͯͨࣗ͟෼ΛռΊɺਅͷPHPerΛ໨ࢦͨ͢ΊͷҰ࡭

Slide 11

Slide 11 text

·ͱΊ • MVCϑϨʔϜϫʔΫΛ࡞Δষʹ஫໨ • ࣗ෼ͷֶशϑΣʔζor࣮ྗʹݟ߹͍ͬͯΔͱ ຊ౰ʹ໘ന͍ຊ • ͜ΕΛखΛಈ͔͠ͳ͕ΒશͯಡΈ͖ͬͯཧղ ͨ͠ΒʮPHPͰ͖Δʯͱࣗ৴Λ΋ͬͯݴ͑Δ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠