在 CodeIgniter 4.0.2 中设置动态基 URL

Ros*_*han 0 codeigniter base-url php-7 codeigniter-4

我正在将我的项目从 CodeIgniter 3 迁移到 CodeIgniter 4。我对框架的新结构感到困惑。所以这是我的问题,

我在App.php 中将我的基本网址设置为:

protected $proj_root= "http://".$_SERVER['HTTP_HOST'];
protected $proj_root2  = str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
protected $mybase= $proj_root.$proj_root2;
public $baseURL =  $mybase;
Run Code Online (Sandbox Code Playgroud)

但我收到这样的错误:

致命错误:常量表达式在第 26 行的 D:\xampp\htdocs\delivery_dashboard\app\Config\App.php 中包含无效操作

所以从字面上看,我只能这样做:

public $baseURL = "http://localhost/my_project/"
Run Code Online (Sandbox Code Playgroud)

如何使用动态设置我的基本 url$_SERVER['HTTP_HOST']或者这里有任何解决方法?

谢谢您的帮助!

Boo*_*ngo 6

我不知道确切的解决方案,但我与您分享了我的解决方案转到 app/Config/ Constants.php

    $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https://'.$_SERVER['HTTP_HOST'] : 'http://'.$_SERVER['HTTP_HOST'];
    defined('BASE') || define('BASE',$protocol);
Run Code Online (Sandbox Code Playgroud)

在 app/Config/ App.php

 public $baseURL    = BASE;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助