다름이 아니라 질문이 하나 있는데요
php파일에서는 함수 자체의 에러를 표시하지 않기위해 @를 붙이는데
템플릿 파일에서 어떻게 표시해줘야 하나요?
관리자
감기가 유행이군요. 뉴스를 본다고 보는데 몰랐네요^^
에러출력방지 기능은 없습니다. 어떤 경우에 필요하셨는지요.
03-11-19 16:15
기훈
예를들어 간단하게 {= round(5/num)}했을때
num에 0 값이 들어갔을경우
php에서는 @round(5/$num); 해버리면 에러가 발생하지 않는데... 템플릿 파일에서는 ....
물론 계산한값을 넘겨도 돼긴 하지만... 방법이 있나해서요
03-11-19 17:32
관리자
네.. 템플릿 내에서 에러억제연산자의 존재명분과 당위성에 대한 고찰(?)이 좀 필요할 거 같네요.
잠시 졸다보니 질문이 많이 올라왔네요.
다른 의견 있으면 먼저 올려주시구요..
03-11-19 18:31
관리자
작업하시다가 실제로 필요한 경우가 있었는지.. 아니면 문득 저런 것도 되야지.. 라는 생각이 난건지 말씀해 주시면 좋겠네요.
{=round(5/num)} 을 사용하더라도 num 값을 그냥 잘 넘겨주면 문제가 될 거 같지는 않습니다.
자바스크립트에는 에러억제연산자가 없기 때문에, 적당한 방법을 정하기가 어렵네요.
03-11-19 18:57
기훈
실제로 사용하려는데 발생한 문제이네요
php코드를 자유자제로 사용하게 되면서 생겨난 문제라고 해야할까요...
조심하면 그리 문제가 되지는 않을거 같습니다.
좋은 저녁되세요 ^^
03-11-19 19:32
관리자
그러고 보니 {=round(5/num)} 의 경우는 경고없이 0 을 출력할 방법이 애매하네요. 그래도 5/0 를 사용해서 0 을 출력하는 건 그렇게 정상적인 방법은 아니니까.. 계산해서 넘기는 게 좋을거 같네요.
03-11-19 21:59
기훈
그것말고도 in_array로 값 비교하는거도 array가 없을때 에러를 출력하죠
그러한 경우는 꽤나 발생하는거 같습니다.
그러나 제가 html과 php의 분리 공식을 너무 개념없이 넘나들기때문에 발생하는 것이죠
벌써 목요일이네요~
비가옵니다. 좋은 하루 되세요 ^^
03-11-20 08:42
관리자
그럴 땐 빈 배열을 두 번 째 인자로 넘기면 되니까, 최소한 안되는건 아니죠. 아시겠지만.. error_reporting(E_ALL); 일 때도, 코드가 늘어나긴 해도 @ 전혀안쓰고 메세지나오지 않게 프로그래밍할 수 있습니다. 이 부분에 대해 정해놓은 원칙이 없으니까 기훈님 탓만 할 수는 없네요. 그냥 되었더라면 편할텐데, @ 는 이미 루프명령어로 사용하고 있고, 여러가지정황상 어렵네요. 좋은하루되세요^^
03-11-20 09:16
기훈
항상 감사드립니다 ^^
03-11-20 09:25
관리자
네..^^ 혹시 템플릿내에 함수사용하는게 바람직하냐고 묻는 분이 있을거 같아서.. 함수를 지원하는 목적은 여러가지 있겠지만.. 예전에 행인님이 강력하게 주장했던 글자의 포맷 등을 바꿔준다는 목적이 있고.. 또 다른 목적은 태그라이브러리 구축입니다. 예를들어 실시간으로 이미지를 만들어 뿌려줘야 할 경우 함수를 만들어 두고.. <img src="{=getImage(info)}"> 로 간단하게 사용할 수 있고.. <select><!--{=getOptions(num,selected)}--></select> 같이 자주 쓰는 html 양식을 만들어 둘 수 있겠죠. 일단 그런 방향이고.. 사용자 라이브러리가 등록되고 그럼 좋을거 같네요.
03-11-20 09:39
기훈
제가 사용하는 방식을 간단히 예로 들어보면
게시판 스킨의 경우 각 스킨마다 width값이 틀립니다.
그럴경우 제목글의 최대길이도 테이블의 width에 의해 틀려지는데
기존에 템플릿들은 프로그램에서 수정해야 했으니 값을 관리자 모드에서 받아오곤했으나
템플릿 언더바의 경우 템플릿 파일에서 함수를 불러 쓰게 되면 디자이너 마음데로 글 길이 수정이 가능하지요~
예를들면 그렇다는거구요~ 사용해보시면 상당히 이롭습니다~ ^^
많이들 사용해보세요~
앞으로 사용자 라이브러리도 공유를 해보는것이~ ^^