서문
이 글에서는 UCH 2차 개발의 핵심 주제를 중심으로 다양한 구현 코드를 중심으로 설명하고, 보조 부분에서는 UCH 2차 개발 수행 방법을 간략하게 설명하겠습니다. UCH는 잠시 후 오픈 소스로 제공될 예정이며, 때가 되면 UCH 메커니즘에 대한 자세한 분석을 작성하겠습니다.
그나저나 이 문서는 약 2주 전에 작성되었는데, 편집하고 출판할 시간이 없었습니다. 오늘은 UCH가 조만간 오픈 소스로 공개될 것이라는 소식을 들었습니다. 그러면 모든 사람에게 큰 도움이 되지 않을 것이므로 더 이상 정리하지 않기로 결정했습니다. 기사의 일부 지침은 아직 자세히 설명되지 않았지만 기본적으로 작성되었습니다.
데이터 호출
여기의 데이터 호출은 UCenter Home에 내장된 데이터 호출을 사용합니다. 백그라운드에 "고급 애플리케이션"에 "데이터 호출" 관리가 있습니다. 템플릿을 만든 다음 데이터를 호출합니다.
1. 현장 데이터 호출
<!--{template data/blocktpl/1}-->
2. 외부 JS 호출
<script language="javascript" type="text/javascript" src="http://www.ccvita.com/js.php?id=1"></script>
블록 사용
이번 블록 데이터 호출은 이전 데이터 호출은 데이터 소스와 생성 측면에서 기본적으로 유사합니다.
9a501006e03a4b5112da54a61c17016b
321727b9a5350785ebfa8ea99ddb79e9
aa07253b7fe2b06dadd8ac0f43b37233
c09275a3ebf4c746aaf69196ebc0e4d694dec625a1bf66ba49af977bd767dd51$value[subject]5db79b134e9f6b82c0b36e0489ee08ed2952eb9283174fe1eb953f1628102785
eval 사용
Ucenter Home 템플릿 구문에서 eval 구문을 합리적으로 사용하면 특정 프로그램의 2차 개발 난이도가 줄어듭니다. 예:
1. eval 구문
188a485902268653f8960306b564f3ee
ad3097ea6f4103f6157cc080d1ec92c13916d31b972043b8ac3a73ea5da849cc8e99a69fbe029cd4e2b854e244eab143최신 로그 데모128dba7a3a77be0113eb0bea6ea0a5d05db79b134e9f6b82c0b36e0489ee08ed';}-->
2. eval 구문을 통해 외부 PHP 파일 도입
외부 파일 도입
a288f47a7893a864d34e2a70e572d2df
db1ec5993d9b5c07fe70bbb2c0f2d794
참고: 템플릿에 외부 파일을 삽입하여 원하는 모든 작업을 수행할 수 있습니다.
직접 외부 파일
do.php 확장
1. 먼저 do.php 파일에 허용되는 새 메서드를 추가합니다.
즉,
$acs = array ( 'login', 'comment', 'wall', 'register', 'lostpasswd', 'swfupload', 'inputpwd',
'sns', 'viewspace', 'relatekw', 'ajax', 'seccode' );
그런 다음
$acs[] = 'demo';
2를 추가한 다음 소스 디렉토리에 새 do_demo.php 파일을 생성하고 전화 주소는 do .php?ac=demo입니다.
UCH에서 공개하는 파일은 암호화된 정보이지만 오픈 소스 파일에서 UCH 2차 개발을 위한 귀중한 정보를 얻을 수 있습니다.
예를 들어 /source/cron 디렉터리와 source/class_mysql.php 파일은 모두 오픈 소스입니다. 이를 통해 SQL 쿼리 수행 방법 등 UCH의 2차 개발에 매우 유용한 정보를 확인할 수 있습니다. 분석하면 다음 파일을 작성할 수 있습니다.
< ?php !defined('IN_UCHOME') && exit('Access Denied'); $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('blog').' ORDER BY dateline DESC LIMIT 10'); $bloglist = array(); while ($value = $_SGLOBAL['db']->fetch_array($query)) { $bloglist[] = $value; } include template('do_demo'); ?>
템플릿 파일 template/default/do_demo.htm의 내용은
<!--{template header}--> <div class="side_right"> <div class="wide"> <div class="post_list"> <ul> <!--{loop $bloglist $value}--> <li> <div class="title"> <h4><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]">$value[subject]</a></h4> <a href="space.php?uid=$value[uid]">$value[username]</a> <span class="time"><!--{date('Y-m-d H:i',$value[dateline])}--></span> </div> <div class="status"> <!--{if $value[viewnum]}--><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]">$value[viewnum] 次阅读</a><span class="pipe">|</span><!--{/if}--> <!--{if $value[replynum]}--><a href="space.php?uid=$value[uid]&do=blog&id=$value[blogid]#comment">$value[replynum] 个评论</a><!--{else}-->没有评论<!--{/if}--> </div> </li> <!--{/loop}--> </ul> </div> </div> </div> <!--{template footer}-->
요약
현재 UCH는 오픈 소스는 아니지만 다음에서 완전히 수정 가능합니다. 위의 데이터 호출 메커니즘을 사용하면 구현할 수 없는 페이지 효과와 데이터 호출 요구 사항이 거의 없습니다.
UCenter Home 보조 개발 가이드 관련 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!