원래 count() 함수에서 파라미터가 null 이거나
단순 숫자이거나 한 경우에는 전에는 warning이 떠서
그냥저냥 별 문제 없이 쓸 수 있었는데
php 8.0 부터 error가 뜨고 있어서 모듈들의
호환성이 크게 저하된 것 같습니다.
아마 이 문제에 대응하기 위해 라이믹스에도
countobj()라는 대체함수가 준비되어 있지만
이 함수를 사용치 않는 기존의 모듈들에는
효과가 없을뿐더러 이 함수를 쓰게 되면 되려
XE 과거버젼과의 호환성 문제가 생기는 것 같습니다.
그래서 이리저리 방법을 생각해본 것인데
function alias를 쓰면 어떨까요?
use function countobj as count;
이렇게 해서 기존의 count 함수를
강제로 countobj로 대체시켰더니
별 문제 없이 동작하는 것 같습니다.
이게 시스템 함수에도 먹을까했는데
먹는거 같더군요...
한번 고려해봐주셨으면 합니다.
이러한 부분에서 저는 오히려 대체 함수를 사용하기보단 PHP가 가고자 하던 부분을 명확하게 잡아주는것이 좀 더 낫다고 생각합니다.
언제까지 기존 자료들의 코드베이스를 계속 지원할 수 없고 과거 자료도 최신에서 문제가 발생될 정도라면 그 만큼 유지보수라던가 이런 부분을 신경쓰지 않고 있다는 반증을 하는 샘입니다.
물론 그런 자료가 꼭필요해서 쓰셔야 하는 사람들의 경우라면 좀 안타까운 것도 있지만 object를 count에 넣는다던가 null을 count에 넣는다는가 하는 것들을 사실 대처할 수 있는 방향이 많이 있습니다.
라이믹스에서는 해당 방법으로 모든 count를 countobj로 만들지 않을 것 같고요. 해당 오류가 뜨는 항목을 원래 목적에 맞게 데이터를 잘 넣는것이 좋다고 생각합니다.