2012-07-05 2 views
0

이 좋아, 그래서 내 코드는 다음과 같습니다 뷰의로드 순서를 변경하기 전에 기능을 사용 포함한다. 이제 require_once 문을 사용하지 않아서 내 모든 코드가 형식이 틀린 하나의 거대한 형식의 컨트롤러에 있었지만 모든 것이 정상적으로 작동했습니다. require_once을 추가하자마자 header.php보기에는 모든 스크립트와 CSS가 추가되어 <head> 태그 대신 <body> 태그 안에로드됩니다. 그건 사소하지만 귀찮은, 내 사이트의 스타일에 영향을 미칩니다. 내가 스스로 알아낼 수있는 것부터보기가로드되는 순서가 변경되었다고 생각합니다. 어떤 아이디어로 그것을 고치는 법?는 CodeIgniter의 클래스는

업데이트 :

아직도 문제의 원인이 무엇인지 모르겠지만, 여기에 내가 무슨 짓을했는지의 : 을 나는 ./system/core/CodeIgniter.php에 가서 내가 다음 줄을 변경 :

(APPPATH.'controllers /'.$ RTR-> fetch_directory(). $ RTR-> fetch_class(). '. php');

to :

ob_start();
(APPPATH.'controllers /'.$ RTR-> fetch_directory(). $ RTR-> fetch_class(). '. php');
ob_end_clean();

이제로드해야합니다.

+0

HTML 문서에 던져 넣을 수있는 뭔가를 출력하거나 공백을 포함 할 수 있습니다. HTML 문서를 작성하기 전에 요구 사항을 수행하는 것이 좋습니다. 당신은 당신의 견해 내에서 어떠한 처리도해서는 안됩니다. –

+0

require가 공백을 던지는 문제가 몇 가지 이유 때문에 두 번 나타납니다. 하지만 난 왜 스크립트 태그가 본문 태그에 작성된 이유를 볼 수없는 공백이 원인이 ... HTML을 쓰기 전에 글쎄, 난 codeigniter가 정확히 어떻게 작동 모르겠지만, loadPage 메서드 내 컨트롤러의 상속 된 클래스가 포함 된 후 문서 작성을 시작해야합니까? 논리적으로 ... –

+0

나는 당신의 의견을 해석하기가 힘들다. 필요에 따라 뷰를로드하는 중에로드하면 클라이언트에 스트리밍되어 명령문이 스트림에 부딪혀 공백 문제가 발생하는 경우에만 필요를 처리합니다. –

답변

0

여러 컨트롤러에서 사용할 방법을 만들어야 할 경우 다른 컨트롤러를 필요로하거나 포함하려고 시도하지 말고 library을 만들면됩니다.

+0

CI 상속에 대한 많은 예제를 보았습니다. 일부 사람들은 심지어 가장 우아한 방법은 include ...를 사용한다고 주장하기까지했습니다. 문제는 무엇인지 모르겠지만 적어도 그 문제를 해결했습니다. –