SPATIE

Services
Our philosophy Packages Postcards Guidelines Documentation
Products Blog About
Login Work with us

This is content from a paid course.

Buy course
  • Introduction
  • 1. Creating a PHP package

  • Introduction
  • Starting a PHP package using the skeleton
  • Configuring the namespace and adding code
  • Running tests on GitHub Actions
  • Enforcing a code style
  • Publishing a package
  • Creating a new release
  • Merging a small PR
  • Generating code coverage reports
  • Handling feedback using issues and discussions
  • 2. Creating a Laravel Package

  • Starting a Laravel package using the skeleton
  • Exploring the Service Provider
  • Supporting and testing multiple Laravel and PHP versions
  • Using MySQL when running tests
  • Installing an unreleased package in a full Laravel app
  • Using config files
  • Adding migrations and models
  • Using routes, controllers and views
  • Let's build a package together
  • 3. Source diving Spatie packages

  • laravel-tail
  • laravel-collection-macros
  • laravel-medialibrary
  • laravel-responsecache
  • laravel-multitenancy
  • laravel-short-schedule part 1: Using the package
  • laravel-short-schedule part 2: Under the hood
  • laravel-short-schedule part 3: Testing the package
  • laravel-dashboard
  • 4. Bonus

  • Using Psalm to analyse code
  • How the "Mark as completed" button works
Download video: HD | SD

Introduction

In this video you'll see an overview of the entire course.

Links

  • How Spatie started creating packages
  • Spatie's open source packages
  • Package Skeleton for framework agnostic PHP Packages
  • Package Skeleton for Laravel
Up next Starting a PHP package using the skeleton
  • Services
  • Open source
  • Products
  • Courses
AboutBlogNewsletterDocsGuidelines

Kruikstraat 22, Box 12
2018 Antwerp, Belgium
info@spatie.be
+32 3 292 56 79
  • GitHub
  • Instagram
  • LinkedIn
  • X
  • Bluesky
  • Mastodon
  • YouTube
  • Privacy
  • Disclaimer

+32 3 292 56 79

Click to call us

A good
match?

What we do best

  • All things Laravel
  • Custom frontend components
  • Building APIs
  • AI-powered features
  • Simplifying things
  • Clean solutions
  • Integrating services

Not our cup of tea

  • WordPress themes
  • Cutting corners
  • Free mockups to win a job
  • "Just execute the briefing"

In short: we'd like to be a substantial part of your project.

Get in touch via email