基本每天都会遇到新的问题,不记录下来是在是有点亏。以下内容也是在做项目的时候碰到,然后百度搜索答案,记到记事本上的,在此分享给大家。
一、关于删除TP框架的缓存问题
TP的缓存不仅仅局限于runtime里面的缓存文件,首先需要定义一个函数:
public function cache_clear() {
$this->deldir(TEMP_PATH);
}
function deldir($dir) {
$dh = opendir($dir);
while ($file = readdir($dh)) {
if ($file != "." && $file != "..") {
$fullpath = $dir . "/" . $file;
if (!is_dir($fullpath)) {
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}
}
这个更多的是删除缓存的文件,直接删除文件夹如果是要删除runtime文件里面的缓存的话,需定义常量,一键删除:
define('RUNTIME','./Application/Runtime/');直接带入变量。
二、关于TP在Vendor中引入第三方库已经使用问题:
我碰到的问题:在生成二维码的时候,直接vendor引进来,然后实例化对象,结果报错了,
提示找不到该方法,,,最后百度才发现:
解释:TP框架3.2.3之前的,如果要引入Vendor之中的第三方类库,除了例如:
vendor("phpqrcode.phpqrcode"); 之外,在实例化类的时候需要加上反斜杠
$QRcode = new \QRcode();//实例化,注意加\
解释:第三方类库没有使用命名空间,导致引入失败。tp中对于没有命名空间的类,
实例化的时候要使用 new \ClassName();
加“\”,加“\”,加“\”,重要的事情说三遍。