controller에서는 lang을 사용할 수 없나요?
모듈에서 기존에 하드코딩 되어있던 문자열을 분리하면서 ko.php 와 같이 만들게 되었습니다
이런식으로 lang.xml을 삭제하고 ko.php를 넣었습니다.
view.php에서나 skin에서는 $lang->msg_asdf 같이 호출해서 잘 작동하는 모습을 보여줬지만, 오늘 controller에서 작동하는 소스를 호출해보니 아예 빈칸으로 나와버리네요..
return_message는 제가 view에서 메세지를 호출하게 하는 함수를 만든거고요, $lang->guild_point_leak를 왼쪽에 '에러!' 아래 출력을 해줘야 하는데, 위와같이 아무것도 나오지 않는 모습을 볼 수 있습니다.
지금은 눈에 보이게 출력하기 위해 저런식으로 재현을 했지만, debugPrint나 기타 다른 방법을 사용해도 저 $lang->guild_point_leak 에는 빈 문자열만 들어있는것 같습니다.
controller에서는 lang을 사용할 수 없나요?
만약 사용할 수 없다면 lang을 사용할 수 있게하는 방법이 있을까요?
다른거 개발하려다가 이 오류만 3시간째 잡고 있어서 착잡하네요 ㅜㅜ

리버스
Lv. 7
모듈만드는 대학생입니다.
https://potatosoft.kr
https://potatosoft.kr
댓글 10
해당 함수 내에서 $lang이라는 변수를 선언하신 적이 없으니 빈 칸으로 나오는 것이 당연하지요.
$lang = Context::get('lang');
이렇게 $lang 변수를 먼저 선언해준 후에 $lang->guild_point_leak를 사용하시거나,
Context::getLang('guild_point_leak');
이렇게 특정한 lang code만 개별적으로 불러오는 방법도 있습니다.
그 밖에 $is_logged, $logged_info 등 스킨에서 흔히 사용하는 변수들도 마찬가지입니다. PHP를 비롯한 거의 모든 언어에서 함수를 만들면 그 함수 안에서 선언한 변수만 사용할 수 있습니다. (자바스크립트는 좀 특이한 예외...)
너무 자연스럽게 사용하고 있어서 잊고 있었네요..
아 그리고 혹시 질문하나 더 해도 될까요?
controller나 view같은 애들에 init()라는 함수가 있던데 이건 XE/RX 기본 함수인가요?
그리고 기본함수면 언제 실행되는건가요? controller나 view php 파일이 불러와졌을때인가요?
감사합니다!
일반 IDE에서 그런 기능이 재대로 작동하지 않아 발생되는 문제이기도 하죠.
라이믹스부터는 내부적으로 대부분 PHPStorm에도 호환성이 고루고루 잘 맞게 코딩도되었고 (그런말은 표준적인 PHP를 따라가고 있다는 뜻이기도하죠) 배우시는 입장이시라면 1년 8만원이 부담스럽다고 아깝지 않은 가격에 쓰시는것도 나쁘지 않을 것 같다는 생각이 들어요.
한번 고려해보세요 :)
옛날에 PhpStorm 사용했을때 너무 무거운거 같아서 지웠었는데, 라이믹스에서 코딩하기 괜찮다면 다시 한번 사용해봐야겠네요!
그정도 안되면 써보는것도 시도하기가 애매해서 아직 재대로 써보진 못한거라 잘못세팅한걸수 있지만요 ㅎㅎ
프로젝트 불러올때 webdav로 마운트해서 라이믹스 폴더째로 불러오면 라이믹스 함수도 자동으로 나타나고, 인자도 자동으로 체크해주네요
PHP에서 작동은 되는데 정식문법이 아닌것도 에러로 잘 알려주고, 안쓰인 변수도 에러로 알려줘서 정말 좋았습니다
GIT도 이전에는 콘솔 열어서 일일히 명령어로 쳐줬는데, 이제는 그냥 마우스로 커밋&푸시도 되고, diff도 마우스로 스크롤해서 쉽게보고, 한글 입력 불편한 검정창 안봐도 되서 너무 좋습니다 ㅜㅜ
옛날에 이런거 모를때는 그냥 쓸데없이 무거운 툴이라고 생각했는데, 좀 알고쓰니 다른툴은 더이상 못쓰겠네요..
너무 감사합니다!!