Skip to content

Commit

Permalink
Merge pull request #8607 from kenjis/feat-Services-get
Browse files Browse the repository at this point in the history
perf: add Services::get()
  • Loading branch information
kenjis authored Mar 7, 2024
2 parents 48e0bea + 1db8db6 commit 452543e
Show file tree
Hide file tree
Showing 54 changed files with 209 additions and 189 deletions.
3 changes: 1 addition & 2 deletions system/API/ResponseTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
use CodeIgniter\Format\FormatterInterface;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\ResponseInterface;
use Config\Services;

/**
* Provides common, more readable, methods to provide
Expand Down Expand Up @@ -307,7 +306,7 @@ protected function failServerError(string $description = 'Internal Server Error'
*/
protected function format($data = null)
{
$format = Services::format();
$format = service('format');

$mime = ($this->format === null) ? $format->getConfig()->supportedResponseFormats[0]
: "application/{$this->format}";
Expand Down
2 changes: 1 addition & 1 deletion system/BaseModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -1266,7 +1266,7 @@ public function errors(bool $forceDB = false)
public function paginate(?int $perPage = null, string $group = 'default', ?int $page = null, int $segment = 0)
{
// Since multiple models may use the Pager, the Pager must be shared.
$pager = Services::pager();
$pager = service('pager');

if ($segment !== 0) {
$pager->setSegment($segment, $group);
Expand Down
3 changes: 1 addition & 2 deletions system/CLI/GeneratorTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
namespace CodeIgniter\CLI;

use Config\Generators;
use Config\Services;
use Throwable;

/**
Expand Down Expand Up @@ -417,7 +416,7 @@ protected function buildPath(string $class): string
$namespace = $this->getNamespace();

// Check if the namespace is actually defined and we are not just typing gibberish.
$base = Services::autoloader()->getNamespace($namespace);
$base = service('autoloader')->getNamespace($namespace);

if (! $base = reset($base)) {
CLI::error(
Expand Down
8 changes: 4 additions & 4 deletions system/CodeIgniter.php
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ protected function handleRequest(?RouteCollectionInterface $routes, Cache $cache
$uri = $this->request->getPath();

if ($this->enableFilters) {
$filters = Services::filters();
$filters = service('filters');

// If any filters were specified within the routes file,
// we need to ensure it's active for the current request
Expand Down Expand Up @@ -518,7 +518,7 @@ protected function handleRequest(?RouteCollectionInterface $routes, Cache $cache
$this->gatherOutput($cacheConfig, $returned);

if ($this->enableFilters) {
$filters = Services::filters();
$filters = service('filters');
$filters->setResponse($this->response);

// Run "after" filters
Expand Down Expand Up @@ -649,7 +649,7 @@ protected function getRequestObject()
Services::createRequest($this->config);
}

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

$this->spoofRequestMethod();
}
Expand Down Expand Up @@ -817,7 +817,7 @@ protected function tryToRouteIt(?RouteCollectionInterface $routes = null)
$this->benchmark->start('routing');

if ($routes === null) {
$routes = Services::routes()->loadRoutes();
$routes = service('routes')->loadRoutes();
}

// $routes is defined in Config/Routes.php
Expand Down
3 changes: 1 addition & 2 deletions system/Commands/Database/Migrate.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use Config\Services;
use Throwable;

/**
Expand Down Expand Up @@ -68,7 +67,7 @@ class Migrate extends BaseCommand
*/
public function run(array $params)
{
$runner = Services::migrations();
$runner = service('migrations');
$runner->clearCliMessages();

CLI::write(lang('Migrations.latest'), 'yellow');
Expand Down
3 changes: 1 addition & 2 deletions system/Commands/Database/MigrateRollback.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use Config\Services;
use Throwable;

/**
Expand Down Expand Up @@ -79,7 +78,7 @@ public function run(array $params)
// @codeCoverageIgnoreEnd
}

$runner = Services::migrations();
$runner = service('migrations');

try {
$batch = $params['b'] ?? CLI::getOption('b') ?? $runner->getLastBatch() - 1;
Expand Down
5 changes: 2 additions & 3 deletions system/Commands/Database/MigrateStatus.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use Config\Services;

/**
* Displays a list of all migrations and whether they've been run or not.
Expand Down Expand Up @@ -83,11 +82,11 @@ class MigrateStatus extends BaseCommand
*/
public function run(array $params)
{
$runner = Services::migrations();
$runner = service('migrations');
$paramGroup = $params['g'] ?? CLI::getOption('g');

// Get all namespaces
$namespaces = Services::autoloader()->getNamespace();
$namespaces = service('autoloader')->getNamespace();

// Collection of migration status
$status = [];
Expand Down
7 changes: 3 additions & 4 deletions system/Commands/Generators/TestGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use CodeIgniter\CLI\GeneratorTrait;
use Config\Services;

/**
* Generates a skeleton command file.
Expand Down Expand Up @@ -82,7 +81,7 @@ public function run(array $params)

$this->classNameLang = 'CLI.generator.className.test';

$autoload = Services::autoloader();
$autoload = service('autoloader');
$autoload->addNamespace('CodeIgniter', TESTPATH . 'system');
$autoload->addNamespace('Tests', ROOTPATH . 'tests');

Expand Down Expand Up @@ -112,7 +111,7 @@ protected function getNamespace(): string
$class = $this->normalizeInputClassName();
$classPaths = explode('\\', $class);

$namespaces = Services::autoloader()->getNamespace();
$namespaces = service('autoloader')->getNamespace();

while ($classPaths !== []) {
array_pop($classPaths);
Expand Down Expand Up @@ -176,7 +175,7 @@ protected function buildPath(string $class): string
*/
private function searchTestFilePath(string $namespace): ?string
{
$bases = Services::autoloader()->getNamespace($namespace);
$bases = service('autoloader')->getNamespace($namespace);

$base = null;

Expand Down
3 changes: 1 addition & 2 deletions system/Commands/Utilities/FilterCheck.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use CodeIgniter\Commands\Utilities\Routes\FilterCollector;
use Config\Services;

/**
* Check filters for a route.
Expand Down Expand Up @@ -88,7 +87,7 @@ public function run(array $params)
$route = $params[1];

// Load Routes
Services::routes()->loadRoutes();
service('routes')->loadRoutes();

$filterCollector = new FilterCollector();

Expand Down
3 changes: 1 addition & 2 deletions system/Commands/Utilities/Namespaces.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
use Config\Autoload;
use Config\Services;

/**
* Lists namespaces set in Config\Autoload with their
Expand Down Expand Up @@ -96,7 +95,7 @@ private function outputAllNamespaces(array $params): array
{
$maxLength = $params['m'];

$autoloader = Services::autoloader();
$autoloader = service('autoloader');

$tbody = [];

Expand Down
5 changes: 2 additions & 3 deletions system/Commands/Utilities/Routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
use CodeIgniter\Router\Router;
use Config\Feature;
use Config\Routing;
use Config\Services;

/**
* Lists all the routes. This will include any Routes files
Expand Down Expand Up @@ -88,13 +87,13 @@ public function run(array $params)

// Set HTTP_HOST
if ($host) {
$request = Services::request();
$request = service('request');
$_SERVER = $request->getServer();
$_SERVER['HTTP_HOST'] = $host;
$request->setGlobal('server', $_SERVER);
}

$collection = Services::routes()->loadRoutes();
$collection = service('routes')->loadRoutes();

// Reset HTTP_HOST
if ($host) {
Expand Down
3 changes: 1 addition & 2 deletions system/Commands/Utilities/Routes/ControllerFinder.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
namespace CodeIgniter\Commands\Utilities\Routes;

use CodeIgniter\Autoloader\FileLocatorInterface;
use CodeIgniter\Config\Services;

/**
* Finds all controllers in a namespace for auto route listing.
Expand All @@ -36,7 +35,7 @@ final class ControllerFinder
public function __construct(string $namespace)
{
$this->namespace = $namespace;
$this->locator = Services::locator();
$this->locator = service('locator');
}

/**
Expand Down
4 changes: 2 additions & 2 deletions system/Commands/Utilities/Routes/FilterCollector.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ public function getRequiredFilters(): array

private function createRouter(Request $request): Router
{
$routes = Services::routes();
$routes = service('routes');

if ($this->resetRoutes) {
$routes->resetRoutes();
Expand All @@ -114,6 +114,6 @@ private function createFilters(Request $request): Filters
{
$config = config(FiltersConfig::class);

return new Filters($config, $request, Services::response());
return new Filters($config, $request, service('response'));
}
}
5 changes: 2 additions & 3 deletions system/Commands/Utilities/Routes/FilterFinder.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
use CodeIgniter\HTTP\Exceptions\RedirectException;
use CodeIgniter\Router\Router;
use Config\Feature;
use Config\Services;

/**
* Finds filters.
Expand All @@ -32,8 +31,8 @@ final class FilterFinder

public function __construct(?Router $router = null, ?Filters $filters = null)
{
$this->router = $router ?? Services::router();
$this->filters = $filters ?? Services::filters();
$this->router = $router ?? service('router');
$this->filters = $filters ?? service('filters');
}

private function getRouteFilters(string $uri): array
Expand Down
3 changes: 1 addition & 2 deletions system/Commands/Utilities/Routes/SampleURIGenerator.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\Router\RouteCollection;
use Config\App;

Expand Down Expand Up @@ -42,7 +41,7 @@ final class SampleURIGenerator

public function __construct(?RouteCollection $routes = null)
{
$this->routes = $routes ?? Services::routes();
$this->routes = $routes ?? service('routes');
}

/**
Expand Down
Loading

0 comments on commit 452543e

Please sign in to comment.