Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: Improve call as service() #9248

Merged
merged 2 commits into from
Nov 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading