getThumbnail 함수명은 다른 모듈에서 사용 불가능한가요
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.0 |
리모델링 중인 스케줄 모듈에서 모듈명.item.php를 만들고 getThumbnail() 함수를 적용했는데 얘가 말을 안 듣네요.
HTTP ERROR 500를 쏩니다.
근데 같은 내용으로 해도 함수 이름을 takeThumbnail()처럼 하면 멀쩡하게 썸네일 생성하고 가져오고 그럽니다.
이게 뭔 조화인지.
getThumbnail 함수명은 다른 모듈에서 사용 불가능한 건가요?
(스케줄 모듈 원판에도 함수 이름은 scheduleGetThumbnail으로 돼 있더군요)

윤삼
Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
댓글 6
HTTP 500 에러가 발생할 때는 반드시 에러메시지가 남습니다. 라이믹스 디버그 기능이나 서버의 에러 로그를 사용해서 에러메시지와 에러 발생 위치를 찾아야 정확히 무슨 원인인지 알 수 있습니다. 모듈 만드시는 분이라면 이건 필수겠죠? ㅎㅎ
---------- 에러메시지 확인하신 후에 보세요 ----------
완전히 별도로 선언한 item 클래스가 아니라 기존에 있던 documentitem, commentitem, contentitem 등을 상속받거나 참조했다면 동일한 이름의 함수를 중복 선언했을 때 문제가 생길 수도 있습니다.
아무 것도 상속받지 않은 독립된 클래스라도 만약 다른 자료에서 document, commentitem, contentitem 등으로 오인할 소지가 있다면 (예: 게시판에서 흔히 사용하는 $oDocument나 $document_list라는 변수에 실제 documentitem이 아닌 것을 넣었다면) 엉뚱한 곳에서 예상치 못한 방식으로 호출될 위험이 있습니다.
언젠가 파일 하단에 가라로 함수 이름이랑 자리만 잡아놓고 까먹었던 모양입니다.
이럴 수가... 정말 저는 선무당 같아요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
원래 스케줄모듈에는 따로 썸네일을 출력하는 기능이 없는데 추가된 기능에 있나보군요.
말씀하신것처럼 일반적으로 getDocument 가져올때 혹은 리스트 가져올때 DocumentItem 을 참조하게 되면 해당 getThumbnail을 사용할 수 있는데 그 외의 모듈에서 DocumentItem처럼 만들어둔 것 에서 getThumbnail 혹은 비슷하게 섬네일을 가져오는 기능을 만들지 않는이상 없습니다.
대게 서드파티에서 그런걸 잘 안만들고.. 필요하시다면 public static 선언하여 만들어두 됩니다. (코어파일이 아닌 서드파티자료인경우에요)
그러면 해당클래스::getThumbnail($moduleItem_srl) 뭐 대충 이런 느낌으로 가져올 수 있을거예요.
그 외 주의할 점은 기진님께서 잘 설명해주셧네요 :)
에러 로그 보고 함수 중복 확인해서 바로 잡았습니다ㅜㅜㅜ
(근데 기억 못하시는 것 같은데 스케줄 모듈 아이템에 섬네일 함수 있어효. 속닥속닥ㅋㅋㅋㅋ)