2024. 8. 5. 23:09ㆍSNS 프로젝트 일지/PHP
회사 유저 DB 정보를 로컬 PC 에 받았다.
회사 유저의 PASSWORD 는 MD5 으로 HASH 되어있었다.
이부분을 Laravel Breeze 에서 사용 하고 있는 Brycpt 로 변환 하기 위해
php artisan migrate:refresh --seed
cli 를 실행시
DataSeeder 안에서 m5 를 먼저 복호화 한후 Brycpt 로 암호화를 하여 Users DB migration 을 하였다.
그리고 라라벨11에서는 service 커맨드가 기본적으로 지원하지 않는다
그래서 php artisan make:service 커맨드를 만들기로 했다.
1. php artisan make:command MakeService
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;
class MakeService extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'make:service {name}';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Create a new service class';
/**
* Execute the console command.
*
* @return int
*/
public function handle()
{
$name = $this->argument('name');
$servicePath = app_path("Services/{$name}.php");
if (File::exists($servicePath)) {
$this->error("Service {$name} already exists!");
return 1;
}
$stub = File::get(base_path('stubs/service.stub'));
$serviceContent = str_replace('{{ class }}', $name, $stub);
File::ensureDirectoryExists(app_path('Services'));
File::put($servicePath, $serviceContent);
$this->info("Service {$name} created successfully.");
return 0;
}
}
php artisan make:service 에 대한 커맨드를 생성 해준다.
그리고 커맨드로 생설될 서비스 파일의 기본 디폴트를 만들어준다 .
2. mkdir stubs touch
3. stubs/service.stub
<?php
namespace App\Services;
class {{ class }}
{
// 서비스 로직을 여기에 작성합니다.
}
4. 이제 커맨드를 등록 해주어야 하는데
라라벨 11 같은 경우에는 make:command 할 시에 커맨드가 자동으로 등록된다.