CI 묻고 답하기

제목 Template_ 연동해보는데요 클래스생성이 안되는거 같은데;
글쓴이 터프키드 작성시각 2009/08/26 10:55:03
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 34038   RSS
용운님이 저번에 알려주신거 이제 해보네요 ㅎㅎ
application/libraries 에 Template_.class.php 파일과 Template_.compiler.php 파일 넣었구요

맨윗줄에 
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
요거 추가했습니다 (어디서 본건 있어서;; -> 나만의 라이브러리 만들기)

그리고 
$this->load->library('Template_.class');
했더니

An Error Was Encountered

Non-existent class: Template_.class

이렇게 뜨는군요; 스마티 연동하듯이 새로운 감싸주는 클래스 만들고
재정의 같은거 해줘야하는지.. 그냥은 못쓰나봐요;
(허접실력때문에 그런건 못하구.....)

 다음글 ci세상님께 물어봤었는데..header, content... (10)
 이전글 콜백문의이군요^^ array_map (2)

댓글

ci세상 / 2009/08/26 11:14:39 / 추천 0
1. application/libraries/Templateclass.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 

class Templateclass {

    function some_function()
    {
    }
}

?>

$this->load->library('templateclass');
2. application/libraries/Templatecompiler.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 

class Templatecompiler {

    function some_function()
    {
    }
}

?>

$this->load->library('templatecompiler');

터프키드 / 2009/08/26 13:00:15 / 추천 0
쩜(.)이랑 대소문자 문제인가요?;;
ci세상 / 2009/08/26 13:05:06 / 추천 0

클래스 지정과 파일명이 일치해야 하는것은 맞는것 같구요~ 파일명에 쩜이 들어가면 인식못하는것 같습니다.대소문자는 메뉴얼에도 잘 나와있듯이 첫번째가 대문자로 시작하는것은 맞습니다.^^

터프키드 / 2009/08/26 13:08:32 / 추천 0
ci세상님 와와완전 감사합니다 
매번.. ㅠㅠ
근데 또 한가지 질문해도 될까요^^;
보통 사이트 만들때
header.php
footer.php 
만들고 여기서 기본적으로 들어갈 프로그램 처리하고
header.html
footer.html
만들어서 불러오는데요

CI 구조에서는 어떻게 하나요?ㅠㅠ
application 에 header.php 를 만들어서
<?
class Header extends Controller {

	function Header()
	{
		parent::Controller();
	}
	
	function index()
	{
		$this->load->view("header");
	}
	
}
/* End of file foo.php */
/* Location: ./system/application/controllers/foo.php */
?>
이렇게 만들었는데
이게 기본적으로 계속 들어가야되잖아요?
그럼 매 컨트롤러 생성자에서 불러오면 되나요?
include_once "header.php";
이런식으로..
구조익히는게 힘들군요;
ci세상 / 2009/08/26 13:18:04 / 추천 0
제가 사용하는 방식에 대한 전체 코드가 http://codeigniter-kr.org/source/view/74/page/1/ 이곳에도 있는데요 맥스님의 지적사항도 고려해서 상하단이 필요할 경우 없을경우를 구분해서 사용중입니다.

각 컨트롤러에 저처럼 이렇게 하셔도 되겠구요,, 아니면 메뉴가 매번 바뀌는것이 아니니 웅파님께서 팁으로 올려주신 xml 파일로 만들어 두어서 나만의 common 라이브러리를 만들고 autoload 시키구요 헤더값을 모든 곳에서 이용을 하게 만들 수도 있을것 같습니다. 디비컨넥 가급적 없애기 아주 좋은 팁입니다.

참조 : http://codeigniter-kr.org/tip/view/111/page/1/
터프키드 / 2009/08/26 13:36:57 / 추천 0
항상 좋은 답변 감사드려요
ci세상님 덕분에 템플릿언더바 연동은 성공했습니다^^
(아직 실무에 괜찮을지는 잘 모르겠어요 ㅎㅎ)

구조관련해서도 도움 많이 됐습니다^^