Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Laravel_向けの_Package_の作り方.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
jhonyspicy
November 12, 2019
Programming
160
0
Share
Laravel_向けの_Package_の作り方.pdf
jhonyspicy
November 12, 2019
Other Decks in Programming
See All in Programming
PHPer、Cloudflare に引っ越す
suguruooki
2
220
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
23k
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.3k
Programming with a DJ Controller — not vibe coding
m_seki
3
860
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
0
150
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
410
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2k
空間オーディオの活用
objectiveaudio
0
150
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
480
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
250
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
Rails Girls Zürich Keynote
gr2m
96
14k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
We Have a Design System, Now What?
morganepeng
55
8.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
35k
Mind Mapping
helmedeiros
PRO
1
190
Optimising Largest Contentful Paint
csswizardry
37
3.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
Laravel 向けの Packageの作り方 初LTです((((;゚Д゚))))ガクガクブルブル
自己紹介 • 高良 和真 • 琉球インタラクティブ株式会社 • Laravel + Lighthouse(GraphQL)
• @jhonyspicy • ビリヤード・DIY・ステンレス削り
今回のサンプルはこちら https://github.com/jhonyspicy/laravel-example-package
1. GitHubにリポジトリを追加 2. orchestral/testbench パッケージを追加 3. テストを書きつつ開発 4. Packagistで公開 大まかな流れ
1. git clone 2. composer init 3. composer require --dev
orchestra/testbench 4. 下記を作成 • /src • /tests/Feature • /tests/Unit • /phpunit.xml
composer.json に autoload の設定を追記 "autoload": { "psr-4": { "jhonyspicy\\LaravelExamplePackage\\": "src/"
} }, "autoload-dev": { "psr-4": { "jhonyspicy\\LaravelExamplePackage\\Tests\\": "tests" } }
この時点で簡単なテストが動きます。 class ExampleTest extends TestCase { /** * A basic
test example. * * @return void */ public function testBasicTest() { $this->assertTrue(true); } }
DBを使いたい時 • SQLiteのインメモリDBが使えます。 • migrationを使えます。 • factoryも使えます。
None
Versionの上げ方 Tagをつけてプッシュ 例 • 1.0.0 • v1.0.0 • 1.10.5-RC1 •
v4.4.4beta2 • v2.0.0-alpha • v2.0.4-p1
Providerを自動で読み込む composer.jsonに追記 "extra": { "laravel": { "providers": [ "jhonyspicy\\LaravelExamplePackage\\Provider" ]
} }
不要なファイル除外する .gitattributes 追加 /tests export-ignore .gitattributes export-ignore .gitignore export-ignore phpunit.xml
export-ignore
ご静聴ありがとうございました。