테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5 REST API 8/13일

· 1년 전 · 599 · 6

지난 PHP 의 변경점들을 보면 객체지향언어로 가고있습니다.

final , 익명클래스, readonly 클래스가 생기고

프로퍼티에 타입이 가능해지고 등등..

 

그누보드 5 의 api 는 주소를 쉽게 지정하기 위해 슬림프레임워크를 사용하게되었고

컨트롤러/요청,응답 모델/서비스로 구성되어있습니다.

 

그러나 그누보드 5 api 도 그누보드의 일부이기때문에

기존 사용자들의 클래스에 대한 어려움 의견을 반영했습니다.

 

컨트롤러는 openapi 문서 생성 라이브러리의 한계로 인해

컨트롤러 클래스를 사용할 수밖에 없습니다.

 

서비스 클래스의 경우 테이블이름과 일부 상태정도만 있었기 때문에

이 부분에 대해서는 함수로 변경 중입니다.

 

아직 변경중입니다.

https://github.com/gnuboard/gnuboard5/commit/34b96cb2d0ee3b509d7a8e461da84cbae475aa3f

 

클래스의 private 멤버함수를 일반함수들로 바꾸면서 변경점.

 

* PHP 의 컴포저에서는 클래스 단위는 자동으로 인클루드 해주지만(PSR-4 오토로딩)

* 함수들은 그렇지 않아서 기존처럼 인클루드 하면됩니다.

* 기존 그누보드 5 처럼 전역 상태에 다 둘 수없기 때문에 네임스페이스가 도입되었습니다.

PHP 에는 클래스를 제외하면 자바스크립트같은 모듈 export 개념이 없기때문에 

_ 접두사를 붙였습니다.

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

이 변경으로 어떤 실익이 있는건지 모르겠습니다.

 

private 메소드들은 노출되어버렸고 서비스 레이어는 확장/대체할 방안이 있는지, 오토로드 규칙에 벗어나서 include해야하는 관리 포인트가 늘어나는 등 이 구성이 사용자가 직접 호출하여 사용하는 형태가 아닌 API를 동작시키는 구성의 일부일 뿐인데 확장 가능성도 차단되어버린 이러한 형태가 한 명의 사용자가 '난 클래스 어렵더라'라는 글 하나로 이러한 변경이 어떤 실익이 있는지 의문입니다.

 

'use function'은 과연 이해할 수 있을까요? 이것도 모르겠다, 불편하다고하면 전역 스코프로 분리되는 건가요?

1년 전

@jihan006? 

여기는 추천이 없네요. 공감합니다. 👍

@jihan006? 

공감합니다

댓글수정하다가 잘못눌러습니다

아래 평으로 갈음합니다

 

이제좀 제대로되려나 했는데 

이건좀...

굳이 클래스 메서드들을 ... 

이건아니쥐 ㅠㅠ

게시글 목록

번호 제목
71
70
69
67
65
59
56
55
54
53
50
47
39
36
34
32
25
24
22
18
17
12
11
5
3
2
1