Esempio n. 1
0
function filter_classes_by_notes($classes, $notes)
{
    if (!is_array($notes)) {
        $notes = array($notes);
    }
    $parser = new \Nope\Parser();
    $found = array();
    foreach ($classes as $c) {
        $classNotes = $parser->parseClass(new \ReflectionClass($c));
        foreach ($notes as $k) {
            if (isset($classNotes->notes[$k])) {
                $found[] = $c;
            }
        }
    }
    return $found;
}
Esempio n. 2
0
    require "/home/bl/web/bm/big/config.php";
    require __DIR__ . '/../vendor/autoload.php';
    $iter = 10;
    $p = new Nope\FastParser();
    $t = microtime(true);
    $cnt = 0;
    for ($i = 0; $i < $iter; $i++) {
        $cnt += $p->parseClass(\Big\CRM\Data\IOVersion::class) == true;
    }
    var_dump((microtime(true) - $t) / $iter * 1000);
    exit;
    $p = new Nope\Parser();
    $t = microtime(true);
    $cnt = 0;
    for ($i = 0; $i < $iter; $i++) {
        $cnt += $p->parseClass(\Big\CRM\Data\IOVersion::class) == true;
    }
    var_dump((microtime(true) - $t) / $iter * 1000);
    exit;
}
namespace Nope {
    classdefs:
    class FastParser
    {
        const S_NONE = 0;
        const S_NAME = 1;
        const S_JSON = 2;
        public function parseClass($class)
        {
            if (!$class instanceof \ReflectionClass) {
                $class = new \ReflectionClass($class);