Current File : /var/www/vinorea/modules/psxdesign/vendor/humbug/php-scoper/specs/namespace/no-braces.php |
<?php
declare(strict_types=1);
/*
* This file is part of the humbug/php-scoper package.
*
* Copyright (c) 2017 Théo FIDRY <theo.fidry@gmail.com>,
* Pádraic Brady <padraic.brady@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
return [
'meta' => [
'title' => 'Namespace declarations without braces',
// Default values. If not specified will be the one used
'prefix' => 'Humbug',
'whitelist' => [],
'whitelist-global-constants' => true,
'whitelist-global-classes' => false,
'whitelist-global-functions' => true,
'registered-classes' => [],
'registered-functions' => [],
],
'Root namespace' => <<<'PHP'
<?php
namespace {
$x = 'root';
}
----
<?php
namespace Humbug;
$x = 'root';
PHP
,
'One level' => <<<'PHP'
<?php
namespace Foo {
}
----
<?php
namespace Humbug\Foo;
PHP
,
'One level whitelisted namespace' => [
'whitelist' => ['Foo'],
'payload' => <<<'PHP'
<?php
namespace Foo {
}
----
<?php
namespace Humbug\Foo;
PHP
],
'Already prefixed one-level namespace' => <<<'PHP'
<?php
namespace Humbug\Foo {
}
----
<?php
namespace Humbug\Foo;
PHP
,
'Two levels namespace' => <<<'PHP'
<?php
namespace Foo\Bar {
}
----
<?php
namespace Humbug\Foo\Bar;
PHP
,
'Two levels whitelisted namespace' => [
'whitelist' => ['Foo'],
'payload' => <<<'PHP'
<?php
namespace Foo\Bar {
}
----
<?php
namespace Humbug\Foo\Bar;
PHP
],
'Already prefixed two levels namespace' => <<<'PHP'
<?php
namespace Humbug\Foo\Bar;
----
<?php
namespace Humbug\Foo\Bar;
PHP
,
'Mix' => <<<'PHP'
<?php
// single level
namespace A {
$x = 'a';
}
// single level
namespace B {
$x = 'b';
}
// already prefixed one level
namespace Humbug\C {
$x = 'pa';
}
// two levels
namespace D\E {
$x = 'de';
}
// two levels
namespace F\G {
$x = 'fg';
}
// already prefixed two levels
namespace Humbug\H\I {
$x = 'phi';
}
// root namespace
namespace {
$x = 'root';
}
----
<?php
// single level
namespace Humbug\A;
$x = 'a';
// single level
namespace Humbug\B;
$x = 'b';
// already prefixed one level
namespace Humbug\C;
$x = 'pa';
// two levels
namespace Humbug\D\E;
$x = 'de';
// two levels
namespace Humbug\F\G;
$x = 'fg';
// already prefixed two levels
namespace Humbug\H\I;
$x = 'phi';
// root namespace
namespace Humbug;
$x = 'root';
PHP
,
];