Skip to content

Commit

Permalink
Merge pull request #9248 from neznaika0/fix-call-as-service
Browse files Browse the repository at this point in the history
perf: Improve call as `service()`
  • Loading branch information
samsonasik authored Nov 9, 2024
2 parents 3346b6f + ea38947 commit a9fa3d0
Show file tree
Hide file tree
Showing 99 changed files with 336 additions and 420 deletions.
3 changes: 1 addition & 2 deletions admin/starter/tests/session/ExampleSessionTest.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?php

use CodeIgniter\Test\CIUnitTestCase;
use Config\Services;

/**
* @internal
Expand All @@ -10,7 +9,7 @@ final class ExampleSessionTest extends CIUnitTestCase
{
public function testSessionSimple(): void
{
$session = Services::session();
$session = service('session');

$session->set('logged_in', 123);
$this->assertSame(123, $session->get('logged_in'));
Expand Down
3 changes: 1 addition & 2 deletions admin/starter/tests/unit/HealthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

use CodeIgniter\Test\CIUnitTestCase;
use Config\App;
use Config\Services;
use Tests\Support\Libraries\ConfigReader;

/**
Expand All @@ -17,7 +16,7 @@ public function testIsDefinedAppPath(): void

public function testBaseUrlHasBeenSet(): void
{
$validation = Services::validation();
$validation = service('validation');

$env = false;

Expand Down
4 changes: 2 additions & 2 deletions app/Config/Events.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@
*/
if (CI_DEBUG && ! is_cli()) {
Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');
Services::toolbar()->respond();
service('toolbar')->respond();
// Hot Reload route - for framework use on the hot reloader.
if (ENVIRONMENT === 'development') {
Services::routes()->get('__hot-reload', static function (): void {
service('routes')->get('__hot-reload', static function (): void {
(new HotReloader())->run();
});
}
Expand Down
2 changes: 1 addition & 1 deletion app/Config/Format.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,6 @@ class Format extends BaseConfig
*/
public function getFormatter(string $mime)
{
return Services::format()->getFormatter($mime);
return service('format')->getFormatter($mime);
}
}
2 changes: 1 addition & 1 deletion app/Controllers/BaseController.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,6 @@ public function initController(RequestInterface $request, ResponseInterface $res

// Preload any models, libraries, etc, here.

// E.g.: $this->session = \Config\Services::session();
// E.g.: $this->session = service('session');
}
}
5 changes: 2 additions & 3 deletions app/Views/errors/html/error_exception.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?php
use CodeIgniter\HTTP\Header;
use Config\Services;
use CodeIgniter\CodeIgniter;

$errorId = uniqid('error', true);
Expand Down Expand Up @@ -225,7 +224,7 @@

<!-- Request -->
<div class="content" id="request">
<?php $request = Services::request(); ?>
<?php $request = service('request'); ?>

<table>
<tbody>
Expand Down Expand Up @@ -343,7 +342,7 @@

<!-- Response -->
<?php
$response = Services::response();
$response = service('response');
$response->setStatusCode(http_response_code());
?>
<div class="content" id="response">
Expand Down
18 changes: 0 additions & 18 deletions phpstan-baseline.php
Original file line number Diff line number Diff line change
Expand Up @@ -18361,12 +18361,6 @@
'count' => 1,
'path' => __DIR__ . '/tests/system/View/ParserTest.php',
];
$ignoreErrors[] = [
// identifier: missingType.iterableValue
'message' => '#^Method class@anonymous/tests/system/View/ParserTest\\.php\\:340\\:\\:toArray\\(\\) return type has no value type specified in iterable type array\\.$#',
'count' => 1,
'path' => __DIR__ . '/tests/system/View/ParserTest.php',
];
$ignoreErrors[] = [
// identifier: argument.type
'message' => '#^Parameter \\#2 \\$context of method CodeIgniter\\\\View\\\\Parser\\:\\:setData\\(\\) expects \'attr\'\\|\'css\'\\|\'html\'\\|\'js\'\\|\'raw\'\\|\'url\'\\|null, \'unknown\' given\\.$#',
Expand All @@ -18379,18 +18373,6 @@
'count' => 1,
'path' => __DIR__ . '/tests/system/View/ParserTest.php',
];
$ignoreErrors[] = [
// identifier: missingType.property
'message' => '#^Property class@anonymous/tests/system/View/ParserTest\\.php\\:340\\:\\:\\$bar has no type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/tests/system/View/ParserTest.php',
];
$ignoreErrors[] = [
// identifier: missingType.property
'message' => '#^Property class@anonymous/tests/system/View/ParserTest\\.php\\:340\\:\\:\\$foo has no type specified\\.$#',
'count' => 1,
'path' => __DIR__ . '/tests/system/View/ParserTest.php',
];
$ignoreErrors[] = [
// identifier: method.notFound
'message' => '#^Call to an undefined method CodeIgniter\\\\View\\\\Table\\:\\:compileTemplate\\(\\)\\.$#',
Expand Down
3 changes: 1 addition & 2 deletions system/Autoloader/Autoloader.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
use Config\Autoload;
use Config\Kint as KintConfig;
use Config\Modules;
use Config\Services;
use InvalidArgumentException;
use Kint;
use Kint\Renderer\CliRenderer;
Expand Down Expand Up @@ -537,7 +536,7 @@ private function configureKint(): void
Kint::$plugins = $config->plugins;
}

$csp = Services::csp();
$csp = service('csp');
if ($csp->enabled()) {
RichRenderer::$js_nonce = $csp->getScriptNonce();
RichRenderer::$css_nonce = $csp->getStyleNonce();
Expand Down
3 changes: 1 addition & 2 deletions system/BaseModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
use CodeIgniter\Pager\Pager;
use CodeIgniter\Validation\ValidationInterface;
use Config\Feature;
use Config\Services;
use InvalidArgumentException;
use ReflectionClass;
use ReflectionException;
Expand Down Expand Up @@ -1609,7 +1608,7 @@ public function getValidationRules(array $options = []): array
protected function ensureValidation(): void
{
if ($this->validation === null) {
$this->validation = Services::validation(null, false);
$this->validation = service('validation', null, false);
}
}

Expand Down
8 changes: 4 additions & 4 deletions system/Boot.php
Original file line number Diff line number Diff line change
Expand Up @@ -246,12 +246,12 @@ protected static function loadAutoloader(): void

protected static function autoloadHelpers(): void
{
Services::autoloader()->loadHelpers();
service('autoloader')->loadHelpers();
}

protected static function setExceptionHandler(): void
{
Services::exceptions()->initialize();
service('exceptions')->initialize();
}

protected static function checkMissingExtensions(): void
Expand Down Expand Up @@ -290,7 +290,7 @@ protected static function checkMissingExtensions(): void

protected static function initializeKint(): void
{
Services::autoloader()->initializeKint(CI_DEBUG);
service('autoloader')->initializeKint(CI_DEBUG);
}

protected static function loadConfigCache(): FactoriesCache
Expand All @@ -308,7 +308,7 @@ protected static function loadConfigCache(): FactoriesCache
*/
protected static function initializeCodeIgniter(): CodeIgniter
{
$app = Config\Services::codeigniter();
$app = service('codeigniter');
$app->initialize();
$context = is_cli() ? 'php-cli' : 'web';
$app->setContext($context);
Expand Down
3 changes: 1 addition & 2 deletions system/CLI/CLI.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
namespace CodeIgniter\CLI;

use CodeIgniter\CLI\Exceptions\CLIException;
use Config\Services;
use InvalidArgumentException;
use Throwable;

Expand Down Expand Up @@ -416,7 +415,7 @@ protected static function validate(string $field, string $value, $rules): bool
{
$label = $field;
$field = 'temp';
$validation = Services::validation(null, false);
$validation = service('validation', null, false);
$validation->setRules([
$field => [
'label' => $label,
Expand Down
5 changes: 2 additions & 3 deletions system/Commands/Utilities/Routes/FilterCollector.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

namespace CodeIgniter\Commands\Utilities\Routes;

use CodeIgniter\Config\Services;
use CodeIgniter\Filters\Filters;
use CodeIgniter\HTTP\Method;
use CodeIgniter\HTTP\Request;
Expand Down Expand Up @@ -68,7 +67,7 @@ public function get(string $method, string $uri): array
];
}

$request = Services::incomingrequest(null, false);
$request = service('incomingrequest', null, false);
$request->setMethod($method);

$router = $this->createRouter($request);
Expand All @@ -86,7 +85,7 @@ public function get(string $method, string $uri): array
*/
public function getRequiredFilters(): array
{
$request = Services::incomingrequest(null, false);
$request = service('incomingrequest', null, false);
$request->setMethod(Method::GET);

$router = $this->createRouter($request);
Expand Down
2 changes: 1 addition & 1 deletion system/Config/Services.php
Original file line number Diff line number Diff line change
Expand Up @@ -705,7 +705,7 @@ public static function session(?SessionConfig $config = null, bool $getShared =
// See https://www.php.net/manual/en/function.session-cache-limiter.php.
// The headers are not managed by CI's Response class.
// So, we remove CI's default Cache-Control header.
AppServices::response()->removeHeader('Cache-Control');
AppServices::get('response')->removeHeader('Cache-Control');

$session->start();
}
Expand Down
7 changes: 3 additions & 4 deletions system/Database/MigrationRunner.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
use CodeIgniter\I18n\Time;
use Config\Database;
use Config\Migrations as MigrationsConfig;
use Config\Services;
use RuntimeException;
use stdClass;

Expand Down Expand Up @@ -390,7 +389,7 @@ public function force(string $path, string $namespace, ?string $group = null)
*/
public function findMigrations(): array
{
$namespaces = $this->namespace ? [$this->namespace] : array_keys(Services::autoloader()->getNamespace());
$namespaces = $this->namespace ? [$this->namespace] : array_keys(service('autoloader')->getNamespace());
$migrations = [];

foreach ($namespaces as $namespace) {
Expand All @@ -415,7 +414,7 @@ public function findMigrations(): array
public function findNamespaceMigrations(string $namespace): array
{
$migrations = [];
$locator = Services::locator(true);
$locator = service('locator', true);

if (! empty($this->path)) {
helper('filesystem');
Expand Down Expand Up @@ -455,7 +454,7 @@ protected function migrationFromFile(string $path, string $namespace)
return false;
}

$locator = Services::locator(true);
$locator = service('locator', true);

$migration = new stdClass();

Expand Down
5 changes: 2 additions & 3 deletions system/Debug/Exceptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
use CodeIgniter\HTTP\ResponseInterface;
use Config\Exceptions as ExceptionsConfig;
use Config\Paths;
use Config\Services;
use ErrorException;
use Psr\Log\LogLevel;
use Throwable;
Expand Down Expand Up @@ -126,7 +125,7 @@ public function exceptionHandler(Throwable $exception)

[$statusCode, $exitCode] = $this->determineCodes($exception);

$this->request = Services::request();
$this->request = service('request');

if ($this->config->log === true && ! in_array($statusCode, $this->config->ignoreCodes, true)) {
$uri = $this->request->getPath() === '' ? '/' : $this->request->getPath();
Expand Down Expand Up @@ -155,7 +154,7 @@ public function exceptionHandler(Throwable $exception)
}
}

$this->response = Services::response();
$this->response = service('response');

if (method_exists($this->config, 'handler')) {
// Use new ExceptionHandler
Expand Down
5 changes: 2 additions & 3 deletions system/Debug/Toolbar.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\I18n\Time;
use Config\Services;
use Config\Toolbar as ToolbarConfig;
use Kint\Kint;

Expand Down Expand Up @@ -386,7 +385,7 @@ public function prepare(?RequestInterface $request = null, ?ResponseInterface $r
return;
}

$toolbar = Services::toolbar(config(ToolbarConfig::class));
$toolbar = service('toolbar', config(ToolbarConfig::class));
$stats = $app->getPerformanceStats();
$data = $toolbar->run(
$stats['startTime'],
Expand Down Expand Up @@ -529,7 +528,7 @@ protected function format(string $data, string $format = 'html'): string
case 'html':
$data['styles'] = [];
extract($data);
$parser = Services::parser($this->config->viewsPath, null, false);
$parser = service('parser', $this->config->viewsPath, null, false);
ob_start();
include $this->config->viewsPath . 'toolbar.tpl.php';
$output = ob_get_clean();
Expand Down
4 changes: 1 addition & 3 deletions system/Debug/Toolbar/Collectors/Logs.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@

namespace CodeIgniter\Debug\Toolbar\Collectors;

use Config\Services;

/**
* Loags collector
*/
Expand Down Expand Up @@ -92,6 +90,6 @@ protected function collectLogs()
return $this->data;
}

return $this->data = Services::logger(true)->logCache ?? [];
return $this->data = service('logger', true)->logCache ?? [];
}
}
7 changes: 3 additions & 4 deletions system/Debug/Toolbar/Collectors/Routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
namespace CodeIgniter\Debug\Toolbar\Collectors;

use CodeIgniter\Router\DefinedRouteCollector;
use Config\Services;
use ReflectionException;
use ReflectionFunction;
use ReflectionMethod;
Expand Down Expand Up @@ -74,8 +73,8 @@ class Routes extends BaseCollector
*/
public function display(): array
{
$rawRoutes = Services::routes(true);
$router = Services::router(null, null, true);
$rawRoutes = service('routes', true);
$router = service('router', null, null, true);

// Get our parameters
// Closure routes
Expand Down Expand Up @@ -153,7 +152,7 @@ public function display(): array
*/
public function getBadgeValue(): int
{
$rawRoutes = Services::routes(true);
$rawRoutes = service('routes', true);

return count($rawRoutes->getRoutes());
}
Expand Down
4 changes: 1 addition & 3 deletions system/Debug/Toolbar/Collectors/Timers.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@

namespace CodeIgniter\Debug\Toolbar\Collectors;

use Config\Services;

/**
* Timers collector
*/
Expand Down Expand Up @@ -52,7 +50,7 @@ protected function formatTimelineData(): array
{
$data = [];

$benchmark = Services::timer(true);
$benchmark = service('timer', true);
$rows = $benchmark->getTimers(6);

foreach ($rows as $name => $info) {
Expand Down
Loading

0 comments on commit a9fa3d0

Please sign in to comment.