外掛程式結構
所有外掛程式被放置在「/hack/」目錄下管理。一般外掛程式包含以下幾個檔案:
1、info.xml 外掛程式預設安裝基本資訊
2、admin.php 外掛程式後台管理 程式頁面
3、index.php 外掛程式前台執行 程式頁面
4、template 外掛程式所需模板檔案 此資料夾一般包含 admin.htm 和 index.htm
5、sql.txt 建立外掛程式需要的資料表
sql.txt語法規則:
create table `pw_tablename1` (
`lottery_id` smallint(6) unsigned not null,
`user_uid` mediumint(8) unsigned not null default '0',
`draw_count` int(3) unsigned not null default '0',
key `lottery_id` (`lottery_id`,`user_uid`)
) engine=myisam;
create table ` pw_tablename2` (
`win_id` mediumint(8) unsigned not null auto_increment,
`lottery_id` smallint(6) not null default '0',
`win_time` int(10) unsigned not null default '0',
`user_uid` mediumint(8) unsigned not null default '0',
`user_name` varchar(15) not null,
`award_content` text not null,
primary key (`win_id`),
key `lottery_id` (`lottery_id`),
key `user_uid` (`user_uid`)
) engine=myisam;
每乙個建立語句末尾用「;」結束,create語句間有一行間隔,資料表的名稱自定義建立。
info.xml語法規則:
<?xml version="1.0" ?>
外掛程式名稱
0/1/2 前版本會將外掛程式選單顯示為:隱藏、下拉顯示、直接顯示,8.7以上版本暫無用處
使用「《標記」輸出大段的html
print <<
$value;
...
eot;
含義:<<< 運算子,將由自定義分界符間的內容視為字串,可對其間的變數做處理;
eot 自定義分界符,結束時必須位於行首;
在同一頁面中使用
《標記標記;
注:標記名為配對出現,同一頁面中不允許同名出現兩個以上標記名;
另:配對標記名的結尾標記名應單獨一行,前後均不允許輸出字元...(例如空格等不可見但存在的字元..)。
優點:這樣可以輸出大段的html 而且不用把裡面的引號轉義 就是不用 \" 這樣自動替換裡面的變數
常用函式與物件:
initgp($keys, $method = null, $cvtype = 1)
從請求中獲取$_get或$_post變數,並以key為變數名註冊為全域性變數
所屬檔案:/require/common.php
關聯引用:/require/security.php [s::gp($keys, $method, $cvtype)]
char_cv($mixed, $isint = false, $istrim = false)
過濾資料,防xss攻擊
所屬檔案:/require/common.php
關聯引用:/require/security.php [s:: escapechar($mixed, $isint, $istrim)]
pwstrtotime($datestring)
日期字串轉為時間戳
所屬檔案:/require/common.php
get_date($timestamp, $format = null)
格式化時間戳為日期字串
所屬檔案:/require/common.php
db資料庫操作類
所屬檔案:/require/db_connects.php
一般此檔案不會直接被呼叫,而是通過「/require/db_mysql.php」或「/require/db_mysqli.php」裡麵包包含呼叫了db_connects.php檔案。
在「/require/sql_config.php」檔案中的$database變數定義的值決定了使用那種資料庫操作方式。
->update(sql) 執行insert、update等更新性資料庫操作的sql語句。
->insert_id() 獲取新插入記錄的自動編號id
$***=$db->get_one(sql) 獲取一條select記錄集並返回給$***變數。
$***=$db->query(sql) 執行一條sql語句並將執行結果返回給$***變數(select語句中最常用)。
adminmsg($msg,$jumpurl='',$t=2,$langtype='admin')
彈出執行結果提示,常用形式如:adminmsg('活動名稱不能為空!');
所屬檔案:/admin/admincp.php
pwgetip()
獲取客戶端ip
所屬檔案:/require/common.php
numofpage($count, $page, $numofpage, $url, $max = null, $ajaxcallback = '')
生成分頁html,以「&page=x」代表分頁
所屬檔案:/require/common.php
關於新手PHPWind外掛程式開發的啟示
這段時間以來,一直接觸phpwind,所以在此給剛接觸的朋友分享一些自己學習的心得,以下主要講下外掛程式開發相關方面的內容及原始專案檔案修改的一些注意點 1 關於外掛程式開發 首先可以瀏覽下官方的教程 不過,可能官方的教程有些地方剛入手的時候會不太明白,在此做下解釋。admin.php,info.x...
快速開發外掛程式框架ExpressPlugin
1.什麼是外掛程式?一般的定義是 外掛程式 plugin 是一種遵循統一的預定義介面規範編寫出來的應用程式,應用程式在執行時通過介面規範對外掛程式進行呼叫,以擴充套件應用程式的功能。個人的理解,外掛程式就是一種應用程式功能的即插即用 plug and play 即在應用程式執行時 run time ...
WPF Ribbon UI外掛程式式開發框架
先說點題外話,以前沒寫過文章,文筆也不行,拍磚請輕點.使用.net 4.0 telerik第三方控制項開發,設計模式使用mvvm 使用的不正規,見笑了 使用到反射 特性等。使用配置檔案可以配置ui外掛程式 windows工具 外掛程式方法的呼叫。最近工作較忙,沒有時間弄外掛程式管理外掛程式,但直接使...