Laravel Packages Development
Laravel Packages Development
About the Book
Who is this book for?
Anyone familiar with the Laravel framework or any PHP framework can make use of this book. Ever installed PHP composer packages or want to create Laravel packages through a Test Driven approach? This book provides that.
How to use this book
I will provide all the code used in this book, but it is beneficial to code along as you go through it to get the most out.
What are we building?
We are going to build a chat package by following a test-driven approach. This package will be installed in any Laravel application and adds the ability for your Laravel models to participate in conversations with each other. For instance, a bot model can chat with a user model and a client model, and so forth. There will be fewer limitations.
Table of Contents
-
Introduction
-
About this book
- Who is this book for?
- How to use this book
- What are we building?
-
Requirements
- Composer
- Git
-
Package setup
- Project structure
- Composer init
- Composer require-dev
- Composer require
-
Laravel Packages
- Service Provider
- Facades
-
Testing
- Why Test-Driven Approach?
- Setup tests
-
About this book
-
Conversation
-
- It returns a conversation
- Model Factories - generate test data
- It can add participants to a conversation
- It can remove a single participant from a conversation
- It can return conversation participants
- It can create a direct conversation between two participants
- It can make a private conversation
- It can create a conversation with details
- Value Objects - gain control over primitives
- Refactoring Tests
-
-
Messaging
-
Create messages
- It can send a message
- It can specify the message type
- It returns a message given the id
- It creates participant message references
-
Read / Delete messages
- It can mark a message as read
- It can tell whether a participating model has read a message
- It can mark a conversation as read
-
Create messages
-
Events
- What are events?
-
Our package events
- ConversationStarted
- ParticipantsJoined
- ParticipantsLeft
- MessageWasSent
-
Routes in packages
- Unit tests vs Feature tests
-
Conversation
- POST /conversations
- GET /conversations/<id>
- PUT /conversations/<id>
-
Participation
- POST /conversations/<id>/participants
- DELETE /conversations/<id>/participants
- GET /conversations/<id>/participants
-
Messaging
- POST /conversations/<id>/messages
- GET /conversations/<id>/messages
- Configuration
-
Data Transformers
- What are transformers
- Fractal
-
Conversation Transformer
- GET /conversations/<id>
- POST /conversations
-
Message Transformer
- POST /conversations/<id>/messages
- GET /conversations/<id>/messages
-
Continuous Integration
- What is Continuous Integration?
- Travis CI
-
Package distribution
- Packagist
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them