stopsopa / annotations
功能齐全的注释解析器,具有灵活的缓存系统
dev-master
2023-09-02 00:13 UTC
This package is auto-updated.
Last update: 2024-08-31 00:49:11 UTC
README
创建于2014年 - 现在已经相当老旧,不再维护。
哎呀,我那时候年轻。别评判我 ;P
stopsopa/annotations
独立的、轻量级的PHP注释解析器,内置基于文件系统、Memcached和Apc(已弃用技术)的缓存系统
- 文件系统
- Memcached
- Apc (已弃用技术)
安装
通过packagist.org(https://packagist.org.cn/packages/stopsopa/annotations)的composer库可用
{
"require" : {
"stopsopa/annotations": "dev-master"
}
}
使用
use Stopsopa\Annotations\AnnotationParser;
use Stopsopa\Annotations\Example\TestClass;
// creating main object of parser
$parser = new AnnotationParser();
print_r($parser->getAnnotations(new TestClass()));
缓存
文件系统缓存
use Stopsopa\Annotations\AnnotationParser;
use Stopsopa\Annotations\Cache\AnnotationFileCache;
use Stopsopa\Annotations\Example\TestClass;
// creating main object of parser
$parser = new AnnotationParser();
$cache = new AnnotationFileCache(dirname(__FILE__).'/cachedir');
// $cache->clear(); // you can clear all cache
$parser->setCache($cache);
print_r($parser->getAnnotations(new TestClass()));
Apc缓存
use Stopsopa\Annotations\AnnotationParser;
use Stopsopa\Annotations\Cache\AnnotationApcCache;
use Stopsopa\Annotations\Example\TestClass;
// creating main object of parser
$parser = new AnnotationParser();
$salt = 'kdjdjdjk'; // project salt
$key = 'stopsopaannotationcache';
$apccache = md5($salt).'-'.$key;
/* @var $data Test */
$cache = apc_fetch($apccache) ?: new AnnotationApcCache($apccache);
// $cache->clear(); // you can clear all cache
$parser->setCache($cache);
print_r($parser->getAnnotations(new TestClass()));
Memcached缓存
use Stopsopa\Annotations\AnnotationParser;
use Stopsopa\Annotations\Cache\MemcacheService;
use Stopsopa\Annotations\Cache\AnnotationMemcachedCache;
use Stopsopa\Annotations\Example\TestClass;
// creating main object of parser
$parser = new AnnotationParser();
$salt = 'kdjdjdjk'; // project salt
$key = 'stopsopaannotationcache';
$mkey = md5($salt).'-'.$key;
MemcacheService::addServer('localhost', 11211);
$cache = MemcacheService::getInstance()->get($mkey);
if (!$cache)
MemcacheService::getInstance()->set($mkey, $cache = new AnnotationMemcachedCache($mkey));
// $cache->clear(); // you can clear all cache
$parser->setCache($cache);
print_r($parser->getAnnotations(new TestClass()));
许可协议
MIT许可协议(MIT)版权所有(c)2014 Szymon Działowski。在此特此授予任何人免费获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,以不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本,并允许向获得软件的人提供软件副本,前提是必须遵守以下条件:上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。本软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,还是包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他法律行为,无论此类责任是否因软件或软件的使用或其他方式产生、存在或与之相关。