Welcome Guest, Not a member yet? Register   Sign In
Dynamically changing supported languages
#16

(This post was last modified: 11-01-2021, 09:24 AM by chronic.)

Thanks includebeer, after some changes to your code I was able to get the result I wanted.
Everything seems to work as it should, I hope I have not left out something important and that this does not create problems with future versions of codeigniter.


app\Libraries\IncomingRequest.php

PHP Code:
<?php

namespace App\Libraries;

use 
CodeIgniter\HTTP\IncomingRequest as BaseIncomingRequest;

class 
IncomingRequest extends BaseIncomingRequest
{
    public function __construct($config$uri null$body 'php://input'$userAgent null)
    {
        parent::__construct($config$uri$body$userAgent);

        // your code here
        $this->validLocales service('settings')->get('App.supportedLocales');
    }


app\Config\Services.php

PHP Code:
<?php

namespace Config;

use 
CodeIgniter\Config\BaseService;
use 
App\Libraries\IncomingRequest;
use 
CodeIgniter\HTTP\UserAgent;
use 
Config\App;
use 
Config\Services as AppServices;

/**
 * Services Configuration file.
 *
 * Services are simply other classes/libraries that the system uses
 * to do its job. This is used by CodeIgniter to allow the core of the
 * framework to be swapped out easily without affecting the usage within
 * the rest of your application.
 *
 * This file holds any application-specific services, or service overrides
 * that you might need. An example has been included with the general
 * method format you should use for your service methods. For more examples,
 * see the core Services file at system/Config/Services.php.
 */
class Services extends BaseService
{
 
// public static function example($getShared = true)
 // {
 //    if ($getShared)
 //    {
 //        return static::getSharedInstance('example');
 //    }
 //
 //    return new \CodeIgniter\Example();
 // }

 /**
 * The Request class models an HTTP request.
 *
 * @return IncomingRequest
 */
 
public static function request(?App $config nullbool $getShared true)
 {
 if (
$getShared)
 {
 return static::
getSharedInstance('request'$config);
 }

 
$config $config ?? config('App');

 return new 
IncomingRequest(
 
$config,
 
AppServices::uri(),
 
'php://input',
 new 
UserAgent()
 );
 }

Reply


Messages In This Thread
RE: Dynamically changing supported languages - by chronic - 11-01-2021, 09:23 AM



Theme © iAndrew 2016 - Forum software by © MyBB