In most case, we want to extend our Laravel applications capabilities by adding helper class.
It is not a best practice to insert this classess inside Controller and Model.
so we have to write our classess in separate files and group it by folder
Here let us have a look how we add helper classess in laravel
1. We have app folder on root folder of laravel.There we can create a Libraries folder inside app folder.
2. We can create a class/helper file and we can write a our custom class there, on the top of custom class we have to define namespace our_folder_name;
namespace our_folder_name
for example ,
//here my folder name is Libraries
namespace Libraries;
class className{
//class methodes
}
Now we can go to our controller and on top we can include our helper class
use Libraries\filename as filename;
And we can go to compser, inside autoloder we can add “app/foldername”
app/foldername
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/Libraries",// we've added classes folder on compose
]
},
And we can update composer by using below comment
composer dump
Now we can use our helper class in our controller
$test = new className();
All my samples files are given below
Library/className.php
<?php
namespace Libraries;
class className{
//class methodes
function testmesthode(){
return "Hello world";
}
}
testController.php
<?php
use Libraries\className as className;
class testController extends BaseController {
function index(){
$test = new className();
echo $test->testmesthode();
}
}
compser file
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/Libraries",// we've added classes folder on Laravel ClassLoader
]
},
6,485 total views
