자유게시판

제목 CI 설치하며 우연히 보게된 코드.
글쓴이 들국화 작성시각 2013/08/27 18:54:07
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 10943   RSS
 오늘 CI를 설치 하다가 우연히 웰컴페이지 하단에 페이지 로딩 속도가 나온걸 발견... 이건 뭐지 하고 보다가.

core output 까지 보게 되었네요. 보다가 문득 드는 의문이...

속도, 유연성, 간결함을 중요시하는 CI가 왜 저런 코드를 넣었을까 의문이 생기네요.
그것도 거의 모든 페이지에서 사용하는 core output 에서 디폴트롤 사용을 하다니.
그것도 그냥 str_replace네요.. 음.. 왜 저렇케 쓰는지 이해가 안되네요.
  if ($this->parse_exec_vars === TRUE)
  {
   $memory  = ( ! function_exists('memory_get_usage')) ? '0' : round(memory_get_usage()/1024/1024, 2).'MB';

   $output = str_replace('{elapsed_time}', $elapsed, $output);
   $output = str_replace('{memory_usage}', $memory, $output);
  }
그래서 저런 속도는 무시해도 괜찮아 하시는 분은 상관 없겠지만 저는 좀 찜찜 해서 아래 코드를 컨트롤러에 넣을까 고민 중입니다.
약간 귀찮네요.
 function __construct()
 {
  parent::__construct();

  $this->output->parse_exec_vars = FALSE;
 }
해줘야 할듯 하네요.

outpu 보다 보니 재밋네요.. zlib 압축관련 코드들도 보이고...




 다음글 최근 코멘트가 안올라 가는 경우가 있네요. (5)
 이전글 책 증정 이벤트!!!! (상품권수 추가) (14)

댓글

변종원(웅파) / 2013/08/27 21:23:51 / 추천 0
무시해도 좋을 정도라 그런게 아닌까요? ^^

프레임워크잖아요. ㅎㅎ
들국화 / 2013/08/28 11:19:55 / 추천 0
banchmark 에도 같은 기능이 있는것 같은데요.
템플릿 기능인데 전 빼면 좋을듯 하네요. ^^

코드가 좀 이상하다 했더니... str_replace에 첫번째 값이 자동으로 변경 되었네요.. ㅋㅋㅋㅋ
 $output = str_replace('0.1098', $elapsed, $output);
 $output = str_replace('2.41MB', $memory, $output);

 

[elapsed_time], [memory_usage] => [ ] 는 { }

한대승(불의회상) / 2013/08/28 11:45:25 / 추천 0
아.... 무슨말인가 했넹.. ^^

{ elapsed_time }, { memory_usage }

파서를 넣지 않아도 시간과 메모리 사용량이 왜 나오나 했더니.. 
milosz / 2013/08/28 12:59:53 / 추천 0
https://github.com/EllisLab/CodeIgniter/blob/develop/system/core/Output.php#L440
최신 리포에선 이미 제외된 것 같네요 :)
들국화 / 2013/08/28 13:35:26 / 추천 0
milosz/ 제외된게 아니라 배열로 한줄로 처리한걸로 보이네요.

$output = str_replace(array('{ elapsed_time }', '{ memory_usage }'), array($elapsed, $memory), $output);

milosz / 2013/08/28 14:59:25 / 추천 0
아... 본문에 숫자로 되어 있길래 숫자값으로 들어있단 얘긴줄 알았는데 ㅎㅎㅎ 파싱이 되는거군요?ㅋㅋ
{elapsed_time}, {memory_usage}