程序添加php支持,使用composer给自己的php程序添加缓存支持

来源:csdn博客 分类: 文章浏览史 发布时间:2023-09-27 12:51:02 最后更新:2023-09-27 浏览:98
转载声明:
本文为摘录自“csdn博客”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2023-09-27 12:51:02

安装缓存支持依赖

如果自己项目目录中已经初始化过啦composer的话里面会有一个composer.json可以直接安装composer require doctrine/cache

没有composer.json这个文件的打开自己的项目目录,按下shift+右键打开cmd输入composer init

初始化一个composer.json文件

初始的过程中会让输入你想引用的哪些php包,如下再回车就是引导你去生成composer.json这个文件

c25a6b33013a5ebdb7a435d3902d2b3d.png

引导过程中有一个author是必须填写的格式为 aaaaa

dd26bedae031942c37b385a93380c4e7.png

继续下一步,安装引用的php包依赖,输入 doctrine/cache

默认直接回车安装最新版本,然后出现using version ..........后,会继续出现Search for a package,这个时候按下 Esc 键再按回车就会跳过搜索进行下一步

1463ecf91950db348ef02d7571b64fe7.png

继续下一步直接到完成后目录里出现一个compose.json文件

然后再打开cmd运行composer install

之后对应的php包依赖就会被下载下来

缓存依赖包的使用方法

安装好composer后,就已经给你添加啦一个自动加载php类库的加载器,只需引入下面一个文件就可以//包含自动加载类

$loader = require  './vendor/autoload.php';

//实例化缓存

$cache   = new \Doctrine\Common\Cache\FilesystemCache('./data/cache/');

//写缓存

$cache->save('name', '缓存数据', '缓存时间');

//读缓存

$cache->fetch('name');

//删除缓存

$cache->delete('name');

//检查缓存是否存在

$cache->contains('name');

//删除全部缓存

$cache->deleteAll('name');

一般情况下我们会写一个在项目中使用的缓存类来方便扩展第三方不同的缓存支持,方便以后修改如下class Cache {

static public $_instance = null;

static public function getInstance() {

if (!self::$_instance) {

$cache_path = './data/';

if (!file_exists($cache_path)) {

@mkdir(dirname($cache_path), 0777, true);

// file_put_contents(this->cache_path, '');

}

self::$_instance = new \Doctrine\Common\Cache\FilesystemCache($cache_path);

}

return self::$_instance;

}

/**

* 写缓存

* @param  string  $key      缓存key

* @param  [type]  $data     缓存的数据

* @param  integer $lifeTime 保存的时间false为永久

* @return [type]            boolean

*/

static public function write($key = '', $data = null, $lifeTime = false) {

return self::getInstance()->save($key, $data, $lifeTime);

}

/**

* 写临时缓存

* @param  string $key 缓存key

* @return [type]      [description]

*/

static public function writeTemp($key = '', $data = null, $lifeTime = false) {

return self::getInstance()->save($key, $data, $lifeTime);

}

/**

* 读缓存

* @param  string $key 缓存key

* @return [type]      [description]

*/

static public function read($key = '') {

return self::getInstance()->fetch($key);

}

/**

* 删除缓存

* @param  string $key 缓存key

* @return [type]      [description]

*/

static public function delete($key = '') {

return self::getInstance()->delete($key);

}

/**

* 检查缓存是否存在

* @param  string $key [description]

* @return [type]      [description]

*/

static public function exists($key = '') {

return self::getInstance()->contains($key);

}

/**

* 删除全部缓存

* @param  string $key 缓存key

* @return [type]      [description]

*/

static public function deleteAll() {

return self::getInstance()->deleteAll();

}

/**

* 析构方法

* @access public

*/

public function __destruct() {

}

}

php技术微信