inflearn logo
강의

Course

Instructor

PHP 7+ Programming: Object-Oriented

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

335

작성자 없음

0 asked

0

35강 중간에 AuthMiddleware 클래스를 만드는 부분에서, 인증을 하는 부분을 따로 Auth클래스를 만들어서 할 수도 있다라는 내용이 잠깐 지나갑니다.

이때, Auth클래스는 어떤 디렉토리를 만들어서 두면 좋을까요? 유틸 디렉토리를 만들어서 둘까 했지만, Auth클래스를 유틸 클래스라고 하기엔 좀 모호한것 같아서요.

php 객체지향

Answer 1

0

pronist

안녕하세요. 강의를 다시 보니 제가 라라벨의 Auth 를 예로 들었네요.

예로 든 라라벨의 Auth 클래스의 사용법을 간단하게 살펴보겠습니다. 라라벨에서 Illuminate\Support\Facades\Auth 클래스는 사용자가 인증 기능을 쉽게 사용할 수 있도록 해주는 헬퍼 클래스로 사용됩니다. 그래서 내부의 구현과는 관계없이 사용자가 단순한 형태로 사용할 수 있는 형태입니다.

use Illuminate\Support\Facades\Auth;
 
if (Auth::check()) {
    // The user is logged in...
}

로그인도 Auth::attempt() 를 사용하여 간단하게 사용할 수 있습니다. 라라벨에서는 헬퍼 클래스를 지칭할 때 파사드(Facades)라는 개념을 사용하는데, 레거시 환경에서도 Auth 클래스를 단순한 헬퍼 클래스로 취급하여 Helpers 라는 네임스페이스 및 디렉토리에 위치시키는 것을 고려해볼 수 있습니다.

if (Auth::attempt($credentials)) {
    $request->session()->regenerate();

    return redirect()->intended('dashboard');
}

다만, 라라벨의 헬퍼 클래스는 개발자가 사용할 때 Auth::attempt()와 같은 형태를 나타내고 있지만, 내부적으로는 서비스 컨테이너 바인딩을 통해 AuthManager, StatefulGuard 와 같은 클래스와 인터페이스의 메서드를 프록시합니다. 이 부분은 라라벨에 대한 내용이므로 이 강의와는 무관한 이야기이기에 여기서 생략하겠습니다만, 아무튼 강의에서 예시를 든 부분은 코드에서 예를 든 것처럼 헬퍼 클래스로 취급하여 사용하는 것을 이야기합니다.

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

0

90

1

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

0

399

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

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

1

186

1