Slide 1

Slide 1 text

LaravelͰͷDBૢ࡞Λ ؂ࢹ͢Δ ʲΦϯϥΠϯʳؔ੢PHPษڧձ 2020-05-16 Ippei Sumida

Slide 2

Slide 2 text

# WHOAMI - ֯ాɹҰฏʢ͢Έͩɹ͍ͬ΃͍ʣ - ϑϦʔϥϯεσϕϩούʔ - PHPͳͲͰWeb։ൃͯ͠·͢ - ຕํࢢͷίϫʔΩϯάεϖʔε
 ʰSHINCRUʱͷӡӦελοϑͯ͠·͢ - CoderDojoຕํ΍ͬͯ·͢

Slide 3

Slide 3 text

ʮԿ΋ͯ͠ͳ͍ͷʹյΕͨʯ

Slide 4

Slide 4 text

͋ɺσʔλ࡟আ͞Εͯ·͢Ͷʔ ˎˎͷσʔλ͕දࣔ͞Εͯͳ͍ΜͰ͚͢Ͳʁ ͑ʂͳʹ΋ͯ͠ͳ͍Ͱ͢ΑʂʂόάͰ͔͢ʁʁʁ ͍΍ɺγεςϜతʹ͸ਖ਼ৗʹಈT ͪΌΜͱௐࠪͯ͠ใࠂॻग़͍ͯͩ͘͠͞ʂʂ

Slide 5

Slide 5 text

͏ͪͷ#͞Μ͕࡟আͨ͠Μͩͬͯ❤

Slide 6

Slide 6 text

୭͕ԿΛ͔ͨ͠؂ࢹ͍ͨ͠

Slide 7

Slide 7 text

Laravel Auditing

Slide 8

Slide 8 text

Laravel AuditingͰͰ͖Δ͜ͱ Laravel্ͷ… • DBૢ࡞ͷ؂ࢹ • ؂ࢹσʔλͷऔಘ • ͩΕ͕ɾ͍ͭɾͲ͜ͰɾͳʹΛ͔ͨ͠Λ೺Ѳ • ߋ৽ͷࠩ෼ʢͳʹΛͲ͏ม͔͑ͨʣΛ೺Ѳ

Slide 9

Slide 9 text

Πϯετʔϧ composer require owen-it/laravel-auditing

Slide 10

Slide 10 text

ઃఆ1 ‘providers’ => [ + OwenIt\Auditing\AuditingServiceProvider::class ], # config/audit.phpੜ੒ php artisan vendor:publish —provider \ ”OwenIt\Auditing\AuditingServiceProvider” \ --tag="config" # ϚΠάϨʔγϣϯʢauditsςʔϒϧCREATEʣੜ੒ php artisan vendor:publish —provider \ “OwenIt\Auditing\AuditingServiceProvider" \ -—tag=“migrations" ˌϚΠάϨʔγϣϯ php artisan migrate DPOpHBQQQIQ

Slide 11

Slide 11 text

ઃఆ2

Slide 12

Slide 12 text

؂ࢹελʔτ

Slide 13

Slide 13 text

id user_ty pe user_id event auditabl e_type auditabl e_id old_val ues new_val ues url ip_addr ess user_ag ent tags created _at updated _at 1 App\Use r 1 updated App\Item 2 {"name": "\u8ffd\u 52a01"} {"name": "\u8ffd\u 52a02"} http:// localhost :8000/ items/2 127.0.0. 1 Mozilla/ 5.0 (Macinto sh; Intel Mac OS X 10_15_3 NULL 2020-03- 23 12:20:34 2020-03- 23 12:20:34 2 App\Use r 1 created App\Item 3 [] {"name": "\u307b\ u3052"," stock":"1 0","id":3} http:// localhost :8000/ items 127.0.0. 1 Mozilla/ 5.0 (Macinto sh; Intel Mac OS X 10_15_3 NULL 2020-03- 23 12:21:39 2020-03- 23 12:21:39 3 App\Use r 1 deleted App\Item 3 {"id":"3"," name":"\ u307b\u 3052","st ock":"10" } [] http:// localhost :8000/ items/3 127.0.0. 1 Mozilla/ 5.0 (Macinto sh; Intel Mac OS X 10_15_3 NULL 2020-03- 23 12:51:57 2020-03- 23 12:51:57

Slide 14

Slide 14 text

ϓϩάϥϜͰ औಘ audits; // ֘౰σʔλͷ࠷ॳͷ؂ࢹσʔλ $first = $item->audits()->first(); // ֘౰σʔλͷ௚ۙͷ؂ࢹσʔλ $latest = $item->audits()->latest()->first(); // ֘౰σʔλͷ؂ࢹσʔλͷIDࢦఆ $audit = $item->audits()->find(1);

Slide 15

Slide 15 text

ͩΕ͕ ԿΛͨ͠ ͞ΘͬͨϞσϧ ͞Θͬͨσʔλ ͼ;͒ʔ ͋;ͨʔ 1 updated App\Item 2 {"name":"\u8ffd\u52a 01"} {"name":"\u8ffd\u52a 02"}

Slide 16

Slide 16 text

Ͳ͜Ͱ ͲͷIPΞυϨεͰ Ͳͷϒϥ΢βͰ ͍ͭ http://localhost:8000/items/2 127.0.0.1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/ 605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15 2020-03-23 12:20:34

Slide 17

Slide 17 text

͋ɺσʔλ࡟আ͞Εͯ·͢Ͷʔ ˎˎͷσʔλ͕දࣔ͞Εͯͳ͍ΜͰ͚͢Ͳʁ ͑ʂͳʹ΋ͯ͠ͳ͍Ͱ͢ΑʂʂόάͰ͔͢ʁʁʁ #͞Μ͕೔ͷ࣌͝ΖʹεϚϗͰ࡟আͯ͠·͢Ͷɻ ͦ͏Ͱ͔͢ɻ#͞Μʹฉ͍ͯΈ·͢ʂ

Slide 18

Slide 18 text

એ఻

Slide 19

Slide 19 text

Symfony Meetup Kansai ΍ͬͯ·͢

Slide 20

Slide 20 text

Symfony Meetup Kansai͸͜Μͳͱ͜Ζ • Symfonyʹ͍ͭͯࡶஊ͢ΔձʢݱࡏΦϯϥΠϯ։࠵ʣ • Symfonyͷܦݧ໰Θͣ • SymfonyͰʙͭͬͨ͘ɺʙͬͯػೳ͔ͭͬͯΈͨɺͱ͍͏ࣄྫ঺հ΍ ։ൃख๏ͳͲΛ৘ใڞ༗ • ࣍͸6݄͔7݄͘Β͍ʹ։࠵༧ఆ

Slide 21

Slide 21 text

͋Γ͕ͱ͏͍͟͝·ͨ͠