Slide 1

Slide 1 text

Ί΋Γʔ ຊ౰ͷ FizzBuzz Λ͓ݟͤ͠·͢ ࠙਌ձ LT @PHP ΧϯϑΝϨϯε 2023

Slide 2

Slide 2 text

Ί΋Γʔ m3m0r7 ͖ͬ͞ RubyVM Λ PHP Ͱ࣮૷͢Δ࿩Λ͠ ·ͨ͠ memory1994 m3m0r7

Slide 3

Slide 3 text

FizzBuzz ஌ͬͯΔਓʙʁ

Slide 4

Slide 4 text

૝૾ͨ͠ਓ΋
 ͍ΔΜ͡Όͳ͍Ͱ͠ΐ͏͔

Slide 5

Slide 5 text

Slide 6

Slide 6 text

FizzBuzz ͰϧʔϓจΛ
 ࢖͏ͷ͸؁͑

Slide 7

Slide 7 text

ຊ౰ͷ FizzBuzz Λݟͤͯ΍Γ·͢Α

Slide 8

Slide 8 text

Slide 9

Slide 9 text

͜ΕɼͪΌΜͱ 1 ʙ 100 ·Ͱͷ FizzBuzz ͕ग़ྗ͞Ε·͢

Slide 10

Slide 10 text

Ͳ͏ಈ͍͍ͯΔͱࢥ͍·͔͢ʁ

Slide 11

Slide 11 text

PHP ͸ $$var ͱ࣮ߦ͢Δͱ $var ʹ
 ೖ͍ͬͯΔ஋Λม਺໊ͱͯ͠ࢀর͠·͢

Slide 12

Slide 12 text

ͨͱ͑͹ $var = 'cat' ͱ͢Δͱ $$var ͸ $cat Λ࣮ߦ͠Α͏ͱ͠·͢ɻ

Slide 13

Slide 13 text

ͭ·Γɼ$$$...$ ͸ͦΕΛ
 ͻͨ͢Β܁Γฦ͍ͯ͠Δ͜ͱʹͳΓ·͢ɻ

Slide 14

Slide 14 text

$var = '1' Λ $$var ͱ͢Δͱ $1 Λ
 ࢀর͠Α͏ͱ͠·͕͢

Slide 15

Slide 15 text

͝ଘ஌ͷ௨Γ PHP Ͱ͸
 ม਺໊Λ਺ࣈ͔Β࢝ΊΒΕ·ͤΜ

Slide 16

Slide 16 text

͔͠͠ $GLOBALS['1'] ͷΑ͏ʹ
 ࢀর͢Δ͜ͱ͸Ͱ͖·͢

Slide 17

Slide 17 text

PHP ͸ϩʔΧϧม਺ͱάϩʔόϧม਺ Ͱ͋Δ $GLOBALS Λࢀর͠Α͏ͱ͠ ·͢

Slide 18

Slide 18 text

͜ͷΑ͏ʹ͢Δ͜ͱͰ $var = '1' Λ $$var ͱ࣮ߦ͢Δͱ $GLOBALS['1'] ͕
 ࢀর͞Ε·͢

Slide 19

Slide 19 text

͔͠͠ $GLOBALS['1'] ͸ηοτ͞Ε ͍ͯͳ͍ͷͰɼ͜ͷ··Ͱ͸ Unde fi ned variable ʹͳΓ·͢

Slide 20

Slide 20 text

࣮͸ $var = '1' Λ $$var ͱ࣮ߦ͢Δͱ͖ Unde fi ned variable ͕ग़ྗ͞ΕΔલʹ
 จࣈྻม׵͕૸Γ·͢

Slide 21

Slide 21 text

ͭ·Γ class Ͱఆٛ͞Εͨ
 __toString ͕ൃՐ͢ΔͷͰ͢

Slide 22

Slide 22 text

͜ͷੑ࣭Λར༻ͯ͠ɼ__toString ͷ
 λΠϛϯάͰ $GLOBALS['1'] ʢ1 ͸ ೚ҙͷ਺ࣈʣΛఆ͍ٛͯ͠·͢

Slide 23

Slide 23 text

ͦͯ͠ __toString ͷฦΓ஋͸
 ม਺໊ͱͯ͠ѻΘΕ·͢

Slide 24

Slide 24 text

ͭ·Γ __toString Λ܁Γฦͨ͢ͼʹ 1, 2, 3 ... ͱ૿͍͖͑ͯ·͢ɻ

Slide 25

Slide 25 text

ͦͷ஋Λ༻͍ͯ Fizz or Buzz or ਺ࣈ ͱग़͠෼͚Λߦ͍ग़ྗͤ͞Ε͹͍͍ͷ Ͱ͢

Slide 26

Slide 26 text

͔͠͠ɼͦͷ··Ͱ͸ग़ྗͰ͖·ͤΜ

Slide 27

Slide 27 text

ͦͷͨΊ print Λ༻͍ͯ
 ग़ྗΛߦ͍ͬͯ·͢

Slide 28

Slide 28 text

ϫϯϥΠφʔϋοΫͰ͸ฦΓ஋͕ͳ͍ echo ΑΓฦΓ஋͕͋Δ print ͕ॏๅ͠ ·͢ʢͦͷ··ଞͷࣜʹࠞͥΒΕΔʣ

Slide 29

Slide 29 text

https://gist.githubusercontent.com/m3m0r7/ f8059505046c6ab689aa728c2ca6f76c/raw/ be78189cb305358cd57c5ab31c251dd2dcc656d1/ fi zzbuzz.php

Slide 30

Slide 30 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠