Slide 1

Slide 1 text

ؔ٦فٝا٦أז䌘牰 خ٦ٕ׾⡲׶ת׃׋կ PHP Conference FUKUOKA 2015

Slide 2

Slide 2 text

೔ߴ ࠀ໵ Ruby, PHP Thinreports ͷ։ൃऀ

Slide 3

Slide 3 text

SIɾσʔληϯλʔɾӡ༻ɾσʔλΤϯτϦʔ

Slide 4

Slide 4 text

αϚϦʔ Thinreports ͍ͬͯ͏Φʔϓϯιʔεͷாථπʔ ϧ͕͢Ͱʹ͋ͬͯɺͦͷPHP൛Λ࡞ͬͨΑɺͱ ͍͏࿩ɻ

Slide 5

Slide 5 text

Thinreports ͱ͸ • Ruby Ͱ࢖͑ΔΦʔϓϯιʔεͷாථπʔϧ • ϨΠΞ΢τσβΠφʢEditorʣͱ
 PDFग़ྗϥΠϒϥϦʢGeneratorʣ • Ҏ߱͸ɺͪ͜ΒΛʮຊՈʯͱݺͼ·͢

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Editor Layout File (.tlf) Script (Generator)

Slide 10

Slide 10 text

PHP ൛ Thinreports • Ҏલ͔Βཁ๬ଟ਺ • Generator ͷ PHP ࣮૷ • Editor ͸ڞ௨

Slide 11

Slide 11 text

Editor Layout File (.tlf) Script (Generator) ࠓճ࡞ͬͨͷ͸ίί

Slide 12

Slide 12 text

thinreports-php • Status: dev-master • PHP >= 5.6 PHP7, HHVM ͸ಈ࡞ະ֬ೝ • The MIT License ଍ճΓͰ࢖ͬͯΔ TCPDF ͸ LGPLv3 Ͱ͋Δ͜ͱʹ஫ҙ • Pure PHP

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Hello thinreports-php

Slide 16

Slide 16 text

Setup. Install thinreports-php $ vi composer.json : “require”: { “thinreports-php/thinreports-php”: “dev-master” } : $ composer install

Slide 17

Slide 17 text

Setup. Install Editor

Slide 18

Slide 18 text

1. Create a layout file ID Λ “world” ΁

Slide 19

Slide 19 text

2. Write code use Thinreports; $report = new Thinreports\Report('hello_world.tlf'); $page = $report->addPage(); $page->item('world')->setValue('World'); // ҎԼͷΑ͏ʹ΋ॻ͚Δ: // $page(‘world’)->setValue(’World’); // $page->setItemValue(‘world’, ’World’); // $page->setItemValues([‘world’ => ’World’]); $report->generate('hello_world.pdf');

Slide 20

Slide 20 text

3. Run $ php hello_world.php ↩︎

Slide 21

Slide 21 text

4. Finish

Slide 22

Slide 22 text

ͦͷଞͰ͖Δ͜ͱ • ΋ͪΖΜ೔ຊޠ OK • ը૾ͷ੩త/ಈతషΓ෇͚ • ਤܗɾςΩετͷಈతͳελΠϧมߋ • ϖʔδ൪߸ͷࣗಈදࣔ • ؆қॻࣜઃఆʢ೔෇࣌ࠁɺ਺஋ɺࣈ٧Ίʣ ͳͲͳͲɻৄࡉ͸ຊՈެࣜαΠτΛͲ͏ͧɻ

Slide 23

Slide 23 text

ͱ͸͍͑ɺ·ͩ։ൃόʔδϣϯ • ϦετπʔϧະରԠ • ෳ߹ϨΠΞ΢τະରԠ ൺֱత؆୯ʹͰ͖Δɻ͜ͷޙʹͰ΋ରԠ͢Δ • ϑΥϯτͷϑΥʔϧόοΫະରԠ ͜Ε͕஍ຯʹҰ൪ͷ՝୊ • ύϑΥʔϚϯεɾϝϞϦʔফඅͷվળ IPAϑΥϯτΛ TCPDF ༻ʹม׵͢Δίετ͕ߴ͍ɻࣄલʹม׵͢Δ࢓૊Έ༻ҙ • ςετίʔυͷΧόϨοδ 70% ͙Β͍ ؒʹ߹Θͣ

Slide 24

Slide 24 text

TCPDF ໰୊ • ςετίʔυ͕ͳ͍ ࠷ۙؾ͍ͮͨ… • ࠨԼʹখ͘͞ʮPowered by TCPDFʯ໰୊ ௒ۃখαΠζˍന஍ʹനจࣈͳͷͰݟͨ໨͸໰୊ͳ͍͕… • PDF ϥΠϒϥϦ։ൃͱ͍͏ҋʹखΛग़͔͢೰ ΜͰΔͱ͜Ζ

Slide 25

Slide 25 text

ࠓޙ

Slide 26

Slide 26 text

։ൃํ਑ • ຊՈ Thinreports ͱ͸ผͷίϛϡχςΟͱͯ͠։ൃ ΋ͪΖΜࢲ΋ࢀՃ͠·͢ • ϨΠΞ΢τϑΝΠϧͷ࢓༷͸ԼهͰެ։͞Ε͍ͯΔ ͷͰ͜Εʹैͬͯ௥ै͢Δײ͡ https://github.com/thinreports/thinreports/wiki/Spec:-Layout-File • ͱ͸͍͑ɺPHP൛ಠࣗͷػೳ΋શવ͋Γ ͢Ͱʹ Ruby ࣮૷ͱएׯ API ҧ͍·͢͠

Slide 27

Slide 27 text

ͥͻҰॹʹ • ݱࡏͷ։ൃϝϯόʔ: 1ਓʢࢲʣ • ͔͠΋ PHP ΛͪΌΜͱ΍Δͷ͸ 5 ೥ͿΓ PHPΧϯϑΝϨϯεͳͷʹ͍͢·ͤΜ • ΠέͯΔπʔϧʹͳΔ͔Ͳ͏͔͸ɺΈͳ͞Μ ʹ͔͔͍ͬͯ·͢!

Slide 28

Slide 28 text

ૣ଎ɺ։ൃʹࢀՃ͢Δ • ·ͩԿ΋ߟ͑ͯͳ͍Ͱ͢ • ͱΓ͑͋͑ͣɺGitter ͷ “dev” room ʹ JOIN README.md ͷԼͷํʹ͋Δɹɹɹɹɹɹɹ ɹΛΫϦοΫ͢Δ΂͠ • ։ൃυΩϡϝϯτͳΜ͔͸ Wiki ʹ·ͱΊ·͢ গʑ͓଴ͪԼ͍͞ • Α͘Θ͔Βͳ͍Αɺͱ͍͏ํ͸ޙͰ௚઀ฉ͍ͯͩ͘ ͍͞

Slide 29

Slide 29 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͪͳΈʹɺ • ຊՈ Thinreports v1.0 ͸೥಺ϦϦʔε༧ఆ • ΧελϜϑΥϯτ ݱࡏ࢖͑ΔϑΥϯτ͸ 4 ͭͷΈɻಠࣗϑΥϯτ͕ར༻ՄೳʹͳΔ͔΋ • Ϧετπʔϧͷվળ ୯ථϨΠΞ΢τͱ࿈ථϨΠΞ΢τ͕બ୒ՄೳʹͳΔ͔΋ • όʔίʔυػೳͷωΠςΟϒαϙʔτͳͲ