Package Development for Laravel & PHP

Learn to build your own reusable packages for open source or profitable projects.

Stop repeating code

What you’ll learn

  • Create your own packages for Laravel.
  • Reuse code in different projects.
  • Add ode coverage to your packages with php unit.
  • Make your own packages available in Packagist.

Course Content

  • Introduction –> 21 lectures • 2hr 3min.

Package Development for Laravel & PHP


Stop repeating code

Has it happened to you that, when you are coding, you say to yourself:

I already wrote this feature!

But, what you do not remember is when you did it, or where you have it, and starting to search at that precise moment means leaving the flow in which you are working on to burn time in winding searches, hoping not to repeat what has already been done.

Consuming your time and energy on useless things; not only delays your work, it’s also frustrating, cuts off your inspiration and represents less professional quality; therefore, slower and lower income.

The master key

What if you could immediately use all the code you’ve already written, by installing a single command?

The key is to extract your code to a package; this way you will have immediate access whenever you need to use the resources you have already created.

Surely you have already heard this!

But if you haven’t implemented it in your development practices yet, it could be for several reasons:

  1. You have searched for FREE video tutorials that show you a part of the puzzle, but there are always missing pieces to achieve it and after many tries, you finally get tired of searching.
  2. You have bought courses, and watch long, unedited videos at 2× speed learning any or very little, which discourages you from investing again.
  3. You have found a lot of information about it, but you don’t know what is really going to help you and you feel confused.

In the end, all this has made you take a step back and continue with the same rudimentary practice of copy – paste or rewrite your code every time you need it, even if it is a real headache.

How to do it right?

Have you ever wondered what is the simple, effective and fast way to make a package?

First of all, you must be clear that you can find EVERYTHING on the web, but although there is a lot of “FREE” content, everything has a price and the most expensive is: your precious time.

Giving value to your time and your intelligence while you learn is the main source of income in your near future.

If you get rid of the stress of looking for something good and “FREE”, having to read many reviews of what you randomly find to learn “FREE”, if you have questions and do not find the answers in what you are learning “FREE ”; if you get rid of all this and decide to invest a few dollars and decide not to continue spending your precious time of life that is not “FREE”, I assure you that in a few hours you can learn to pack efficiently and you will start flowing in your projects more happily.

If you are tired of searching and not finding, if you want to access professionally, and high quality content, by and for a professional web developer; this course is your answer.

With this Course you will achieve in just 2 hours:

  • Optimize your time and your productive energy.
  • Flow in the development of your applications without having to stop to solve things that you have already done.
  • implement a good practice, as all professional web developers do.

Course Features:

  • This course has a duration of 2h 04m.
  • It is distributed in 21 very short and clearly explained lessons, which will take you step by step on how to build packages for Laravel.
  • You will have access to compact and well-explained content, to achieve your goal in the shortest possible time.
  • You will access carefully produced material with excellent audio and video quality in each of the lessons.

Other benefits:

  • With this Course, you can learn anytime, anywhere and at your own pace.
  • Using packages prevents you from repeating codes that you have already created.
  • Using packages will optimize your resources and work faster.
  • You will not burn your time and energy looking for resources that you have already worked on.
  • You will not cut your inspiration in the creation of new projects.
  • Using your packages you can focus your skills on building new ideas.

Course Outline

  1. Introduction & What is a Package In this lesson we quickly review what packages are and what we need to start creating them.
  2. Creating your first packageIn this lesson we create a package from scratch and learn how to use it in a Laravel application locally.
  3. How to autoload classes in your packagesIn this lesson we learn how to automatically load our package classes using PSR-4
  4. Facades, Service Container & Service Providers explainedIn this lesson we learn what the Laravel Service Container is, what Service Providers are and how to create them, and what Facades are and how to create them.
  5. How to add Package Auto-Discovery in Laravel In this lesson we add a ServiceProvider and a Facade that are automatically registered to make it easier to use our package in Laravel.
  6. How to test your packages In this lesson we configure PHPUnit and add tests to our package in the same way that we would if we were inside a Laravel application.
  7. How to add routes to packetsIn this lesson we learn how to define routes and load route files that can be used by applications that install our package.
  8. How to add controllers to your packageIn this lesson we learn how to use controllers in our packages, and how to use them without using namespaces.
  9. How to add views to your packagesIn this lesson we learn how to load our package views with namespaces, and how to use them.
  10. Allow the users to overwrite the package viewsIn this lesson we give the end user the option to publish the views of our package so that they can modify them according to their requirements.
  11. How to allow configuration in your packagesIn this lesson we learn how to add configuration files to our Laravel packages and how to allow the end user to modify these configurations.
  12. How to add Models and Migrations to your packagesIn this lesson we learn to provide migrations and templates to the end user of our packages
  13. How to allow to modify Migrations in your packagesIn this lesson we allow the end user of our package to be able to publish the migrations in order to modify it according to their needs.
  14. How to add translations to your packagesIn this lesson we learn how to auto-load and publish PHP and JSON translations to our Laravel packages.
  15. How to add assets to your packagesIn this lesson we learn how to publish static CSS and JS files so that they can be used immediately after publishing.
  16. How to add Code Coverage to you packagesIn this lesson we learn what it is and how to use Code Coverage in our packages and in any PHP application.
  17. Creating a Real PackageIn this lesson we create an actual package that allows executing the storage:link command on servers shared with cpanel without console access.
  18. How to use Git & Github to publish on PackagistIn this lesson we initialize our package’s local repository with GIT, publish it to GITHUB, and finally add it to Packagist so it can be installed into any Laravel application using Composer.
  19. How to add Semantic versioning to your packagesIn this lesson we learn about the semantic versioning specification and how to implement it in our packages.
  20. What is the README file forIn this lesson we learn what a README file is and what it is for as we create one for our package.
  21. How to choose a LicenseIn this lesson we learn how to choose and add a license to our packages according to the needs of the project.
Get Tutorial