1ebec223e0dc2bae61abe9e74683726d31d5a1cbee768fa692a61014f8a7a905a64443825b77583968

디시가 php 코드를 못쓰게 하는 관계로 스샷으로 대체함.

그누보드는 php 3~4시절에 쓰던 방식으로 쓰는 평범한 old php코드임


------------

15번 줄에 일단 어디서 튀어나왔는지 모를 전역변수 $group 가 있는데
이거는 common.php 에서 현재 게시파니 속한 그룹 권한이 담겨있는 배열임

$group 를 초기화 하지않기때문에 뭐가 들어있는지 모름


그누 오래 만지는 사람은 $group 는 그누보드의 권한테이블 컬럼이 몽땅담겨있으니까
DB 스키마 보면 여기 뭐가 들어있는지 알 수있다~~ 떠드는데 

클래스였으면 걍 ide 만 클릭해서 선언부 이동으로 알 수 있었을걸 코드 따라가서 이게 어디서 왔지?? 이래야됨
키값 뭐있었더라? 하면서 DB 스키마 한쪽에 띄워놓고 하는사람봄.



저기서 끝나면다행인데 얘는 그룹이 없을때가 있어서 그냥 if 로 체크하다가 뻑날까봐 저렇게 중간에 초기화를 해놨음 
중간에 초기값 넣은게 참 바보 같은데 아마도 그누5를 만든 사람들은 귀찮기도하고 
클래스 없는 코드들은 어느나라 개발자나 대체로 저런식임
결과적으로 isset 떡칠을 하고야 말게됨.


최악의 경우는 서드파티 개발자가 저 $group 배열에 임의의 키값을 추가해놓고 다른데서 사용하다가 

if else if 어딘가에서 띡하고 추가해놓은거라 추적하다가 죽을맛이라는거임




그리고 php 배열은 그런게 한트럭.



php 코어 개발자들은(PHP VM 만드는 아조씨들) 클래스를 써라~ 거리고
클래스 싫은사람은 타입배열을 넣어달라고 난리나서
PHP 8 에 dataclass 를 따라하는 간소화된 클래스 속성문법이 나옴



1ebec223e0dc2bae61abe9e74683726d31d5a1cbee718aa793a41014f8a7a905970c1da568e3041fe4