为什么在 CodeIgniter 中我应该总是在相对链接中使用语法 base_url+link? 例如:
<a href="<?php echo base_url()?>link22.php">
代替
<a href="/link22.php'>
当我声明 <base href="<?php echo base_url()?>">
在 HTML 头部?
有什么好处?
最佳答案
好问题。
短词(在下面使用)
CI - 代码点火器
为什么要使用 base_url()
??
base_url()
是一个确定您的项目目标的函数,它充当 $_SERVER['REQUEST_URI']
在 php 中这将知道您的实际项目包含在哪里。
我们可以在哪里修改/定义base_url()
??
Path - application/config/
File name - config.php
我们可以只使用base_url()
吗?功能?
没有。你不能。在 CI 中,他们有一些 library 和 helper 可以帮助我们更友好地使用 CI。所以到base_url()
有一个 helper 文件调用 url
强>。
如何加载??
Path - application/config/
File name - autoload.php
有这样的函数$autoload['helper'] = array();
.所以将助手添加到那个
$autoload['helper'] = array('url');
有没有什么方法可以修改/定义base_url()
??
是的。您可以定义两种方法 base_url()
方法01
$config['base_url'] = '';
方法02
$config['base_url'] = 'http://localhost/foldername/';
方法 01(M1) 和方法 02(M2) 之间的区别
M1 - 当我们保持空 base_url
它将自动确定您的项目范围。因此,当您找不到路径或有疑问时,推荐使用此方法。
M2 - M1 没有区别,在这里你知道路径。所以可以定义它。
哪种方法好/推荐?
我的建议是方法 01 是最好的。
为什么我们使用 echo base_url()
而不仅仅是 base_url()
base_url()
是在 CI 框架中预定义(Codeigniter+User) 的变量,我们可以在整个项目中使用它。所以要显示php
中变量的内容, 我们使用 echo
.在这里也有同样的理论。
为什么会这样<a href="/link22.php'>
不会工作
使用 MVC 结构构建的 Codeigniter 框架。 (MVC 代表 Mmodel Vview Ccontroller。)
因此,当打开您的项目时,它将调用 Controller,然后如果有任何来自数据库的传入值。它将从 Model 获取,然后加载相关的 view,这在 Controller 中提到。
如果这个link22.php
是一些与您的项目相关的文件,您必须将其放在 View 文件夹中。
我可以将 php 文件包含到另一个 View 吗
是的。你可以。为此你必须使用 APPPATH
.
示例 - 假设 link22.php
在里面view/links/
所以你必须使用
APPPATH.'view/links/link22.php'
一些有用的链接
关于php - 为什么应该在相关链接(Codeigniter 等)中使用 base_url(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33481676/