UserAgentParser\Provider\DonatjUAParser::parse PHP Method

parse() public method

public parse ( $userAgent, array $headers = [] )
$headers array
    public function parse($userAgent, array $headers = [])
    {
        $functionName = $this->functionName;
        $resultRaw = $functionName($userAgent);
        if ($this->hasResult($resultRaw) !== true) {
            throw new NoResultFoundException('No result found for user agent: ' . $userAgent);
        }
        /*
         * Hydrate the model
         */
        $result = new Model\UserAgent();
        $result->setProviderResultRaw($resultRaw);
        /*
         * Bot detection - is currently not possible!
         */
        /*
         * hydrate the result
         */
        $this->hydrateBrowser($result->getBrowser(), $resultRaw);
        // renderingEngine not available
        // os is mixed with device informations
        // device is mixed with os
        return $result;
    }

Usage Example

 public function testRealResult()
 {
     $provider = new DonatjUAParser();
     $result = $provider->parse('Mozilla/5.0 (X11; U; CrOS i686 0.9.128; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.339');
     $this->assertEquals(['browser' => ['name' => 'Chrome', 'version' => ['major' => 8, 'minor' => 0, 'patch' => 552, 'alias' => null, 'complete' => '8.0.552.339']], 'renderingEngine' => ['name' => null, 'version' => ['major' => null, 'minor' => null, 'patch' => null, 'alias' => null, 'complete' => null]], 'operatingSystem' => ['name' => null, 'version' => ['major' => null, 'minor' => null, 'patch' => null, 'alias' => null, 'complete' => null]], 'device' => ['model' => null, 'brand' => null, 'type' => null, 'isMobile' => null, 'isTouch' => null], 'bot' => ['isBot' => null, 'name' => null, 'type' => null]], $result->toArray());
     /*
      * Test the raw result
      */
     $rawResult = $result->getProviderResultRaw();
     $this->assertEquals(['platform' => 'Chrome OS', 'browser' => 'Chrome', 'version' => '8.0.552.339'], $rawResult);
 }
All Usage Examples Of UserAgentParser\Provider\DonatjUAParser::parse