简介:
public function addClientParser($parser)
{
if (is_string($parser) && class_exists('DeviceDetector\\Parser\\Client\\' . $parser)) {
$className = 'DeviceDetector\\Parser\\Client\\' . $parser;
$parser = new $className();
}
if ($parser instanceof ClientParserAbstract) {
$this->clientParsers[] = $parser;
self::$clientTypes[] = $parser->getName();
return;
}
throw new \Exception('client parser not found');
}
你想要一个小巧的框架;
你需要出色的性能;
你需要广泛兼容标准主机上的各种 PHP 版本和配置;
你想要一个几乎零配置的框架;
你想要一个不需使用命令行的框架;
你想要一个不想被编码规则的条条框框限制住的框架;
你对 PEAR 这种庞然大物不感兴趣;
你不想被迫学习一种新的模板语言(当然如果你喜欢,你可以选择一个模板解析器);
你不喜欢复杂,追求简单;
那么这一款轻量级的PHP标记解析库就是你想要的!<?php
/**
* @copyright 2006-2014, Miles Johnson - http://milesj.me
* @license https://github.com/milesj/decoda/blob/master/license.md
* @link http://milesj.me/code/php/decoda
*/
error_reporting(E_ALL | E_STRICT);
// Set constants
define('TEST_DIR', __DIR__);
define('VENDOR_DIR', dirname(TEST_DIR) . '/vendor');
define('DECODA', str_replace('\\', '/', dirname(TEST_DIR) . '/src/Decoda/'));
// Ensure that composer has installed all dependencies
if (!file_exists(VENDOR_DIR . '/autoload.php')) {
exit('Please install Composer in Decoda\'s root folder before running tests!');
}
// Include the composer autoloader
$loader = require VENDOR_DIR . '/autoload.php';
$loader->add('Decoda', TEST_DIR);