1. Go to this page and download the library: Download tungnt/laravel-repository library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php
return [
'repository-namespace' => 'App', // Your Desire Namespace for Repository Classes
'service-namespace' => 'App', // Your Desire Namespace for Service Classes
]
php
namespace App\Repositories;
use App\Repositories\BaseRepository;
use App\Repositories\Interfaces\UserRepositoryInterface;
class UserRepository extends BaseRepository implements UserRepositoryInterface
{
public function getModel()
{
return \App\Models\User::class;
}
public function getUser()
{
return [];
}
}
php
namespace App\Repositories\Interfaces;
use App\Repositories\Interfaces\RepositoryInterface;
interface UserRepositoryInterface extends RepositoryInterface
{
public function getUser();
}
php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Repositories\Interfaces\UserRepositoryInterface;
class UserController extends Controller
{
/**
* @var UserRepositoryInterface|\App\Repositories\Repository
*/
protected $userRepo;
public function __construct(UserRepositoryInterface $user)
{
$this->userRepo = $user;
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$user = $this->userRepo->getAll();
return view('', ['user' => $user]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$data = $request->all();
//... Validation here
$user = $this->userRepo->create($data);
return redirect()->route('');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$user = $this->userRepo->find($id);
return view('', ['user' => $user]);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$data = $request->all();
//... Validation here
$user = $this->userRepo->update($id, $data);
return redirect()->route('');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$this->userRepo->delete($id);
return redirect()->route('');
}
}
bash
php artisan make:service your-service
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.