Php Ctemplate 엔진 개발 관련 내용

3482 단어 Ctemplate
1.프로필 은 Php Ctemplate 에 대해 이해 하지 못 할 수도 있 습 니 다.이 명 사 를 보면 앞부분 이 프로 그래 밍 언어 라 는 것 만 알 수 있 습 니 다.괜 찮 습 니 다.phop 언어 를 기반 으로 한 태그 모델 엔진 을 소개 하 겠 습 니 다.그의 역 사 를 간단히 말 하 다.Php Ctemplate 에 대해 알 아 보 려 면 Ctemplate 부터 알 아야 합 니 다.Ctempalte 는 모두 Google Ctemplate 라 고 합 니 다.그것 은 c++언어 로 간단 하지만 효율 이 매우 높 은 웹 페이지 모델 엔진 이다.코드 를 살 펴 보 겠 습 니 다.똑똑 한 당신 은 바로 그것 을 어떻게 사용 하 는 지 알 게 될 것 입 니 다.(공식 데모 에서 왔 습 니 다)
그러면 C++출력 은:Hello John Smith You Have just won(여 기 는 random%100000 랜 덤 수 를 실행 합 니 다)Well,(여 기 는 random%100000 랜 덤 수 를 실행 하고*0.83)after taxes 좋 습 니 다.요약 하면 c+소스 코드 의 Template 대상 을 tpl(모드 라 고 할 수 있 습 니 다)파일 을 불 러 온 다음 Template Dictionary 의 대응 하 는 값 을 채 우 는 것 입 니 다.마지막 출력.듣 기 거북 하 죠?간단하게 백 엔 드 탭 대응 값 을 tpl 의{{탭}에 채 웁 니 다.자세 한 건 참조 하 세 요http://google-ctemplate.googlecode.com/svn/trunk/doc/index.html그럼 PHP ctemplate 는 요?PHP 확장 은 다 들 아 시 죠?PHP 를 해 본 친구 들 은 gd,exif,my sql,my sql 등 확장 을 알 고 있 죠?네,바로 php.ini 파일 에 있 는"extension="에 있 는 dll 입 니 다.PHP ctemplate 는 PHP 로 인 터 페 이 스 를 확장 하 는 형식 으로 Google Ctemplate 를 포장 하여 PHP 가 Google Ctemplate 기능 을 가지 도록 합 니 다.코드 에 나타 나 는 것 은 tpl 파일 이 변 하지 않 고 c+파일 을 phop 파일 로 만 들 었 다 는 것 이다.그것 의 용법 에 대해 서 는 내 가 여기에서 더 이상 소개 하지 않 을 것 이 라 고 생각한다.그 는 구 글 Ctempalte 와 같다.상세 한 내용 은http://code.google.com/p/php-ctemplate/2.WIN 32 에서 볼 수 있 습 니까?아마도 당신 은 곧 이런 모델 엔진 이 우리 가 흔히 볼 수 있 는 MVC 에 부합 한 다 는 것 을 깨 닫 게 될 것 입 니 다.네,그렇습니다.그러나 안 타 깝 게 도 PHP Ctemplate 는 Freebsd 시스템 에서 만 실 행 될 수 있 습 니 다.win 32 환경 에서 phop 입 니 다.저 는 지금까지 인터넷 에서 해당 하 는 PHP ctemplate dll 을 발견 하지 못 했 습 니 다.저도 PHP ctemplate 의 작가 에 게 문의 한 적 이 있 습 니 다.그 는 win 32 환경 에서 이 코드 를 컴 파일 하 는 것 을 원 하지 않 는 것 같 습 니 다.저 는 c++를 개발 한 친구'맹'과 컴 파일 을 시도 해 본 적 이 있 습 니 다.우 리 는 phop 소스 코드+Ctemplate 소스 코드+PHP ctemplate 소스 코드 를 찾 아 win 32 의 PHP ctemplate 확장 을 컴 파일 했 습 니 다.그러나 이상 하 게 도 phop 이 시작 할 때마다 phop 엔진 에 이상 이 생 겨 서 PHP ctemplate 를 정상적으로 불 러 올 수 없습니다.
php ctemplate 를 성공 적 으로 불 러 오 면 phpinfo 에 표 시 됩 니 다:

      저도 PHP ctemplate 의 원본 코드 를 봤 는데 Zend 를 기반 으로 작 성 된 것 같 습 니 다.저 는 c++와 phop 에 정통 하지 않 기 때문에 이 확장 을 다시 작성 할 능력 이 없 기 때문에 절충 방법 을 생각 할 수 밖 에 없습니다.Ctemplate 를 ATL COM 으로 포장 하여 PHP ctemplate 의 함수 와 방법 을 모 의 할 수 밖 에 없습니다.
3.나의 시도
      이렇게 우여곡절 한 이 유 는 이 프레임 워 크 를 사용 한 후에 PHP 코드 를 디 버 깅 할 방법 이 없 기 때 문 입 니 다.저 는 freebsd 환경 에서 xdebug 를 설치 해 보 았 습 니 다.좋 습 니 다.겨우 원 격 디 버 깅 을 할 수 있 습 니 다.그러나 freebsd 는 그래 픽 인터페이스 가 없 었 습 니 다.아,어 쩔 수 없 이 gnome 을 설 치 했 습 니 다.잠시 그 럴 수 밖 에 없 었 습 니 다.호기심 과 불복 으로 Ctemplate 를 ATL COM 으로 포장 하여 PHP ctemplate 의 함수 와 방법 을 모 의 했 지만 반 만 완성 했다.여기 서 맹 구 동지 에 게 특별히 감 사 를 드 려 야 합 니 다.그 가 없 으 면 저도 c++의 ATL 을 쓸 수 없습니다.다음은 ATL COM 의 방법 입 니 다.
 

제 가 포장 한 ATL COM 기능 은 코어 php 에 포 장 했 습 니 다.

      만약 여러분 이 관심 이 있다 면 저 에 게 소스 코드 를 계속 보완 하 라 고 하 세 요.COM 이기 때문에 ASP 도 사용 할 수 있 습 니 다.저 는 dll 을 다운로드 할 것 입 니 다.새우 들 이 win 32 에서 PHP ctemplate 를 성공 적 으로 컴 파일 했다 면 더 원 하지 않 았 을 것 이다.COM 파일 다운로드phpctempalteCOM

좋은 웹페이지 즐겨찾기