CI 묻고 답하기

제목 [초보]레이아웃에 값 넘기기..
글쓴이 헛발이 작성시각 2010/01/22 00:57:57
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 21561   RSS
정말로 이걸 하고 싶은데... 어떻게 해야 할지 잘 모르겠네요...
결론적으로 결과물을 일단 이야기 하면요..

다들 아시다시피 제가 지금 Hook를 이용해서 레이아웃을 사용하고 있어요..
사용은 아니고 이제 새롭게 한번 만들어 보려고 하는 시기인데.. 나만 알아보는 그런 소스 말고 좀 정리되고 체계화되도록 만들고 싶거든요.. 프레임 워크를 사용한다는것도 그런 의미와 동일 하다고 생각하는데요..

일단 Hook를 이용해서 레이아웃을 만들었어요..
그러면 레이아웃 파일에 중요한 본문 부분을 불러 넣어 주도록 되어 있고 윗부분 사이드부분은
레이아웃에서 만들면 되죠..일단 메인화면, 서브페이지, 로그인부분등등 약 5개의 레이아웃을 만들었어요..

만들다 보니 음.. 같은 부분이 겹치더라구요..

예를 들면 상단에 "처음으로|로그인|회원가입" 등과 같은 링크 부분 또는 상단 메뉴부분과 같은 곳이요..
배열로 리스트를 만들기 때문에 어딘가에 그 배열값을 넣어 두고 레이아웃에 보내서 그 부분을 보여 주고 싶은데요..

쉽게는 콘트롤에서 레이아웃으로 값을 넘겨 주면 되지 않느냐~ 라고 할수 있지만.. 그렇게 되면 각 콘트롤에
동일한 코드를 넣어 줘야 하잖아요.. 그렇게되면 레이아웃에 값을 넣는거랑 별반 차이가 없잖아요..
중복되는것을 어딘가 모아 두고 레이아웃에서 사용하고 싶어요..

다르게 이야기 하면 라이브러리를 만들어 사용하면 되지 않느냐 라고 할수 있을거 같은데요..
그렇게 되도 결국 콘트롤에서 라이브러이의 값을 가져 오는 부분을 만들어야 하고 그 부분이
똑같이 각 콘트롤에 중복적으로 기술 하야 하잖아요..

만약에 상수라면 constants.php에 넣어 언제든지 사용하면 되는데.. 배열값을 넘겨 받고 싶거든요...
또 차후에 그 배열값이 로그인 정보에 의해 다르게 보여줄 가능성도있구요..

뭐 이런 생각도 해 봤어요..Hooks.php파일이나 Yield.php파일안에 코딩을 하면 어떨까 하구요..
뭐 위에서 여러가지 생각했던것도 안되는것이 아니고 모양새나 기술 방법이 좋치 않기 때문이거든요..
hooks.php파일이나 Yield.php에 넣어도 되긴 하지만 해당 파일이 하는 기능과 다른 기능이기에
그 파일들에 넣고 싶지 않고요..

그래서 인쿠르드를 사용해 볼까 했는데요..그것도 좀 불만이 있는것이 뭐냐 하면요..
인쿠르드 파일은 webroot에 넣어야 하는거죠?
현재 public 윗쪽에 소스코드들이 있거든요.. 가능하면 소스코드를 public윗쪽에 위치 시켜 접근을
할수 없도록 하고 싶거든요. 뭐 public아래에 넣어도 상관 없다고 하시면 할말 없긴 하지만요....

정리를 하면요..
어딘가에 나만의 값을 정의 해 두고 그것을 콘트롤에서 정의 하고 데이터를 넘기지 않아도
Hook를 이용한 레이아웃에 값을 전달 해 주고 싶은거죠...

이렇게 이야기 하면 저의 궁굼증이 전달이 될지 잘 모르겠네요...
아무데나 막 써서 또는 막 만들어서 사용하면 결과적으로는 결과물이 나오게 할 순 있겠지만..
최적화된 기능을 사용해 보고 싶네요..

암튼 속이 다 시원해 질 수 있는 답을 기대 하며.....
긴글 읽어 주셔서 감사합니다..

^^;
 다음글 ssl 인증서에 대한 문의. (5)
 이전글 중요한 버그 질문.. (8)

댓글

변종원(웅파) / 2010/01/22 09:54:20 / 추천 0
이번 세미나 참석하시면 가려운 부분을 긁어드릴 수 있을텐데 좀 아쉽네요. ^^;;;

간단하게 답변드리면 xml파일에 해당 위치의 설정값들을 저장해놓고 hook에서 불러서 사용하시면 됩니다.
xml은 수동으로 작성하시거나 프로그램 하나 만들어서 설정을 하고 그 값을 hook의 레이아웃에서 사용하면 될것 같습니다.

헛발이 / 2010/01/22 10:24:43 / 추천 0
음... 포럼소스에 있는 관리자 메뉴 형식이군요...
좀 연구를 해 보겠습니다... 감사합니다..