123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace WhichBrowser;
- use WhichBrowser\Model\Main;
- class Parser extends Main
- {
- use Cache;
- /**
- * Create a new object that contains all the detected information
- *
- * @param array|string $headers Optional, an array with all of the headers or a string with just the User-Agent header
- * @param array $options Optional, an array with configuration options
- */
- public function __construct($headers = null, $options = [])
- {
- parent::__construct();
- if (!is_null($headers)) {
- $this->analyse($headers, $options);
- }
- }
- /**
- * Analyse the provided headers or User-Agent string
- *
- * @param array|string $headers An array with all of the headers or a string with just the User-Agent header
- */
- public function analyse($headers, $options = [])
- {
- $o = $options;
- if (is_string($headers)) {
- $h = [ 'User-Agent' => $headers ];
- } else {
- if (isset($headers['headers'])) {
- $h = $headers['headers'];
- unset($headers['headers']);
- $o = array_merge($headers, $options);
- } else {
- $h = $headers;
- }
- }
- if ($this->analyseWithCache($h, $o)) {
- return;
- }
- $analyser = new Analyser($h, $o);
- $analyser->setdata($this);
- $analyser->analyse();
- }
- }
|