inflearn logo
강의

Khóa học

Chia sẻ kiến thức

PHP 7+: Lập trình hướng đối tượng

38 - Người dùng

User 클래스에 대한 질문입니다.

Đã giải quyết

186

Henu

66 câu hỏi đã được viết

1

안녕하세요, 강의를 보며 프로젝트 예제 코드를 따라 타이핑 하면서 궁금한 것이 있어 질문드립니다.

아마 '36-메인(Index)' 강의에서 Post 클래스를 사용함에 있어 생겼었떤 궁금증과 동일할 거 같습니다.

'회원가입' 처리를 위해 UserController::store 정적 메소드에서 'POST' 방식으로 넘어온 'email', 'password' 데이터를 User 객체의 프로퍼티(멤버변수)로 설정하는 코드를 볼 수 있었습니다.

하지만 실제 User 클래스에서는 가령 public $email, public $password와 같이 프로퍼티(멤버변수)가 선언되어 있지 않았는데요.

이게 어떻게 가능하게 된건지 원리가 궁금합니다.

 

P.S 저는 Java(SpringFramework)도 함께 공부를 진행중에 있습니다.(실무에서 Java, PHP 둘 다 쓰기에...)

Java에서 클래스의 성질과 비슷하다라고 생각하니 이번 강의에서 보여주셨던 코드가 동작하는게 이해가 가지 않더라구요.

 

미리 답변 감사드립니다.

php PHP7 oop framework

Câu trả lời 1

1

pronist

답변이 많이 늦었습니다. 몸이 영 좋지않았던 점 양해바랍니다.

PHP 클래스는 다소 멍청합니다. 예를 들어 다음과 같은 코드는 동작합니다. 별도로 프로퍼티를 선언하지 않았음에도 할당할 수 있고, 접근도 가능합니다. 물론 이렇게 하는 것은 나쁩니다. 저도 강의를 수정한다면 추가했을 것입니다. 원리적으로 볼때 내부적으로 매직메서드 __set() 이 호출됩니다. 

class A
{
    public function __construct(string $message)
    {
        $this->message = $message;
    }

    // public function __set($name, $value)
    // {
    //     $this->$name = $value;
    // }
}

$a = new A('Hello, world');

var_dump( $a->message );

 

0

Henu

몸은 좀 괜찮아지셨는지요?

PHP에 존재하는 매직 메서드로 하여금 굳이 Class 내 프로퍼티로 선언되어 있지 않아도

동적(?)으로 설정이 가능한지 처음 알게 되었네요.

답변 감사드립니다.

패케지스트를 하지 않고 섹션7을 수행할수 있나요

0

90

1

나만의 프레임워크 작성 후, 운영환경 배포에 관한 문의 드려요

0

399

1

35강 미들웨어에서 인증 과정을 Auth클래스로 만들면, 어느 디렉토리에 둘까요?

0

335

1

ios환경에서는 어떻게 설치해야 하나요?

0

445

1

라라벨(php) 배포 문의

0

1651

1

왜 http://localhost/ 로 접근하면 public/index.php 가 실행되나요?

0

2102

1

http://localhost:8080/posts/1 접근시 배열 0값 표기 오류

0

396

1

xdebug 설치

0

667

1

localhost 경로

0

441

1

class not found

1

327

1

namespace class not found 질문

0

466

1

csrfmiddelware 에러 질문입니다

0

363

2

url Parttern Parts 가 무슨뜻인가요?

0

349

1

통합 개발환경 (IDE) 관련 문의

0

246

1

Route 클래스 질문이 있습니다!

0

297

1

모델 User 등에서 속성들을 protected 나 private 으로 설정하지 않는 이유가 있습니까?

0

340

1

안녕하세요 프로젝트를 react와 연동하기에 대해서 여쭈고 싶습니다 :)

1

1377

1

DatabaseSessionHandler.php 에러 해결 부분

0

298

1

안녕하세요. 라우터 서버 연결 질문이 있습니다.

1

281

1

아니 강사님 왜 자꾸 어어 거려요? 진짜 겁나 거슬려 죽겠네 ㅡㅡ 어좀 적당히해요 거슬려 죽겠네 그리고 마이크 좀 좋은거 쓰세요 볼륨이 낮아졌다 커졌ㄷ ㅏ하고 발음도 다뭉개져지고 딕션도 안 좋아서 하나도 안들려요 진짜 개짜증나네

1

572

2

로컬환경에서 개발 후 운영환경으로 배포 시 발생하는 이슈에 대한 문의입니다.

1

574

2

DatabaseSessionHandler 클래스의 gc($maxlifetime) 메소드에 대해 질문드립니다.

2

257

1

Xdebug 설치 후 php index.php 실행하면 오류가 납니다..!

0

1133

1

CentOS 7.* 서버쪽으로 배포를 해보던 중에 질문드립니다.

1

366

1