![data_forget Helper for Laravel](https://laravelsage.com/storage/media/25/conversions/data_forget-helper-responsive.jpg)
data_forget Helper for Laravel
Since Laravel version 10.15, there is a new utility function called data_forget that allows you to remove keys from an array or object using a "dot" notation.
4 min read
Tags:
Hey there, aspiring Laravel developers! Ready to embark on an epic journey into the world of Laravel package development? Buckle up, because we're about to dive headfirst into a enlightening tutorial that will make you question your life choices!
Now, you might be wondering, why on earth would anyone want to create their own Laravel package? Isn't it enough to just use the endless array of packages out there in the open-source universe? Well, my friend, I'll tell you why - because who needs pre-built solutions when you can spend countless hours reinventing the wheel?
Get ready for some serious developer enlightenment as we uncover all the secrets behind building powerful Laravel packages. Trust me; by the end of this tutorial, you'll be the proud parent of your very own package.
So, you're thinking about developing a package? Well, why not add another layer of complexity to your already complicated Laravel project? It's definitely worth the headache!
Composer and Packagist, the dynamic duo that saves developers from reinventing the wheel. Pure genius!
So you've decided to dive into the world of package development? Brace yourself, because the Prologue is just the beginning!
So, you want to get started with creating your own Laravel package? Well, lucky you! It's just a breeze. Good luck!
Step 1: The first step is to create a new Laravel project
To create a package, you need to have a Laravel project. If you don't have one, you can create one using Composer:
Create-project --prefer-dist laravel/laravel my-awesome-package
Well you can replace my-awesome-package with the name of your desired project.
Step 2: The second step is to create a new package directory. The next step is to create a directory outside of your Laravel project directory to house your package. For example:
mkdir my-awesome-package
Then, cd to my-awesome-package
Step 3: The third step is to initialize a Composer package. Create a new Composer package inside your package directory:
composer init
Fill out the details about your package, such as its name, description, author, and license.
Step 4: The fourth step is to create the package structure. The next step is to create the basic structure of your Laravel package. Here's an example:
my-awesome-package/
src/
MyPackageServiceProvider.php
composer.json
The src
directory should contain the main service provider file MyPackageServiceProvider.php.
Step 5: The fifth step is to write the service provider
Create a basic service provider in MyPackageServiceProvider.php to define how your package interacts with Laravel. Here's an example:
<?php
namespace YourNamespace\MyPackage;
use Illuminate\Support\ServiceProvider;
class MyPackageServiceProvider extends ServiceProvider
{
public function register()
{
// Register your awesome package's functionality here
}
public function boot()
{
// Perform any bootstrapping, like publishing configuration files
}
}
Replace YourNamespace\MyPackage
with your actual namespace.
Step 6: Update Composer Autoload in Step 6
Add your package's namespace to the autoload section of composer.json:
"autoload": {
"psr-4": {
"YourNamespace\\MyPackage\\": "src/"
}
},
Step 7: The seventh step is to register the package with Laravel
Add your package's service provider to your Laravel project's config/app.php:
'providers' => [
// ...
YourNamespace\MyPackage\MyPackageServiceProvider::class,
],
The final step is to publish the configuration (optional).
Run the following command to publish your package's configuration files to the Laravel project:
php artisan vendor:publish --tag=my-package-config
In your service provider's boot method, define the tag.
Step 8: The 8th step is to develop your package
You can now add controllers, models, views, routes, and any other components needed for your package within the src directory.
Consider hosting your package on GitHub and publishing it to Packagist so that others can easily install it using Composer.
Installation
Run the following command to install your package in another Laravel project:
Your-vendor/your-awesome-package is required by composer
Replace your-vendor/your-package with the actual package name you specified in composer.json.
And finally, we come to the grand finale of Laravel package development - using lifecycle hooks. Because let's face it, what's a good package without some fancy hooks to make your life even more interesting?
But wait, there's more! You can also use these hooks to register service providers, add middleware, or even modify existing functionality. It's like having the power to bend Laravel to your will with just a few lines of code.
Now armed with this knowledge, you have the tools at your disposal to create amazing packages that will make developers around the world swoon with envy.
So go forth and conquer the world of Laravel packages! And remember: always stay curious and keep pushing yourself further because there is no limit to what you can achieve in this vast universe called software development.
Happy coding!
Check Top Packages for Laravel. Official Documentation at Laravel
Full-stack developer with a knack for Merging creativity with technical expertise for standout solutions.
Since Laravel version 10.15, there is a new utility function called data_forget that allows you to remove keys from an array or object using a "dot" notation.
The ChatGPT Laravel API Package Generator package for Laravel generates smart API mocks in Laravel using ChatGPT prompts:
You can make your Laravel app multi-tenant using the Tenancy for Laravel Tenant package. This tenancy package lets you make any Laravel application multi-tenant without rewriting it.
Are you ready to take your Laravel skills to the next level and build extraordinary applications? Look no further! In this blog post, we will unveil a treasure trove of top packages that will revolutionize your development process.
The Livewire Tables package brings dynamic tables for models to Laravel Livewire. These are some of the features which you will get out of the box:
ImageMagick is a powerful tool for image manipulation, and integrating it with PHP can enhance your web development projects.
Subscribe for 20+ new Laravel tutorials every week
You can unsubscribe at any time. You'll also get -20% off my courses!