PHP code example of getsolaris / laravel-make-service
1. Go to this page and download the library: Download getsolaris/laravel-make-service 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/ */
getsolaris / laravel-make-service example snippets
namespace App\Services;
class UserService
{
//
}
namespace App\Services;
use App\Services\Interfaces\UserServiceInterface;
class UserService implements UserServiceInterface
{
//
}
namespace App\Services\Interfaces;
interface UserServiceInterface
{
//
}
namespace App\Services;
use App\Models\User;
use App\Services\Interfaces\UserServiceInterface;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
class UserService implements UserServiceInterface
{
/**
* Create a new user
*
* @param array $data
* @return User
*/
public function createUser(array $data): User
{
return DB::transaction(function () use ($data) {
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
});
}
/**
* Update user information
*
* @param User $user
* @param array $data
* @return bool
*/
public function updateUser(User $user, array $data): bool
{
if (isset($data['password'])) {
$data['password'] = Hash::make($data['password']);
}
return $user->update($data);
}
/**
* Get user statistics
*
* @param User $user
* @return array
*/
public function getUserStatistics(User $user): array
{
return [
'posts_count' => $user->posts()->count(),
'comments_count' => $user->comments()->count(),
'last_login' => $user->last_login_at,
];
}
}
namespace App\Http\Controllers;
use App\Http\Requests\StoreUserRequest;
use App\Http\Requests\UpdateUserRequest;
use App\Services\UserService;
use Illuminate\Http\JsonResponse;
class UserController extends Controller
{
protected UserService $userService;
public function __construct(UserService $userService)
{
$this->userService = $userService;
}
public function store(StoreUserRequest $request): JsonResponse
{
$user = $this->userService->createUser($request->validated());
return response()->json([
'message' => 'User created successfully',
'user' => $user
], 201);
}
public function update(UpdateUserRequest $request, User $user): JsonResponse
{
$this->userService->updateUser($user, $request->validated());
return response()->json([
'message' => 'User updated successfully',
'user' => $user->fresh()
]);
}
public function statistics(User $user): JsonResponse
{
$stats = $this->userService->getUserStatistics($user);
return response()->json($stats);
}
}
bash
php artisan make:service UserService