메리7

그누보드5 REST API 8/13일

지난 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'은 과연 이해할 수 있을까요? 이것도 모르겠다, 불편하다고하면 전역 스코프로 분리되는 건가요?

@jihan006? 

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

@jihan006? 

공감합니다

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

아래 평으로 갈음합니다

a8af795269f21d87d0c6de76299799a4_1723597803_5334.jpeg

 

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

이건좀...

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

이건아니쥐 ㅠㅠ

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

그누보드5 개발일지

+
제목 글쓴이 날짜 조회
1년 전 조회 1,834
1년 전 조회 3,442
1년 전 조회 2,143
1년 전 조회 1,909
1년 전 조회 1,685
1년 전 조회 1,731
1년 전 조회 2,071
1년 전 조회 1,739
1년 전 조회 2,130
1년 전 조회 1,627
1년 전 조회 1,557
1년 전 조회 1,781
1년 전 조회 1,114
1년 전 조회 1,193
1년 전 조회 746
1년 전 조회 523
1년 전 조회 1,014
1년 전 조회 667
1년 전 조회 505
1년 전 조회 774
1년 전 조회 872
1년 전 조회 508
1년 전 조회 747
1년 전 조회 517
1년 전 조회 631
1년 전 조회 1,225
1년 전 조회 1,300