Slide 1

Slide 1 text

,FJUB)PSJLBXB 3FBEPOMZ1SPQFSUJFT 1)15FDI$BGF

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

3FBEPOMZ1SPQFSUJFTͬͯʁ w ม਺ͷॳظԽޙʹ஋Λมߋ͢Δ͜ͱΛې͡ΔϓϩύςΟ w ஋ΦϒδΣΫτͱσʔλసૹΦϒδΣΫτͷϞσϧԽʹ໾ཱͭ

Slide 4

Slide 4 text

class User { public function __construct ʢ private string $ name ʣ { }   public function getName ʢʣɿ string { return $ this- > name ; } } ͜Ε·Ͱ w QSJWBUFͳม਺એݴͱQVCMJDͳHFUUFSͷ૊Έ߹Θͤ w ❌ಡΈऔΓઐ༻ɹ⭕มߋ͕ൃੜ͢ΔՄೳੑͷ͋ΔൣғΛ୯ҰΫϥεʹ

Slide 5

Slide 5 text

class Test { public readonly string $prop;   public function __construct(string $prop) { // ॳظԽ . $this->prop = $prop; } }   $test = new Test(“foobar") ; // ಡΈࠐΈ͸OK . var_dump($test->prop); // string(6) "foobar "   // ஋ͷ্ॻ͖͸NG. ୅ೖ͢Δ஋͕ಉ͔͡Ͳ͏͔͸ؔ܎ແ͍ . $test->prop = "foobar"; // Error: Cannot modify readonly property Test::$pro p 3FBEPOMZ1SPQFSUJFTΛ࢖͏ͱ w Ұ౓͚ͩม਺ͷείʔϓ͔ΒͷॳظԽΛڐՄ ɹɹɹɹɹɹɹɹɹɹ↪︎Ϋϥεͷ֎͔ΒͷॳظԽ͸ڐ͞Εͳ͍

Slide 6

Slide 6 text

੍ݶ w ఆٛ࣌ʹσϑΥϧτ஋Λ࣋ͯͳ͍ w SFBEPOMZͷ෇͚֎͠Λ൐͏ΦʔόʔϥΠυͷېࢭ w ॳظԽޙͷVOTFU ͷېࢭ w ॳظԽલ͸Մೳ w ௨ৗͷϓϩύςΟͷΑ͏ʹϚδοΫϝιου౳͕൓Ԡ

Slide 7

Slide 7 text

ؔ਺ w 3F fl FDUJPO1SPQFSUZJT3FBE0OMZ ͷ௥Ճ 
 ϓϩύςΟ͕SFBEPOMZ͔൱͔Λ֬ೝ w 3F fl FDUJPO1SPQFSUZHFU.PEJ fi FST 
 ͕3F fl FDUJPO1SPQFSUZ*4@3&"%0/-:ϑϥάΛฦ͢Α͏ʹ w 3F fl FDUJPO1SPQFSUZTFU7BMVF 
 Ͱಉ͡είʔϓ͔Β͔͠ॳظԽͰ͖ͳ͍ͱ͍͏੍ݶΛճආ͠ɺॳظԽՄೳ 
 ౰વطʹॳظԽ͞ΕͨϓϩύςΟ͸มߋෆՄ

Slide 8

Slide 8 text

࣭໰

Slide 9

Slide 9 text

+BWBΛ৮ͬͨ͜ͱ͸͋Γ·͔͢ʁ

Slide 10

Slide 10 text

ࣗݾ঺հ ງ઒ܚଠ w ৽ଔ೥໨ w େࡕࡏॅେࡕۈ຿ w 1)1ྺ൒೥଍Βͣ w ಈతϓϩύςΟͷېࢭ͕ؾʹͳΔ

Slide 11

Slide 11 text

ͳΜͰGJOBM͡Όͳ͍ʁ

Slide 12

Slide 12 text

+BWBͱ1)1ͷൺֱ +BWB 1)1 ޮՌ Ϋϥε fi OBM fi OBM ܧঝͷېࢭ ϝιου fi OBM fi OBM ΦʔόϥΠυͷېࢭ ม਺ fi OBM SFBEPOMZ ࠶୅ೖͷېࢭ

Slide 13

Slide 13 text

3FBEPOMZ1SPQFSUJFT࣮૷·ͰͷྲྀΕ ࠷ॳ͔Β fi OBM͡Όͳ͍ 8SJUF0ODF1SPQFSUJFTͷ3'$͕ఏҊ͞ΕΔ ౤ථ݁ՌରͰՄܾ͞Εͣ ౤ථ૯਺ͷͷࢍ੒͕ඞཁ  ಉ࣌ʹΩʔϫʔυ౤ථ͕ߦΘΕɺSFBEPOMZʹ΄΅શථ͕ू·Δ 3FBE0OMZ1SPQFSUJFTͷ3'$͕ఏҊ͞ΕΔ

Slide 14

Slide 14 text

3FBEPOMZ1SPQFSUJFT࣮૷·ͰͷྲྀΕ ࠷ॳ͔Β fi OBM͡Όͳ͍ ౤ථ݁ՌରͰՄܾ 1)1Ͱ࣮૷ʂ

Slide 15

Slide 15 text

ͳΜͰGJOBM͡Όͳ͍ Ωʔϫʔυ౤ථͷ݁Ռ IUUQTXJLJQIQOFUSGDXSJUF@PODF@QSPQFSUJFTΑΓ Ωʔϫʔυ JNNVUBCMF MPDLFE XSJUFPODF SFBEPOMZ ౤ථ݁Ռ    

Slide 16

Slide 16 text

ͳΜͰGJOBM͡Όͳ͍ HJUIVCϓϧϦΫΤετͷDPOWFSTBUJPO IUUQTHJUIVCDPNQIQQIQTSDQVMMΑΓ Ωʔϫʔυ͸ fi OBM͕͍͍ͱࢥ͏ʂ +BWBͰ΋࢖ΘΕ͍ͯΔ͠ɺҰ؏ੑͷ؍఺͔Βݟͯ΋ద੾ͩΑͶʂ 1)1ݴޠ։ൃऀ LPDTJTNBUF fi OBM͸͋Γಘͳ͍Αɻ 1)1Ͱ͸ݱࡏ fi OBM͸ΫϥεͱϝιουͷΦʔόʔϥΠυΛ๷͙Ωʔϫʔυɻ ʮෆมʯͷҙຯΛ࣋ͭϓϩύςΟʹ࢖༻͢Δͷ͸ؒҧ͍ͩΑɻ

Slide 17

Slide 17 text

ͳΜͰGJOBM͡Όͳ͍ ࠓճͷ݁࿦ +BWB 1)1 ޮՌ Ϋϥε fi OBM fi OBM ܧঝͷېࢭ ϝιου fi OBM fi OBM ΦʔόϥΠυͷېࢭ ม਺ fi OBM SFBEPOMZ ࠶୅ೖͷېࢭ ܧঝΛ๷͙ ஋ͷ࠶มߋΛ๷͙

Slide 18

Slide 18 text

·ͱΊ 3FBE0OMZ1SPQFSUJFT w ॳظԽޙͷมߋΛ๷͙ϓϩύςΟ w ఆ਺༻ͱ͍͏ΑΓ͸ड͚औͬͨ஋ͷมߋΛ๷͙ͱ͍͏࢖͍ํ w fi OBMʹͳΔՄೳੑ͸શ͘ͱݴͬͯແ͔ͬͨ w ࠓճͷ৽ػೳͷதͰ͸ൺֱతऔΓೖΕ΍͍͢෦ྨ

Slide 19

Slide 19 text

ࢀߟαΠτ w 1)1SFMFBTF w 3'$3FBE0OMZ1SPQFSUJFT w *NQMFNFOUSFBEPOMZQSPQFSUJFT w "EETVQQPSUGPSlXSJUFPODFzQSPQFSUJFT