[PHP] 純文本查看 復制代碼
; A& U; {5 h9 Q+ m3 {; Q+ y<?php
; \( h( E, m5 a3 \' o3 u3 |8 s#以下兩行代碼,用于開發環境下代碼錯誤提示,可根據提示信息進行代碼檢查,無誤后即可注釋掉!" e" l" q0 p. f# c( k
//ini_set("display_errors", "on");
' [4 x2 C3 i& M4 |//error_reporting(E_ALL);
* y2 c- }5 ]- w3 C' r0 s! j6 b#注釋結束
1 ?. ?2 v0 k: ?1 Q( V: r, P* d- p# _" s6 ~9 {
#防止游客直接輸入網址進行訪問,權限檢測,勿動?。?!
$ @9 U- C9 o0 y8 J% [, b w; X" Jif (!defined('IN_DISCUZ')) {: j* K" r9 O# U4 S$ G) w2 h
exit('Access Denied');
; {. o+ r- }6 U; N5 F}
* T) K/ {% r9 Y0 W; R2 v#注釋結束
/ `2 t- g2 E4 O/ W
# ?) `- h8 H! g# k/ V#引入核心系統類,勿刪!??!
1 X& f' I0 w" x2 b0 ?1 T+ PC::import('class/plugin', 'plugin/xinxiuvip_network_plugin', false);' B4 ^0 x3 q( d
#注釋結束3 W, ?" @1 y4 M8 d( s' t, C
7 Z, s9 ]0 u' l#如何引入自定義系統類?
# d- r4 \( p+ T4 C3 o#1、將自定義核心類、第三方核心類上傳至extend文件夾下;/ R$ P% t. e; B4 }4 o' e1 w* R+ B
#2、通過 C::import 、 require_once 兩種引入形式引入第三方核心類;
- X S# ?4 m( Y: L+ B#3、在下方方法中使用 lib_dev::demo_dev(); 進行調用,具體功能看lib_dev封裝代碼;
' T a3 m0 h) [* lC::import('lib/dev', 'plugin/xinxiuvip_network_plugin', false);//如果沒有自定義類庫,請將此處注釋掉!! O* w) A* f" l; G
#注釋結束' K1 n8 _% H. Q% i
6 L z" }7 A# S3 d7 }( h b
& e5 w( a6 }, \5 |/ F! `8 y
class function_dev extends class_plugin- C) } ]: Y! S0 x
{
' z6 u) e6 t, U public $action_all = array('dev_demo1'); //所有接口必填,用逗號隔開!!!除以下key、adminkey所包含以外,未包含的接口都是通過token令牌進行訪問。
j7 S) S' {+ q1 U public $function_action_key = array('dev_demo1'); //使用key密鑰訪問的接口
& y: Y% R' U2 `- w public $function_action_adminkey = array(); //使用管理密鑰adminkey訪問的接口
6 Q# |' P0 @+ }: S* }0 E6 h3 [1 c /**9 u) i. e) o5 `
* 構造方法 __construct() 是在實例化對象時被自動調用8 S8 Y) R/ h# F6 i" F
* 用途:可以用于初始化程序(可以給成員屬性賦值,也可以調用成員方法), |! f6 I) O* r
*/* Q6 b2 }/ W2 N1 G4 w: Q
public function __construct()0 c* B. Z9 _. q% a
{6 r q6 q. B' v" q! b+ W
parent::__construct(); //繼承父類構造方法
$ U- p. Y R( ^1 ?6 w7 m6 f- h5 u }
; ]" ]% x. U3 i9 q8 ]
0 M8 n; ~% C1 N0 v. m+ x
6 p6 [) M$ w+ [+ \ #此處為標準類方法,可根據DISCUZ、新秀網絡驗證內置函數進行調用,也可使用PHP官方函數進行操作。, q* y+ l) C. j, p \+ m/ C+ y4 m
public function dev_demo1($demo1, $demo2) R" i( T: Y6 V7 H, o
{, |2 u" t# g2 U+ P. v
#-具體DISCUZ內置函數、新秀網絡驗證內置函數、PHP函數,論壇相應帖子有專門介紹。
1 U6 Z5 g2 l3 Z9 e $data = array( //組合數組
* b8 x, W+ f8 f3 y8 p 'demo1' => $demo1,
( g5 l9 q9 E5 z- x5 ^3 y. ~) R. z- i 'demo2' => $demo2+ `' N+ B: s% w; @7 j3 O
);& r# {& c3 k& I3 Y* T) M- d* b
$data['time'] = lib_dev::demo_dev(time());//調用lib自定義封裝類庫示例;- C5 e) n. h' B9 ?: G) S k
W7 A9 Y9 ]8 n #========================================
: `% T4 w8 S, w7 U #嵌入點開發,注意:此擴展方法在應用中心-內置鉤子頁面設置;3 U3 j9 ~1 F- J0 y8 ?
web_client::class_hook('hook_dev_demo1',array($data));
7 t4 W9 B& E2 ]- k. m1 ` /*
3 m8 D6 G2 y% P0 g4 w7 u * 下面是接口拓展對應的方法
9 b7 h" X& S, j * 注意class_hook中的'hook_dev_demo1' 就是擴展文件中的方法名!. t5 p5 f6 B' P. I% J; v
* 將下面代碼復制到-內置鉤子開發頁面中。
- Y' e" s* z" D# t+ z *
5 f3 _( [# A$ j; n public function hook_dev_demo1($data){
3 J2 k7 K; M8 N6 `+ {& c var_dump($data);; I. o$ M1 w; C0 y
}
1 Q5 q5 v, ?" D+ M5 B */6 S; h4 h `+ o
#========================================
9 I0 p5 v. q! I6 o& K) g5 b* ]: h- X) O6 c, |
web_output::json_output('200', '', $data); // 新秀內置打印函數,打印結果,并結束程序。0 |( W! O# R: ]7 k5 r. t' m& G: \) U
#-具體DISCUZ內置函數、新秀網絡驗證內置函數、PHP函數,論壇相應帖子有專門介紹。' {4 a6 Q3 S4 b* F4 ^
}
3 o+ H0 e& j4 |+ P$ h #注釋結束
7 K% {' K7 B( W7 S
2 J# T6 q9 g! L: ~: i3 z, | /**
6 D* E* m j7 Z * 析構方法 __destruct() 是在對象被銷毀時自動調用
d, f" B6 c; C9 @+ u0 ^ * 用途:可以進行資源的釋放操作或文件的關閉操作或信息保存操作" J" h: q9 @9 ~ \) \* N
*/
& e( z' ^& D- X' ?, g4 H0 M. i; w public function __destruct()
+ p. x% z( O$ A5 y' [ {" m1 C" u9 ~) c3 o& @
return parent::__destruct(); // TODO: 析構方法 q# k8 o! y: `4 \! q, z0 T. A
% Q6 O$ F7 m, o" r: K; M; g' S }
. h1 J( U: w0 ~3 C}, p c# J* V v- @+ X: \" f* U