PHP全局设置URL并在每个页面中调用它


PHP Setting URL Globally and Call it in every page

我希望所有硬编码的URL将仅保存在1个php文件中。让我们命名它。Global.php当我有硬编码的变量url时。我将它保存在Global.php中。

例如

define("MAIN", "http://mainpage.com");
define("LOGIN", "http://mainpage.com/login");
define("REGISTER", "http://mainpage.com/register"):

比如说。我有一个登录页面…

我将尝试使用全局定义的URL,这样可以避免硬编码的URL .

login。

include'../Global.php';
                 <ul>
                    <li><a href="<?php echo REGISTER; ?>">REGISTER</a></li>     
                    <li><a href="<?php echo LOGIN; ?>">LOG IN</a></li>
                </ul>

像上面一样,但问题是在我的Global.php。域名"http://mainpage.com"在Global..中被反复使用。我想要实现的是在Global.php中设置域名,并且每个页面的子域名和目录文件应该连接到全局定义域。我怎么能做到呢?

我已经研究了另一个这样的解决方案:

define("LOGIN", "/login");
define("REGISTER", "/register"):

include'../Global.php';
                 <ul>
                    <li><a href="<?php echo REGISTER; ?>">REGISTER</a></li>     
                    <li><a href="<?php echo LOGIN; ?>">LOG IN</a></li>
                </ul>

但是有时候当我点击Register时,它会指向

http://mainpage/REGISTER

应该指向

http://mainpage/register

有时指向http://mainpage/REGISTER有时指向http://mainpage/register

我怎样才能避免呢?

我认为最好的是……例如. .

在我的Global.php我想我应该声明域名页面,然后将全局域名页面连接到我页面的每一个子域名页面。

就像这样…

define("MAIN", "http://mainpage/");

我想将全局定义域连接到我硬编码url的每个页面中。我怎样才能做到呢?

例如

在我的index.php (MAINPAGE)这里有一个按钮命名为LOGINREGISTER

所以在我的代码中。我想成为这样的人…

include'../Global.php';
                 <ul>
                    <li><a href="<?php echo REGISTER . (Whatever subdomain name that register is and concatenate to global define domain); ?>">REGISTER</a></li>        
                    <li><a href="<?php echo LOGIN . (Whatever subdomain name that login is and concatenate to global define domain); ?>">LOG IN</a></li>
                </ul>

我有不同的登录和注册页面。但我认为,我是错误的连接全局定义域到子域和目录文件。如何获取页面的子域和目录文件并将其放入变量并将其连接到全局定义

有人能帮我吗?

您面临的问题发生,因为您的REGISTER常数使用以/开始的无域链接,这意味着它将采用当前域并添加链接到它。

为了解决这个问题,你可以加载Global.php文件,然后使用已经定义的域名定义REGISTER常量。

例如:

include'../Global.php';
// notice that you need to include global.php before using MAIN constant
define("LOGIN", MAIN . "/login");
define("REGISTER", MAIN . "/register");

你就不能把它放在你的globals文件中吗?

<?php
  define("MAIN", "http://website.com");
  define("LOGIN", MAIN . "/login");
  define("REGISTER", MAIN . "/register");

然后在其他文件中:

<?php include "../Global.php"; ?>
<ul>
  <li><a href='<?php echo LOGIN; ?>'></a></li>
  <li><a href='<?php echo REGISTER; ?>'></a></li>
</ul>

如果我正确理解了你的问题,应该可以正常工作。