ThinkPHP分組
'APP_GROUP_LIST' => 'Index,Admin', //項目分組設(shè)定
'DEFAULT_GROUP' => 'Index', //默認(rèn)分組
THinkphp--URL樣式
緊接上次沒解決的問題---URL的樣式,在這個分組中,需要從前端post數(shù)據(jù)并且調(diào)用Index中的一個方法,
實屬無奈,改過php.ini/apache--http.conf等, 依舊無效, 記得將URL_MODEL改為0,打印的URL為一般
形式,故將此改為'URL_MODEL' => 0,來先不至于<從入門到放棄>!
ThinkPHP--IS_AJAX
來自知乎的解釋:https://www.zhihu.com/question/20874229
ajax的全稱是AsynchronousJavascript+XML。
* 異步傳輸+js+xml。
* 所謂異步,在這里簡單地解釋就是:向服務(wù)器發(fā)送請求的時候,我們不必等待結(jié)果,
* 而是可以同時做其他的事情,等到有了結(jié)果我們可以再來處理這個事。
* (當(dāng)然,在其他語境下這個解釋可能就不對了)
*
* 總結(jié):只要是JS調(diào)用異步通訊組件
* 并使用格式化的數(shù)據(jù)來更新web頁面上的內(nèi)容或操作過程,
* 那么我們用的方法就可算是AJAX。
*
*
* 可以在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。
* (集體拍照,缺少某個人; 重新拍照理解為重新加載網(wǎng)頁, ps為AJAX)
*
ThinkPHP--- I 方法
命名來自于英文Input(輸入),主要用于更加方便和安全的獲取系統(tǒng)輸入變量,可以用于任何地方,用法格式如下:
I('變量類型.變量名',['默認(rèn)值'],['過濾方法'])
- echo I('get.id'); // 相當(dāng)于 $_GET['id'];
- echo I('get.id',0); // 如果不存在$_GET['id'] 則返回0;
- echo I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法對$_GET['name'] 進(jìn)行過濾,如果不存在則返回空字符串;
- I('get.'); // 獲取整個$_GET 數(shù)組;
- post類型 I('session.user_id',0); // 獲取$_SESSION['user_id'] 如果不存在則默認(rèn)為0
// 'username' => I('post.username'),
//會自動判斷,所以不用寫
ThinkPHP---打印方法
/*
* var_dump -- 打印變量的相關(guān)信息
* 此函數(shù)顯示關(guān)于一個或多個表達(dá)式的結(jié)構(gòu)信息,包括表達(dá)式的類型與值。
*
* var_export -- 輸出或返回一個變量的字符串表示
* 此函數(shù)返回關(guān)于傳遞給該函數(shù)的變量的結(jié)構(gòu)信息,它和 var_dump() 類似,
* 不同的是其返回的表示是合法的 PHP 代碼。
*
* */
ThinkPHP---文件讀寫
定義和用法
file_put_contents() 函數(shù)把一個字符串寫入文件中。
與依次調(diào)用 fopen(),fwrite() 以及 fclose() 功能一樣。
語法:file_put_contents(file,data,mode,context)
- 步驟:寫入文件的順序,先創(chuàng)建一個目錄文件--data, 并找到該路徑進(jìn)行寫入
- 例子:file_put_contents('./data/phiz.php', $str);
- 直接根據(jù)某個路徑讀數(shù)據(jù)
- $phizArray = include './data/phiz.php';
thinkphp---F方法
僅用于簡單數(shù)據(jù)緩存,并且只能支持文件形式,不支持緩存有效期,因為采用的是PHP返回方式,所以其效率較S方法較高,因此我們也稱之為快速緩存方法。
簡單數(shù)據(jù)緩存;
文件形式保存;
采用PHP返回數(shù)據(jù)方式加載緩存;
支持子目錄緩存以及自動創(chuàng)建;
支持刪除緩存和批量刪除;
F( 存儲的名稱, 數(shù)據(jù), 路徑);
F('user/data',$data); // 緩存寫入
F( 存儲的名稱, '', 路徑);
F('user/data'); // 讀取緩存
ThinkPHP---后臺登錄驗證與自動運行方法
創(chuàng)建數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫/表
create table hhw_user(id int unsigned not null primary key auto_increment,
username char(20) not null default '',
password char(32) not null default '',
logintime int(10) unsigned not null, loginip varchar(20) not null,
`lock` tinyint(1) unsigned not null default 0,
unique(username))
engine myisam default charset utf8;
默認(rèn)管理員
insert into hhw_user set username = 'admin', password = md5('admin'),
logintime = unix_timestamp(now()), loginip = '127.0.0.1';
分組模式下的模塊配置
<?php
/**
* Created by PhpStorm.
* User: BWF-HHW
* Date: 16/5/10
* Time: 下午3:16
*/
return array(
/**分組模式下,為了分模塊,將HTML中的路徑前綴改為__PUBLIC__,
* 然后映射到模塊下存放css/js的文件夾
*
* 默認(rèn)情況下__PUBLIC__指的是根目錄下的Public
*
* */
//模板替換
'TMPL_PARSE_STRING' => array(
'__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Tpl/Admin/Public/',
)
);
thinkPHP中的驗證碼
目錄/ThinkPHP/Extend/Libary/ORG/Unti/Image.class.php中,內(nèi)部有文字/數(shù)字/字母以及混編;
public function verify(){
//引入頭文件
import('ORG.Util.Image');
//寬高使用默認(rèn)值就好, 因為字體不會改
Image::buildImageVerify(4, 5, 'png');
///在HTML中的對應(yīng)的input標(biāo)簽加入 src="{:U'Admin/Login/verify')}"
}
- 在HTML中定義全局變量以便后續(xù)使用, 通過
U方法var verifyURL = '{:U("Admin/Login/verify", ' ', '')}'; - 在js中由于URL_MODEL=0原因,不支持
/的形式訪問,故改為&拼接, 以此實現(xiàn)更換驗證碼;
更多精彩內(nèi)容請關(guān)注“IT實戰(zhàn)聯(lián)盟”哦~~~

IT實戰(zhàn)聯(lián)盟.jpg