Slide 1

Slide 1 text

“joind.in” => https://m.joind.in/talk/ dc860

Slide 2

Slide 2 text

ϥϯμϜσʔλΛ 1)1Ͱ࡞Δ 1)1$POGFSFODFCZ!TJ[VIJLP Photo by Tom_Brown 6117 on GATAG Generate Randomize Data By PHP

Slide 3

Slide 3 text

,FOJDIJSP,JTIJEB 5PLZP +"1"/ TJ[VIJLP!HNBJMDPN !TJ[VIJLP IUUQTHJUIVCDPNTJ[VIJLP IUUQCMPHPQFOUPLZPKQ +1POMZ

Slide 4

Slide 4 text

ςετσʔλ Ͳ͏΍ͬͯ ࡞͍ͬͯ·͔͢ʁ How to generate test data ?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

͍΍ͩʔ be messed up!

Slide 7

Slide 7 text

͍͍ͷ͋ΔΑ look nice

Slide 8

Slide 8 text

ԿͦΕᚶ͍͠ʂ sparking service

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

w0QFO4PVSDF (1-W https://github.com/benkeen/generatedata wϥϯμϜσʔλΛੜ੒͢Δπʔϧ Tool for generation randomize data w1)1 .Z42- Ͱಈ࡞ wίϛϡχςΟʹΑΔ%PDLFS 7BHSBOU؀ڥ͕͋Δ exists runtime environment of Docker or Vagrant

Slide 11

Slide 11 text

w$47 &YDFM w)5.- UBCMF VM EM TNBSUZ w+40/ w-%*' w1)1 +BWF4DSJQU 1FSM 3VCZ w42- w9.-

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

"Geoffrey","email"=>"Nunc.ut@semper .net","tel"=>"034-991-2370","birthday"=>"2016-02- 22 13:05:25"), array("name"=>"Aphrodite","email"=>"tincidunt.ped e@idrisusquis.com","tel"=>"043-887-2463","birthda y"=>"2015-01-08 22:03:43"), array("name"=>"Karina","email"=>"dictum.Proin.ege t@ipsumleoelementum.edu","tel"=>"056-305-6396","b irthday"=>"2015-04-13 03:37:49"), array("name"=>"Gage","email"=>"in@nisl.co.uk","te

Slide 14

Slide 14 text

w໊લɺి࿩൪߸ɺϝʔϧΞυϨεɺձ ໊ࣾɺޱ࠲൪߸ɺ೔෇ɺΫϨδοτΧ ʔυ൪߸ɺॅॴɺ༣ศ൪߸ w୯ޠ ࢦఆϥϯμϜݸ਺ ɺ਺஋ ࿈൪ ཚ਺ൣғ ɺ௨՟ wπϦʔɺϦετɺεΫϦϓτ 4NBSUZ

Slide 15

Slide 15 text

ʹΌΜ΍ͬͯʂʁ

Slide 16

Slide 16 text

ҎԼͷΑ͏ʹɺ4NBSUZεΫϦϓ τΛॻ͍ͯɺଞͷྻͷ஋ʹରԠͨ͠ ஋ΛηοτͰ͖ͨΓ͢Δɻ {if $ROW1 == 5}N/A{else}{$ROW1}{/if}

Slide 17

Slide 17 text

wҰ౓ఆٛͨ͠ϧʔϧ͸อଘͯ͠࠶ར༻ Մೳ the difinition can save to database w8FC6*͚ͩ͡Όͳ͘3&45"1*΋͋ Δ have REST API not only Web UI w೔ຊޠͷݴޠϑΝΠϧͳ͍ but, not have japanese language file :-(

Slide 18

Slide 18 text

ͦΕ 'BLFSͰྑ͘Ͷʁ

Slide 19

Slide 19 text

w0QFO4PVSDF .*5 https://github.com/fzaninotto/Faker wϥϯμϜσʔλΛੜ੒͢ΔϥΠϒϥϦ library for generation randomize data w1)1 Ͱಈ࡞ wҰ෦03.ʹ΋ରԠ supported any ORM, doctrine, propel

Slide 20

Slide 20 text

w1)1ϓϩάϥϚ޲͚ for PHP programer w೔ຊޠͷݴޠϑΝΠϧ͕͋Δ it have japanese language file wσʔλλΠϓͷ਺͕ HFOFSBUFEBUBDPNΑΓଟ͍ it have many data types more than generatedata.com wओʹ஋Λੜ੒͢ΔͨΊͷϥΠϒϥϦ it focus to generate fake value

Slide 21

Slide 21 text

ͱʹ͔͘ద౰ͳ஋Λ%#ʹ ஋ΛೖΕ͍͚ͨͩͳΜͩΑ I want to insert fake data into database, just like that

Slide 22

Slide 22 text

w0QFO4PVSDF .*5 https://github.com/sizuhiko/Fabricate wςʔϒϧͷεΩʔϚ৘ใΛݩʹϥϯμ ϜσʔλΛੜ੒͢ΔϥΠϒϥϦ library for generation fake data from schema of table on DB w1)1 Ͱಈ࡞ wσʔλϕʔεඞਢ require database

Slide 23

Slide 23 text

w1)1ϓϩάϥϚ޲͚ for PHP programer w಺෦Τϯδϯ͸'BLFS use Faker for generation randomize data wಠࣗʹมߋ͍ͨ͠ΧϥϜ্͚ͩॻ͖Մ ೳ be able to overwrite, you want it wݱ࣌఺͸$BLF1)1$BLF1)1 ͷΈରԠ ORM adaptors, CakePHP2, CakePHP3 currentry

Slide 24

Slide 24 text

͓ئ͍ 1MFBTF 'BCSJDBUFͰ͸֤03.༻ͷΞμϓλʔ ࣮૷Λ଴͍ͬͯ·͢ Fabricate wait to contribute any ORM adaptor on github

Slide 25

Slide 25 text

/** Fabricate Xxxxx Adaptor */ class XxxxFabricateAdaptor extends AbstractFabricateAdaptor { public function getModel($modelName) { $model = new FabricateModel($modelName); // εΩʔϚ৘ใ͔ΒϞσϧΦϒδΣΫτΛੜ੒͢Δ return $model; } public function create($modelName, $attributes, $recordCount) { // ORM΁σʔλΛอଘ͢ΔॲཧΛॻ͘ return $entities; } public function build($modelName, $data) { // ORMͷΤϯςΟςΟΫϥεΛੜ੒͢Δ return $entity; } }

Slide 26

Slide 26 text

w&YDFMͷ୅ΘΓͱͯ͠ HFOFSBUFEBUB͕ྑ͍ͱࢥ͏ wϓϩάϥϚ͸'BLFS͕ศར w'BCSJDBUF΋࢖ͬͯΈ͍ͯͩ͘͞ˍ Ξμϓλʔ࣮૷଴͍ͬͯ·͢ ·ͱΊ

Slide 27

Slide 27 text

WJTJUNZCMPHHJUIVC https://github.com/sizuhiko 5IBOLZPV http://blog.open.tokyo.jp