ホームページ >php教程 >PHP开发 >UCenter ホーム二次開発ガイド

UCenter ホーム二次開発ガイド

高洛峰
高洛峰オリジナル
2016-12-30 16:48:051441ブラウズ

まえがき
この記事では、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>

ブロックの使用
このブロック データ呼び出しは、データ ソースと生成の点で基本的に前のデータ呼び出しと似ています。

e070ca94bfbf96bff5ab986dacd9a602
1d4590a59fc38ee05a8a3ead03ff91bc
aa07253b7fe2b06dadd8ac0f43b37233
185de7dd8f35aab141a6f72e4bf2ca3294dec625a1bf66ba49af977bd767dd51$value[件名]5db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
55deb00cc02acf7bed263e9f54347d9f

eval の使用
Ucenter ホーム テンプレート構文で eval 構文を適切に使用すると、特定のプログラムでの二次開発の困難が軽減されます。例:
1. eval 構文を使用してテンプレート内の PHP ステートメントを実行します

06fa3483a67754fd51bd543c507d286f
56110c34a8a58cf0bd81bfa8bb0e237b8e99a69fbe029cd4e2b854e244eab143最新ログデモ128dba7a3a77be0113eb0bea6ea0a5d05db79b134e9f6b82c0b36e0489ee08ed';}-->

2. eval 構文を使用して外部を導入します。 PHP ファイル
外部ファイルを導入します

56590bc8c7e505a25a58b0a25e4e4632
0909da6fe9203badbb69fda136e2de0e

備考: テンプレート内で外部ファイルを取り込むと、やりたいことが何でもできます。

直接外部ファイル
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(&#39;IN_UCHOME&#39;) && exit(&#39;Access Denied&#39;);
$query = $_SGLOBAL[&#39;db&#39;]->query(&#39;SELECT * FROM &#39;.tname(&#39;blog&#39;).&#39; ORDER BY dateline DESC LIMIT 10&#39;);
$bloglist = array();
while ($value = $_SGLOBAL[&#39;db&#39;]->fetch_array($query)) {
$bloglist[] = $value;
}
include template(&#39;do_demo&#39;);
?>

テンプレート ファイル templates/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(&#39;Y-m-d H:i&#39;,$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 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。