41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\DTOs;
|
|
|
|
class UserDTO extends CommonDTO
|
|
{
|
|
public ?int $uid = null;
|
|
public string $id = '';
|
|
public string $passwd = '';
|
|
public string $confirmpassword = '';
|
|
public string $name = '';
|
|
public string $email = '';
|
|
public string $mobile = '';
|
|
public array $role = [];
|
|
public string $status = '';
|
|
|
|
public function __construct(array $datas = [])
|
|
{
|
|
// 1. [전처리] 입력값이 문자열(CSV)로 들어왔다면 배열로 변환
|
|
if (isset($datas['role']) && is_string($datas['role'])) {
|
|
$datas['role'] = explode(DEFAULTS["DELIMITER_COMMA"], $datas['role']);
|
|
}
|
|
|
|
// 2. 만약 데이터가 없다면 빈 배열로 초기화
|
|
if (!isset($datas['role'])) {
|
|
$datas['role'] = [];
|
|
}
|
|
|
|
// 3. 부모 생성자 호출
|
|
parent::__construct($datas);
|
|
}
|
|
|
|
/**
|
|
* DB 저장용(Entity 전달용) CSV 문자열이 필요할 때 사용합니다.
|
|
*/
|
|
public function getRoleToString(): string
|
|
{
|
|
return implode(DEFAULTS["DELIMITER_COMMA"], $this->role);
|
|
}
|
|
}
|