まえがき
この記事では、UCH の二次開発の核となるテーマに焦点を当て、さまざまな実装のコードに焦点を当て、補助部分として UCH の二次開発を実行する方法を簡単に説明します。 UCH は近いうちにオープンソースになる予定です。その時が来たら、UCH メカニズムの詳細な分析を書きます。
ところで、このドキュメントは約 2 週間前に書かれたものですが、これを編集して公開する時間がありませんでした。今日、UCH が近い将来オープンソースになると聞きました。それまでに公開してもあまり意味がありません。皆さんの助けになるので、コンパイルしないことにしました。記事内の手順の一部はまだ詳しく説明されていませんが、基本的には書かれています。
データ呼び出し
ここでのデータ呼び出しは、UCenter ホームの組み込みデータ呼び出しを使用します。バックグラウンドの「高度なアプリケーション」に「データ呼び出し」管理があり、次のコードがテンプレートに追加されます。データが呼び出されます。
1. オンサイト データ呼び出し
<!--{template data/blocktpl/1}-->
2. オフサイト JS 呼び出し
<script language="javascript" type="text/javascript" src="http://www.ccvita.com/js.php?id=1"></script>
ブロックの使用
このブロック データ呼び出しは、データ ソースと生成の点で基本的に前のデータ呼び出しと似ています。
eval の使用
Ucenter ホーム テンプレート構文で eval 構文を適切に使用すると、特定のプログラムでの二次開発の困難が軽減されます。例:
1. eval 構文を使用してテンプレート内の PHP ステートメントを実行します
2. eval 構文を使用して外部を導入します。 PHP ファイル
外部ファイルを導入します
備考: テンプレート内で外部ファイルを取り込むと、やりたいことが何でもできます。
直接外部ファイル
do.php の拡張
1. まず、新しい許可されたメソッドを do.php ファイルに追加します
つまり、
$acs = array('login', 'comment', 'wall', ' register', 'lostpasswd', 'swfupload', 'inputpwd',
'sns', 'viewspace', 'relatekw', 'ajax', 'seccode');
$acs[] = '
の後にデモを追加';
2. 次に、ソースディレクトリに新しい do_demo.php ファイルを作成します。呼び出しアドレスは do.php?ac=demo です。UCH が公開しているファイルは暗号化された情報ですが、そのオープンソースから推測できます。ファイル UCH の二次開発のための貴重な情報。
たとえば、/source/cron ディレクトリとsource/class_mysql.php ファイルはすべてオープンソースであり、分析を通じて、UCH の二次開発に非常に役立つ情報を見つけることができます。次の文書を書き出すことができます。
< ?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 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 はまだオープンソースではありませんが、テンプレート インターフェイスが完全に変更可能であり、上記の場合には達成できないことがいくつかあります。データ呼び出しメカニズムは、ページ効果とデータ呼び出し要件を合理的に利用します。