MockCodeIgniter
        
        extends CodeIgniter
    
    
            
            in package
            
        
    
    
    
This class is the core of the framework, and will analyse the request, route it to a controller, and send back the response.
Of course, there are variations to that flow, but this is the brains.
Table of Contents
Constants
- CI_VERSION = '4.6.3'
- The current version of CodeIgniter Framework
Properties
- $benchmark : Timer
- Timer instance.
- $bufferLevel : int
- Application output buffering level
- $cacheTTL : int
- Cache expiration time
- $config : App
- Main application configuration
- $context : string|null
- Context web: Invoked by HTTP request php-cli: Invoked by CLI via `php public/index.php`
- $controller : (callable|string)|string|null
- Controller to use.
- $enableFilters : bool
- Whether to enable Control Filters.
- $method : string
- Controller method to invoke.
- $output : string
- Output handler to use.
- $pageCache : ResponseCache
- Web Page Caching
- $request : CLIRequest|IncomingRequest|null
- Current request.
- $response : ResponseInterface
- Current response.
- $returnResponse : bool
- Whether to return Response object or send response.
- $router : Router
- Router to use.
- $startTime : float|null
- App startup time.
- $totalTime : float
- Total app execution time
Methods
- __construct() : mixed
- Constructor.
- cache() : void
- Tells the app that the final output should be cached.
- cachePage() : bool
- Caches the full response from the current request. Used for full-page caching for very high performance.
- disableFilters() : void
- Disables Controller Filters.
- displayCache() : false|ResponseInterface
- Determines if a response has been cached for the given URI.
- displayPerformanceMetrics() : string
- Replaces the elapsed_time and memory_usage tag.
- getPerformanceStats() : array<string|int, mixed>
- Returns an array with our basic performance stats collected.
- initialize() : void
- Handles some basic app and environment setup.
- run() : ResponseInterface|null
- Launch the application!
- setContext() : $this
- Sets the app context.
- spoofRequestMethod() : void
- Modifies the Request Object to use a different method if a POST variable called _method is found.
- storePreviousURL() : void
- If we have a session object to use, store the current URI as the previous URI. This is called just prior to sending the response to the client, and will make it available next request.
- bootstrapEnvironment() : void
- Load any custom boot files based upon the current environment.
- callExit() : void
- Exits the application, setting the exit code for CLI-based applications that might be watching.
- createController() : Controller
- Instantiates the controller class.
- detectEnvironment() : void
- You can load different configurations depending on your current environment. Setting the environment also influences things like logging and error reporting.
- determinePath() : string
- Determines the path to use for us to try to route to, based on the CLI/IncomingRequest path.
- display404errors() : ResponseInterface|void
- Displays a 404 Page Not Found error. If set, will try to call the 404Override controller/method that was set in routing config.
- forceSecureAccess() : void
- Force Secure Site Access? If the config value 'forceGlobalSecureRequests' is true, will enforce that all requests to this site are made through HTTPS. Will redirect the user to the current page with HTTPS, as well as set the HTTP Strict Transport Security header for those browsers that support it.
- gatherOutput() : void
- Gathers the script output from the buffer, replaces some execution time tag in the output and displays the debug toolbar, if required.
- generateCacheName() : string
- Generates the cache name to use for our full-page caching.
- getRequestObject() : void
- Get our Request object, (either IncomingRequest or CLIRequest).
- getResponseObject() : void
- Get our Response object, and set some default values, including the HTTP protocol version and a default successful response.
- handleRequest() : ResponseInterface
- Handles the main request logic and fires the controller.
- initializeKint() : void
- Initializes Kint
- outputBufferingEnd() : string
- outputBufferingStart() : void
- resolvePlatformExtensions() : void
- Checks system for missing required PHP extensions.
- runController() : false|ResponseInterface|string|void
- Runs the controller, allowing for _remap methods to function.
- sendResponse() : void
- Sends the output of this request back to the client.
- startBenchmark() : void
- Start the Benchmark
- startController() : ResponseInterface|string|null
- Now that everything has been setup, this method attempts to run the controller method and make the script go. If it's not able to, will show the appropriate Page Not Found error.
- tryToRouteIt() : array<int, string>|string|null
- Try to Route It - As it sounds like, works with the router to match a route against the current URI. If the route is a "redirect route", will also handle the redirect.
Constants
CI_VERSION
The current version of CodeIgniter Framework
    public
        mixed
    CI_VERSION
    = '4.6.3'
    
    
    
    
Properties
$benchmark
Timer instance.
        protected
            Timer
    $benchmark
    
    
    
    
    
    
$bufferLevel
Application output buffering level
        protected
            int
    $bufferLevel
    
    
    
    
    
    
$cacheTTL
Cache expiration time
Moved to ResponseCache::$ttl. No longer used.
        protected
        static    int
    $cacheTTL
     = 0
    
        seconds
$config
Main application configuration
        protected
            App
    $config
    
    
    
    
    
    
$context
Context web: Invoked by HTTP request php-cli: Invoked by CLI via `php public/index.php`
        protected
            string|null
    $context
     = 'web'
    
    
    
    
    
$controller
Controller to use.
        protected
            (callable|string)|string|null
    $controller
    
    
    
    
    
    
$enableFilters
Whether to enable Control Filters.
        protected
            bool
    $enableFilters
     = true
    
    
    
    
    
$method
Controller method to invoke.
        protected
            string
    $method
    
    
    
    
    
    
$output
Output handler to use.
        protected
            string
    $output
    
    
    
    
    
    
$pageCache
Web Page Caching
        protected
            ResponseCache
    $pageCache
    
    
    
    
    
    
$request
Current request.
        protected
            CLIRequest|IncomingRequest|null
    $request
    
    
    
    
    
    
$response
Current response.
        protected
            ResponseInterface
    $response
    
    
    
    
    
    
$returnResponse
Whether to return Response object or send response.
No longer used.
        protected
            bool
    $returnResponse
     = false
    
    
    
    
    
$router
Router to use.
        protected
            Router
    $router
    
    
    
    
    
    
$startTime
App startup time.
        protected
            float|null
    $startTime
    
    
    
    
    
    
$totalTime
Total app execution time
        protected
            float
    $totalTime
    
    
    
    
    
    
Methods
__construct()
Constructor.
    public
                    __construct(App $config) : mixed
    Parameters
- $config : App
cache()
Tells the app that the final output should be cached.
    public
            static        cache(int $time) : void
    Moved to ResponseCache::setTtl(). No longer used.
Parameters
- $time : int
cachePage()
Caches the full response from the current request. Used for full-page caching for very high performance.
    public
                    cachePage(Cache $config) : bool
    No longer used.
Parameters
- $config : Cache
Return values
booldisableFilters()
Disables Controller Filters.
    public
                    disableFilters() : void
    displayCache()
Determines if a response has been cached for the given URI.
    public
                    displayCache(Cache $config) : false|ResponseInterface
    PageCache required filter is used. No longer used.
The parameter $config is deprecated. No longer used.
Parameters
- $config : Cache
Tags
Return values
false|ResponseInterfacedisplayPerformanceMetrics()
Replaces the elapsed_time and memory_usage tag.
    public
                    displayPerformanceMetrics(string $output) : string
    PerformanceMetrics required filter is used. No longer used.
Parameters
- $output : string
Return values
stringgetPerformanceStats()
Returns an array with our basic performance stats collected.
    public
                    getPerformanceStats() : array<string|int, mixed>
    Return values
array<string|int, mixed>initialize()
Handles some basic app and environment setup.
    public
                    initialize() : void
    run()
Launch the application!
    public
                    run([RouteCollectionInterface|null $routes = null ][, bool $returnResponse = false ]) : ResponseInterface|null
    This is "the loop" if you will. The main entry point into the script that gets the required class instances, fires off the filters, tries to route the response, loads the controller and generally makes all the pieces work together.
Parameters
- $routes : RouteCollectionInterface|null = null
- $returnResponse : bool = false
- 
                    Used for testing purposes only. 
Return values
ResponseInterface|nullsetContext()
Sets the app context.
    public
                    setContext("php-cli"|"web" $context) : $this
    Parameters
- $context : "php-cli"|"web"
Return values
$thisspoofRequestMethod()
Modifies the Request Object to use a different method if a POST variable called _method is found.
    public
                    spoofRequestMethod() : void
    storePreviousURL()
If we have a session object to use, store the current URI as the previous URI. This is called just prior to sending the response to the client, and will make it available next request.
    public
                    storePreviousURL(string|URI $uri) : void
    This helps provider safer, more reliable previous_url() detection.
Parameters
- $uri : string|URI
bootstrapEnvironment()
Load any custom boot files based upon the current environment.
    protected
                    bootstrapEnvironment() : void
    Moved to system/bootstrap.php.
If no boot file exists, we shouldn't continue because something is wrong. At the very least, they should have error reporting setup.
callExit()
Exits the application, setting the exit code for CLI-based applications that might be watching.
    protected
                    callExit(int $code) : void
    No longer Used. Moved to index.php.
Parameters
- $code : int
createController()
Instantiates the controller class.
    protected
                    createController() : Controller
    Return values
ControllerdetectEnvironment()
You can load different configurations depending on your current environment. Setting the environment also influences things like logging and error reporting.
    protected
                    detectEnvironment() : void
    No longer used. Moved to index.php and spark.
This can be set to anything, but default usage is:
development testing production
Tags
determinePath()
Determines the path to use for us to try to route to, based on the CLI/IncomingRequest path.
    protected
                    determinePath() : string
    No longer used.
Return values
stringdisplay404errors()
Displays a 404 Page Not Found error. If set, will try to call the 404Override controller/method that was set in routing config.
    protected
                    display404errors(PageNotFoundException $e) : ResponseInterface|void
    Parameters
Return values
ResponseInterface|voidforceSecureAccess()
Force Secure Site Access? If the config value 'forceGlobalSecureRequests' is true, will enforce that all requests to this site are made through HTTPS. Will redirect the user to the current page with HTTPS, as well as set the HTTP Strict Transport Security header for those browsers that support it.
    protected
                    forceSecureAccess([int $duration = 31536000 ]) : void
    No longer used. Moved to ForceHTTPS filter.
Parameters
- $duration : int = 31536000
- 
                    How long the Strict Transport Security should be enforced for this URL. 
gatherOutput()
Gathers the script output from the buffer, replaces some execution time tag in the output and displays the debug toolbar, if required.
    protected
                    gatherOutput([Cache|null $cacheConfig = null ][, ResponseInterface|string|null $returned = null ]) : void
    $cacheConfig is deprecated.
Parameters
- $cacheConfig : Cache|null = null
- 
                    Deprecated. No longer used. 
- $returned : ResponseInterface|string|null = null
generateCacheName()
Generates the cache name to use for our full-page caching.
    protected
                    generateCacheName(Cache $config) : string
    No longer used.
Parameters
- $config : Cache
Return values
stringgetRequestObject()
Get our Request object, (either IncomingRequest or CLIRequest).
    protected
                    getRequestObject() : void
    getResponseObject()
Get our Response object, and set some default values, including the HTTP protocol version and a default successful response.
    protected
                    getResponseObject() : void
    handleRequest()
Handles the main request logic and fires the controller.
    protected
                    handleRequest(RouteCollectionInterface|null $routes, Cache $cacheConfig[, bool $returnResponse = false ]) : ResponseInterface
    $returnResponse is deprecated.
Parameters
- $routes : RouteCollectionInterface|null
- $cacheConfig : Cache
- $returnResponse : bool = false
Tags
Return values
ResponseInterfaceinitializeKint()
Initializes Kint
    protected
                    initializeKint() : void
    Moved to Autoloader.
outputBufferingEnd()
    protected
                    outputBufferingEnd() : string
    Return values
stringoutputBufferingStart()
    protected
                    outputBufferingStart() : void
    resolvePlatformExtensions()
Checks system for missing required PHP extensions.
    protected
                    resolvePlatformExtensions() : void
    Moved to system/bootstrap.php.
Tags
runController()
Runs the controller, allowing for _remap methods to function.
    protected
                    runController(Controller $class) : false|ResponseInterface|string|void
    CI4 supports three types of requests:
- Web: URI segments become parameters, sent to Controllers via Routes, output controlled by Headers to browser
- PHP CLI: accessed by CLI via php public/index.php, arguments become URI segments, sent to Controllers via Routes, output varies
Parameters
- $class : Controller
Return values
false|ResponseInterface|string|voidsendResponse()
Sends the output of this request back to the client.
    protected
                    sendResponse() : void
    This is what they've been waiting for!
startBenchmark()
Start the Benchmark
    protected
                    startBenchmark() : void
    The timer is used to display total script execution both in the debug toolbar, and potentially on the displayed page.
startController()
Now that everything has been setup, this method attempts to run the controller method and make the script go. If it's not able to, will show the appropriate Page Not Found error.
    protected
                    startController() : ResponseInterface|string|null
    Return values
ResponseInterface|string|nulltryToRouteIt()
Try to Route It - As it sounds like, works with the router to match a route against the current URI. If the route is a "redirect route", will also handle the redirect.
    protected
                    tryToRouteIt([RouteCollectionInterface|null $routes = null ]) : array<int, string>|string|null
    Parameters
- $routes : RouteCollectionInterface|null = null
- 
                    A collection interface to use in place of the config file. 
Tags
Return values
array<int, string>|string|null —Route filters, that is, the filters specified in the routes file