Skip to content

Commit be18731

Browse files
committed
Update Profiler to accept Config or array
1 parent 32f1546 commit be18731

5 files changed

Lines changed: 18 additions & 13 deletions

File tree

src/Profiler.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ final class Profiler
2222
/**
2323
* Profiler configuration.
2424
*
25-
* @var array
25+
* @var Config
2626
*/
2727
private $config;
2828

@@ -54,11 +54,15 @@ final class Profiler
5454
/**
5555
* Profiler constructor.
5656
*
57-
* @param array $config
57+
* @param array|Config $config
5858
*/
59-
public function __construct(array $config)
59+
public function __construct($config)
6060
{
61-
$this->config = array_replace($this->getDefaultConfig(), $config);
61+
if ($config instanceof Config) {
62+
$this->config = $config;
63+
} else {
64+
$this->config = new Config($config);
65+
}
6266
}
6367

6468
/**

src/ProfilerFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ final class ProfilerFactory
2121
*
2222
* @return ProfilerInterface|null
2323
*/
24-
public static function create(array $config)
24+
public static function create(Config $config)
2525
{
2626
$adapters = array(
2727
Profiler::PROFILER_TIDEWAYS_XHPROF => function () {

src/ProfilingData.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class ProfilingData
1414
/** @var callable|null */
1515
private $replaceUrl;
1616

17-
public function __construct(array $config = array())
17+
public function __construct(Config $config)
1818
{
1919
$this->excludeEnv = isset($config['profiler.exclude-env']) ? (array)$config['profiler.exclude-env'] : array();
2020
$this->simpleUrl = isset($config['profiler.simple_url']) ? $config['profiler.simple_url'] : null;

src/SaverFactory.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ final class SaverFactory
1414
{
1515
/**
1616
* @param string $saveHandler
17-
* @param array $config
17+
* @param Config $config
1818
* @return SaverInterface|null
1919
*/
20-
public static function create($saveHandler, array $config = array())
20+
public static function create($saveHandler, Config $config)
2121
{
2222
switch ($saveHandler) {
2323
case Profiler::SAVER_FILE:
@@ -64,7 +64,7 @@ public static function create($saveHandler, array $config = array())
6464
throw new ProfilerException("For {$saveHandler} you need to install xhgui-collector package: composer require perftools/xhgui-collector");
6565
}
6666
$config = self::migrateConfig($config, $saveHandler);
67-
$legacySaver = Xhgui_Saver::factory($config);
67+
$legacySaver = Xhgui_Saver::factory($config->toArray());
6868
$saver = self::getAdapter($legacySaver);
6969
break;
7070
}
@@ -79,11 +79,11 @@ public static function create($saveHandler, array $config = array())
7979
/**
8080
* Prepare config for Xhgui_Saver specific to $saveHandler
8181
*
82-
* @param array $config
82+
* @param Config $config
8383
* @param string $saveHandler
84-
* @return array
84+
* @return Config
8585
*/
86-
private static function migrateConfig(array $config, $saveHandler)
86+
private static function migrateConfig(Config $config, $saveHandler)
8787
{
8888
switch ($saveHandler) {
8989
case Profiler::SAVER_MONGODB:

tests/TestCase.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Xhgui\Profiler\Test;
44

5+
use Xhgui\Profiler\Config;
56
use Xhgui\Profiler\Profilers\ProfilerInterface;
67
use Xhgui\Profiler\Saver\SaverInterface;
78
use Xhgui\Profiler\SaverFactory;
@@ -30,7 +31,7 @@ protected function runProfiler($flags = array(), $options = array())
3031

3132
protected function createSaver($saveHandler, array $config = array())
3233
{
33-
$saver = SaverFactory::create($saveHandler, $config);
34+
$saver = SaverFactory::create($saveHandler, new Config($config));
3435
$this->assertNotNull($saver);
3536

3637
return $saver;

0 commit comments

Comments
 (0)