Skip to content
Readerstacks logo Readerstacks
  • Home
  • Softwares
  • Angular
  • Php
  • Laravel
  • Flutter
Readerstacks logo
Readerstacks
Create Custom Class or Custom Library in Laravel 11

Create Custom Class or Custom Library in Laravel 11

Aman Jain, July 6, 2024July 6, 2024

Custom classes and libraries in Laravel can streamline your application’s codebase by encapsulating common functionality and business logic. This tutorial guides you through creating and utilizing custom classes using Laravel’s powerful features. These classes can be used to encapsulate common functionality, business logic, or to abstract away complex operations. In this article i will show you to create a class and use it using the alias or directly from the namespace name.

Let’s begin the tutorial of custom helper functions step by step

Step 1 : Create a class file

First, let’s create a helper class file within the Laravel application. You can place it in the app folder directly or organize it under a new folder like Lib inside app. Here’s an example creating a file app/Lib/PaymentHelper.php:

<?php 
namespace \App\Lib;

class PaymentHelper{

public $key='test_key';

  function getConfig(){
    return $this->key;
  }

}

Step 2 : Create Routes

Next, define routes to access and test our custom class. You can do this directly in a route file or within a controller. Here are examples of both approaches

<?php

use Illuminate\Support\Facades\Route;
 
Route::get('/helper',function(){
   
   $Payment=new \App\Lib\PaymentHelper();
    return $Payment->getConfig();
}); 

Or in controller

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ArticleController;

 
Route::get('/helper',[ArticleController::class, 'test']); 

Create a controller in app\Http\Controllers\ArticleController and You can now use your custom class in your application by importing it and creating a new instance of it. For example, in a controller:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
user App\Lib\PaymentHelper;

class ArticleController extends Controller
{
    public function test(Request $request)
    {
        $Payment=new PaymentHelper();
        return $Payment->getConfig();
    }
}
?>

In the same way we can use it in our view file.

Pro Tips:

To make your custom class globally accessible across the application, you can register it within Laravel’s AppServiceProvider:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\MyCustomClass;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        $this->app->singleton('myCustomClass', function () {
            return new MyCustomClass();
        });
    }
}

You can now use your custom class or library class anywhere in your application by calling the global helper function app() and passing in the name of the class you registered. For example:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MyController extends Controller
{
    public function index(Request $request)
    {
        $customClass = app('myCustomClass');

        // Use your custom class here
        $customClass->myCustomFunction();
    }
}

NOTE: This Singlton method will only create the object for once and will use the same object on every injection.
This concludes the tutorial on creating and using custom classes or libraries effectively within Laravel. By following these steps, you can enhance code organization and reuse across your Laravel applications.

Related

Php Laravel Laravel 11 classhelperlaravelphp

Post navigation

Previous post
Next post

Related Posts

Php How to Use Multiple Database Connection in Laravel

How to Use Multiple Database Connection in Laravel ?

August 16, 2022March 16, 2024

Laravel has ability to make use database connection and can be used any of connection at runtime. In this article i will show you to use multiple database connection in laravel from different servers and then use these connection in our application during the run time according to use of…

Read More

Sharing variables between all views in laravel 8

January 15, 2022January 15, 2022

In laravel its easy to share varible from controller to view using view function but sometimes we need to share some specific information to all pages of our website for examle sharing the site settings, user info etc. so in this case we require to share a varible across the…

Read More
Php How to Get User IP Address in Laravel

How to Get User IP Address in Laravel ?

June 24, 2022June 24, 2022

In this article we will learn to get user IP address in laravel. Client ip address is useful when we want to log the user request with ip address or wanted to know the location of user accessing our website. So in this article we will learn to use laravel…

Read More

Aman Jain
Aman Jain

With years of hands-on experience in the realm of web and mobile development, they have honed their skills in various technologies, including Laravel, PHP CodeIgniter, mobile app development, web app development, Flutter, React, JavaScript, Angular, Devops and so much more. Their proficiency extends to building robust REST APIs, AWS Code scaling, and optimization, ensuring that your applications run seamlessly on the cloud.

Categories

  • Angular
  • CSS
  • Dart
  • Devops
  • Flutter
  • HTML
  • Javascript
  • jQuery
  • Laravel
  • Laravel 10
  • Laravel 11
  • Laravel 9
  • Mysql
  • Php
  • Softwares
  • Ubuntu
  • Uncategorized

Archives

  • May 2025
  • April 2025
  • October 2024
  • July 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • July 2023
  • March 2023
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Recent Posts

  • Understanding High Vulnerabilities: A Deep Dive into Recent Security Concerns
  • Understanding High Vulnerabilities in Software: A Week of Insights
  • Blocking Spam Requests with LaraGuard IP: A Comprehensive Guide
  • Enhancing API Development with Laravel API Kit
  • Exploring the Future of Web Development: Insights from Milana Cap
©2023 Readerstacks | Design and Developed by Readerstacks
Go to mobile version