thinkphp5.0学習(十一):TP 5.0その他
23901 ワード
一、キャッシュ
1.キャッシュの役割
データベースの圧力を減らすユーザーのインタラクションが少ない
2.TPによるキャッシュのサポート
サポートキャッシュタイプはfile,memcache,wincache,sqlite,redisおよびxcacheです.
3.キャッシュ設定(アプリケーションconfig.php)
4.使用
1.キャッシュの設定
2.リードキャッシュ
3.キャッシュの削除
4.キャッシュをクリア
5.キャッシュの使用
二、Session
1.セッションの設定
2.セッションの取得
3.判断セッション
4.セッションの削除
5.クリアセッション
三、Cookie
1.クッキーの設定
2.クッキー取得
3.クッキーが設定されているかどうかを判断する
4.クッキーの削除
5.クリアクッキー
四、ページング
1.コントローラ
2.ページ内
五、ファイルのアップロード
1.単一ファイルアップロード
1.ページ内
2.コントローラ
2.マルチファイルアップロード
1.ページ内
2.コントローラ
六、検証コード
1.まずシステムが検証コードをサポートしているかどうかを判断する(プロジェクトファイルvendortopthinkthink-captcha)
composerインストールがサポートされていない場合
2.使用
1.ページ内
2.コントローラにおける判定検証コード
3.検証コード関連設定
七、画像処理
1.画像を読み取る
2.基本情報の取得
3.画像の切り取り
4.画像の拡大・縮小
5.画像の反転
6.画像の回転
7.ウォーターマークの追加
1.キャッシュの役割
データベースの圧力を減らすユーザーのインタラクションが少ない
2.TPによるキャッシュのサポート
サポートキャッシュタイプはfile,memcache,wincache,sqlite,redisおよびxcacheです.
3.キャッシュ設定(アプリケーションconfig.php)
'cache' => [
//
'type' => 'File',
//
'path' => CACHE_PATH,
//
'prefix' => '',
// 0
'expire' => 0,
],
4.使用
1.キャッシュの設定
Cache::set("userData",$data,200);
cache( , , );
2.リードキャッシュ
dump(Cache::get("userData"));
dump(cache("userData"));
3.キャッシュの削除
dump(Cache::rm("userData"));
cache("userData",null);
4.キャッシュをクリア
Cache::clear();
5.キャッシュの使用
public function huancun(){
//
if($data=cache('userData')){
//
}else{
//
$data=Db::table("user")->select();
cache("userData",$data,20);
}
//
$this->assign("data",$data);
//
return $this->fetch();
}
二、Session
1.セッションの設定
// null
public function setSession(){
//
dump(Session::set("name"," "));
//
session("name","100");
}
2.セッションの取得
public function getSession(){
//
dump(Session::get("name"));
//
session("name");
}
3.判断セッション
dump(Session::has("name1"));
dump(session("?name"));
4.セッションの削除
dump(Session::delete("name"));
// null
dump(session("name",null));
5.クリアセッション
Session::clear();
session(null);
三、Cookie
1.クッキーの設定
Cookie::set("name","ltt");
Cookie::set("info","wanli",50);
cookie('time','2017-10-25');
cookie('age',5,50);
2.クッキー取得
//
dump(Cookie::get("name"));
dump(Cookie::get("info"));
dump(cookie("time"));
dump(cookie("age"));
3.クッキーが設定されているかどうかを判断する
dump(Cookie::has("name"));
dump(Cookie::has("info"));
dump(cookie("?time"));
dump(cookie("?age"));
4.クッキーの削除
Cookie::delete("name");
cookie("time",null);
5.クリアクッキー
Cookie::clear();
cookie(null);
四、ページング
1.コントローラ
//paginate true ,
$data=Db::table("user")->paginate(3,true);
$this->assign("data",$data);
return $this->fetch();
}
2.ページ内
{volist name="data" id="val"}
<tr>
<td>{$val.id}td>
<td>{$val.name}td>
<td>{$val.pass}td>
tr>
{/volist}
{$data->render()}
五、ファイルのアップロード
1.単一ファイルアップロード
1.ページ内
<form action="{:url('upload')}" method="post" enctype="multipart/form-data">
<p>
File:
<input type="file" name="file">input>
p >
<p><input type="submit" value=" ">input>p >
form>
2.コントローラ
public function upload(Request $request){
//
$file=$request->file("file");
//
if($info=$file->move('./upload/')){
dump($info->getsaveName());
}else{
dump($info->getError());
}
// dump($file);
}
2.マルチファイルアップロード
1.ページ内
<form action="{:url('uploads')}" method="post" enctype="multipart/form-data">
<p>
File:
<input type="file" name="file[]">input>
<input type="file" name="file[]">input>
<input type="file" name="file[]">input>
p >
<p><input type="submit" value=" ">input>p >
form>
2.コントローラ
public function uploads(Request $request){
//
$files=$request->file("file");
foreach ($files as $key => $file) {
if ($info=$file->move("./upload/")) {
dump($info->getsaveName());
}else{
dump($info->getError());
}
}
// dump($files);
}
六、検証コード
1.まずシステムが検証コードをサポートしているかどうかを判断する(プロジェクトファイルvendortopthinkthink-captcha)
composerインストールがサポートされていない場合
2.使用
1.ページ内
<form action="{:url('check')}" method="post">
<p>
:{:captcha_img()}
< img src="{:captcha_src()}">
p >
<p>
:
<input type="text" name="code" >input>
p >
<p>
<input type="submit" value=" ">input>
p >
form>
2.コントローラにおける判定検証コード
public function check(){
$code=input('post.code');
//
if(captcha_check($code)){
echo "ok";
}else{
echo "error";
}
}
3.検証コード関連設定
//
'captcha'=>[
'codeSet'=>'123',
//
'useZh'=>true,
//
'zhSet'=>" ",
//
'useImgBg' => false,
//
'fontSize' => 25,
// (px)
'useCurve' => true,
//
'useNoise' => true,
//
'imageH' => 0,
//
'imageW' => 0,
//
'length' => 5,
//
'fontttf' => '',
// ,
'bg' => [243, 251, 254],
//
'reset' => true,
//
],
七、画像処理
1.画像を読み取る
$image=Image::open("./img/c.jpg");
2.基本情報の取得
dump($image->width());
dump($image->height());
dump($image->type());
dump($image->size());
dump($image->mime());
3.画像の切り取り
// crop(300,300,100,100); 100,100 300 300
//
$image->crop(300,300)->save("./img/cai.jpg");
//
$image->crop(300,300,100,100)->save("./img/cai1.jpg");
4.画像の拡大・縮小
//
// $image->thumb(300,300)->save('./img/th.jpg');
// ,
const THUMB_SCALING = 1;
// ,
const THUMB_FILLED = 2;
// ,
const THUMB_CENTER = 3;
// ,
const THUMB_NORTHWEST = 4;
// ,
const THUMB_SOUTHEAST = 5;
// ,
const THUMB_FIXED = 6;
$image->thumb(300,300,2)->save('./img/th.jpg');
5.画像の反転
$image->flip()->save("./img/fan.jpg");
6.画像の回転
//rotate() 90
$image->rotate(180)->save("./img/xuanzhuan.jpg");
7.ウォーターマークの追加
//
// ,1 ,5 ,50
$image->water("./img/logo3.png",1,50)->save("./img/water.jpg");
//
$image->text(" ",'FZSTK.TTF',28,'#ff0000')->save("./img/text.jpg");