PHP在PHP中设置全局常量中的硬编码URL
PHP Setting hardcoded URL in Global Constant in PHP
有人能帮我如何避免PHP中的硬编码URL吗?这样,当你的网站已经准备好运行时,你就不必查找所有文件并编辑所有硬编码的URL。
通过这种方式,我创建了一个Global.php在我的Global.php上我这里有这些代码。
define("main", "http://mainpage.com");
define("registration", "http://mainpage.com/register");
define("login", ""http://mainpage.com/login");
在我的其他网站上,我有一个注册页面。当我想使用我的全球声明时,我会这样做。
<html>
<body>
<?php include'../Global.php'; ?>
<div class="nav">
<div class="navcontainer">
<div class="twelve columns">
<ul id="menu">
<li><a href="<?php echo $mainpage;?>">
mainpage</button></a></li>
<li><a href="<?php echo $register;?>"> <button class="navbutton">
register</button></a></li>
<li><a href="<?php echo $login;?>"><button class="navbutton">
Log in</button></a></li>
</ul>
</div>
</div>
</div>
</div>
</body>
</html>
我注意到,在我的Global.php上,我的域总是重复的。。我想做的是,我只需要定义主页面,然后将主页面连接到页面的目录路径或文件名。。
Global.php
define("main", "http://mainpage.com");
<html>
<body>
<?php include'../Global.php'; ?>
<div class="nav">
<div class="navcontainer">
<div class="twelve columns">
<ul id="menu">
<li><a href="<?php echo $mainpage";? >">
mainpage</button></a></li>
<li><a href="<?php echo $mainpage . "/register";?>"><button class="navbutton">
register</button></a></li>
<li><a href="<?php echo $main page . "/login";?>"><button class="navbutton">
Log in</button></a></li>
</ul>
</div>
</div>
</div>
</div>
</body>
</html>
但这次赢了不起作用。有人能帮我如何获取页面的目录文件和/或文件名,并将其与全局定义主页连接吗?
您的问题只是语法错误。
首先,定义main
常量,然后在HTML页面中尝试回显mainpage
变量。不是同一个名字,不是同一种…
下面的代码就像一个魅力
<?php
define("MAINPAGE", "http://mainpage.com");
?>
<html>
<body>
<div class="nav">
<div class="navcontainer">
<div class="twelve columns">
<ul id="menu">
<li><a href="<?=MAINPAGE?>"> mainpage</a></li>
<li><a href="<?=MAINPAGE . '/register'?>">
<button class="navbutton">register</button></a></li>
<li><a href="<?=MAINPAGE . '/login'?>">
<button class="navbutton">Log in</button></a></li>
</ul>
</div>
</div>
</div>
</div>
</body>
</html>
您会注意到,我使用的是短标记<?=expr?>
,其中expr可以是任何有效的PHP表达式,使用常量、变量和运算符。它只是<?php echo expr;?>
的简写。
带寄存器的行相当于:
<li><a href="<?php echo MAINPAGE . '/register';?>">
我使用了一个常数,但我本可以定义一个变量:
$mainpage = "http://mainpage.com";
那么上一行将是:
<li><a href="<?=$mainpage . '/register'?>">
当然,您不需要PHP来进行附加:
<li><a href="<?=MAINPAGE?>/register">
您可以使用相对URL-您不必http://example.com,用途:
<a href="/main.php">Main</a>
它将在任何域中工作。
编辑:如果main.php不直接位于http://example.com/,您需要在它前面加上到达它的路径,例如:
define('URLBASE', '/path/to');
<a href="<?php echo URLBASE ?>/main.php">Main</a>
是否选择使用<?=或者<?php取决于您的php版本、配置和个人偏好。
如前所述,导航栏的最佳方式是相对寻址。
<li><a href="index.php">
<button class="navbutton">Home</button></a></li>
<li><a href="registration.php">
<button class="navbutton">Register</button></a></li>
<li><a href="login.php">
<button class="navbutton">Log in</button></a></li>
我还发现需要用常量定义href链接。在php配置文件中:
Define('SOCIAL_MEDIA_FACEBOOK' ,'');
在HTML/PHP导航文件中:
<?php if(SOCIAL_MEDIA_FACEBOOK != '') { ?>
<a href="<?=SOCIAL_MEDIA_FACEBOOK?>">
<img src="images/Facebook.png"></a>
<?php } ?>
这样,当我将代码提供给客户端时,没有Facebook图标,util客户端提供了一个链接。
- 使用php或javascript从facebook相册URL中删除多余的部分
- 通过传递图像的URL通过javascript读取/处理图像-类似于PHP中的file_get_contents
- 可以't使用PHP使用Froala编辑器上传图像URL
- 使用PHP和ajax传递URL不太正常的变量
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 如何删除在PHP中打印网页时显示的URL
- 如何在JS中编码URL并在PHP中解码
- 如何在PHP中使用url保护我的图像和文件夹免受直接访问
- 使用php或javascript根据某种url代码更改网页中的图片
- 将php页面URL中的变量传递给JavaScript和另一个php
- 获取PHP URL的JS值
- 如何用php url返回的JSON对象填充表
- Node.js:从 PHP URL 下载(自动生成的)文件
- 从 AngularJS 工厂中的 PHP url 获取 JSON
- PHP URL变量转换为Javascript
- Execute php url from jscript
- PHP - URL重定向的奇怪行为
- PHP URL重写和锚Javascript
- 动态PHP URL Ajax加载URL
- 如何使用index.php?-url与colorbox