php - 为什么应该在相关链接(Codeigniter 等)中使用 base_url()

标签 php codeigniter relative-path base-url

为什么在 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 中,他们有一些 libraryhelper 可以帮助我们更友好地使用 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'

一些有用的链接

  1. URL Helper

关于php - 为什么应该在相关链接(Codeigniter 等)中使用 base_url(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33481676/

相关文章:

javascript - 是否可以显示带有 url 的 div?

php - 如何在 Laravel 中包含遗留 PHP 代码层次结构

php - 在 CodeIgniter 中分别将多维数组显示到表行中

php - CodeIgniter:无法打开流:没有这样的文件或目录

javascript - nodeJS require.paths 解决问题

c# - 嵌套母版页和 CSS 文件

php - 二十四主题 - 标题删除/条目标题

php - 更新 Laravel 中的数组数据

php - CakePHP 空字段与非空字段验证

php - 无法在数据库 PHP、Codeigniter 中搜索现有值