PHP code example of klinikpintar / laravel-repository
1. Go to this page and download the library: Download klinikpintar/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/ */
klinikpintar / laravel-repository example snippets
namespace App\Repositories;
use App\Models\User as Model;
use KlinikPintar\RepositorySoftDelete;
class UserRepository extends RepositorySoftDelete
{
/**
* model
*
* @var \Illuminate\Database\Eloquent\Model
*/
protected $model = Model::class;
/**
* fillable data model.
*
* @var array
*/
protected $fillable = [
'name', 'username', 'email', 'password', 'role'
];
}
Create user controller
namespace App\Http\Controllers;
use App\Repositories\UserRepository;
use App\Http\Resources\UserResource;
use App\Http\Requests\User\CreateRequest;
use App\Http\Requests\User\UpdateRequest;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* repository
*
* @var \App\Repositories\UserRepository
*/
protected $repository;
public function __construct()
{
$this->repository = new UserRepository();
}
/**
* get list of companies
*/
public function getList(Request $request)
{
$collection = $this->repository->getList($request);
return UserResource::collection($collection);
}
/**
* get detail of companies
*/
public function getDetail(Request $request, int $id)
{
$user = $this->repository->getDetail($request, $id);
return new UserResource($user);
}
/**
* create User
*/
public function create(CreateRequest $request)
{
$user = $this->repository->create($request);
return (new UserResource($user))->additional([
'message' => 'User has been created'
]);
}
/**
* update User
*/
public function update(UpdateRequest $request, int $id)
{
$user = $this->repository->update($request, $id);
return (new UserResource($user))->additional([
'message' => 'User has been updated'
]);
}
/**
* activate User
*/
public function activate(Request $request, int $id)
{
$user = $this->repository->activate($request, $id);
return (new UserResource($user))->additional([
'message' => 'User has been activated'
]);
}
/**
* inactive User
*/
public function inactive(Request $request, int $id)
{
$user = $this->repository->inactive($request, $id);
return (new UserResource($user))->additional([
'message' => 'User has been inactived'
]);
}
/**
* delete User
*/
public function delete(Request $request, int $id)
{
$user = $this->repository->delete($request, $id);
return (new UserResource($user))->additional([
'message' => 'User has been deleted'
]);
}
/**
* restore User
*/
public function restore(Request $request, int $id)
{
$user = $this->repository->restore($request, $id);
return (new UserResource($user))->additional([
'message' => 'User has been restored'
]);
}
/**
* forceDelete User
*/
public function forceDelete(Request $request, int $id)
{
$user = $this->repository->forceDelete($request, $id);
return (new UserResource($user))->additional([
'message' => 'User has been force deleted'
]);
}
}
/**
* on User created
*
* @var \Illuminate\Http\Request
* @var \Illuminate\Database\Eloquent\Model
*/
public function onCreated(CreateRequest $request, User $user): void
{
$user->contact->create([...]);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.