2026, 새로운 도약을 시작합니다.

그누보드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,772
26 1년 전 조회 3,315
25 1년 전 조회 2,080
24 1년 전 조회 1,830
23 1년 전 조회 1,606
22 1년 전 조회 1,670
21 1년 전 조회 1,983
20 1년 전 조회 1,658
19 1년 전 조회 1,993
18 1년 전 조회 1,573
17 1년 전 조회 1,515
16 1년 전 조회 1,676
15 1년 전 조회 1,019
14 1년 전 조회 1,091
13 1년 전 조회 652
12 1년 전 조회 438
11 1년 전 조회 884
10 1년 전 조회 580
9 1년 전 조회 435
8 1년 전 조회 692
7 1년 전 조회 801
6 1년 전 조회 452
5 1년 전 조회 659
4 1년 전 조회 470
3 1년 전 조회 547
2 1년 전 조회 1,131
1 1년 전 조회 1,140
🐛 버그신고