안녕하세요?
람보입니다.
이번에 라이믹스 알림센터에 불필요한 코드를 제거하고 불필요한 동작 및 여러가지 보안점을 점검하고 수정하고 있습니다.
오래된 기존의 코드를 줄이고 PHP7.0 이상에 맞게 도약하는 의미로 코드를 최신에 맞춰서 유지하기 위해 꼼꼼히 따져보고 있습니다.
다만 라이믹스에서는 기본 코어의 내장이지만 XE1에서는 외부 서드파티로 분류되고 있는 알림센터 이고, 서드파티이지만 다른 외부 서드파티중에서 제일 많이 간섭하고 들이대는 모듈이 알림센터이기도 합니다.
따라서 알림센터가 가진 다음의 문제점을 해결하기 위해서는 저의 독단적인 개인행동으로 막 변경하는 것이 아니라 여러분의 도움이 필요하여 여기에 글을 쓰게 되었습니다.
현재 PHP7.2이상의 문제인지 정확히 모르겠지만 함수의 메서드에서 parameter 의 기본값이 첫번째 parameter에 지정할 수 없는 문제점이 있는 것 같습니다.(2개 이상의 피라미터를 가진 함수에서 두번째 피라미터가 requied 이라면 첫번째 피라미터엔 기본값을 줄 수 없는 문제가 있습니다.)
ex)
위의 이미지를 참고하시면 아시다 싶이 testFunctionOne 에서 앞의 $bintext 부분이 기본값으로 지정시 이 부분의 에러가 있고 가벼운 워닝 이하의 php에러를 출력할 것으로 추정되는 부분입니다.
현재 PHP가 계속 발전해 나가며 언젠가는 PHP8, 9, 10 까지 올라갈 부분을 대비해 여러분들에게 이슈를 알려드리고자 합니다.
https://github.com/bjrambo/rhymix/commit/556cc606575a898df3cb45c47100d159d310427b
현재 PR진행중인 내용에서 한 코드 베이스입니다.
위의 이미지와 같은 이슈로 인해서 알림센터모듈의 ncenterlite.controller.php 파일 내의 updateFlagFile 메서드에 한해서 parameter순서를 변경하였습니다.
기존에는 member_srl먼저, 이후 $output 오브젝트를 추가하도록 하였으나 지금은 $output 오브젝트 먼저 그다음 member_srl 을 넣도록 순서를 변경할 예정입니다.
이에 XE용 알림센터도 마찬가지로 updateFlagFile메서드가 있다면 이를 확인한 다음 일괄적으로 변경하여 서로간의 호환성이 유지되어 XE사용자와 Rhymix 사용자간의 서드파티를 개발하는 개발자분들이 두번씩 고민안하셔도 될 수 있도록 호환성을 유지하고자 합니다.
updateFlagFile메서드를 사용하는 개발 자료를 알고 계신분 혹시 계시나요?
만약에 이 부분의 문제가 없으면 그대로 라이믹스에 먼저 적용할 예정입니다!
혹시 알림센터의 updateFlagFile메서드를 사용하는 서드파티 자료를 알고 계신분 계시면 꼭 댓글이나 쪽지를 통해서 알려주시면 감사하겠습니다.
감사합니다.
제 실력이 미천해서 답변을 드릴 수는 없지만 잘 될길 바랍니다!