为什么要在相关链接中使用 base_url()(Codeigniter 等)
Why you should use base_url() in relative links (Codeigniter etc.)
为什么相对 links 我应该在 CodeIgniter 中始终使用语法 base_url+link?
例如:
<a href="<?php echo base_url()?>link22.php">
而不是
<a href="/link22.php'>
当我在 HTML 头中声明 <base href="<?php echo base_url()?>">
时?
有什么好处?
有时在开发时会有不同版本的文件夹结构,例如:
localhost/dev/ 或
localhost/beta/
您的实时网站可能有不同的命名方式,例如
epicapps.com/preview/
通过使用 base_url(),您可以映射到本地副本上的 localhost/beta/,
和 epicapps.com/preview 在您的 public 服务器上。
提示:您可以在主 index.php 页面上设置 base_url。喜欢
$assign_to_config['base_url'] = 'http://localhost/beta/';
并确保 application/config.php 中的基数 url 是空白的。 $config['base_url'] = '';
然后您可以将本地应用程序文件夹中的任何更改推送到服务器应用程序文件夹,并且应用程序中的配置文件不会弄乱您,因为 base_url 正在主 [=30= 中定义] 文件。
问得好。
短词(以下用到)
CI - 代码点火器
为什么要使用 base_url()
??
base_url()
是一个函数,它决定了你的项目目的地,在 php 中充当 $_SERVER['REQUEST_URI']
。这将知道您的实际项目包含在哪里。
我们在哪里可以 modify/define base_url()
??
Path - application/config/
File name - config.php
我们可以只使用 base_url()
函数吗?
没有。你不能。在 CI 他们有一些 libraries 和 helper 可以帮助我们更友好地使用 CI。所以对于 base_url()
有一个 helper 文件调用 url
。
如何加载??
Path - application/config/
File name - autoload.php
有这样的功能$autoload['helper'] = array();
。因此,将助手添加到
$autoload['helper'] = array('url');
有什么方法可以modify/define base_url()
??
是的。您可以定义两种方法 base_url()
方法01
$config['base_url'] = '';
方法02
$config['base_url'] = 'http://localhost/foldername/';
方法 01(M1) 和 方法 02(M2)[= 之间的区别38=]
M1 - 当我们留空时base_url
它会自动确定你的项目范围。因此,当您找不到路径或有疑问时,建议使用此方法。
M2 - 和M1没有区别,在这里你知道路径。所以可以定义它。
哪种方法good/recommended?
我的建议是方法01最好。
为什么我们使用 echo base_url()
而不是 base_url()
base_url()
是pre+defined(Codeigniter+User)在CI框架中的一个变量,我们可以在整个项目中使用。所以要显示 php
中变量的内容,我们使用 echo
。在这里也有同样的理论。
为什么这个 <a href="/link22.php'>
不起作用
使用 MVC 结构构建的 Codeigniter 框架。 (MVC 代表 Mmodel View Controller .)
因此,当打开您的项目时,它将调用 Controller,然后如果有任何来自数据库的传入值。它将从 Model 中获取,然后它将加载 View 中提到的相关 Controller.
如果此 link22.php
是与您的项目相关的文件,您必须将其放在 View 文件夹中。
我可以将 php 文件包含到另一个视图中吗
是的。你可以。为此你必须使用 APPPATH
.
示例 - 假设 link22.php
在 view/links/
中,所以你必须使用
APPPATH.'view/links/link22.php'
一些有用的链接
刚发现这个如果有人觉得有用就用这个
如果您在本地主机上使用自定义端口
在你的
中提及
application/config/config.php
$config['base_url'] = 'http://localhost:portNo';
为什么相对 links 我应该在 CodeIgniter 中始终使用语法 base_url+link? 例如:
<a href="<?php echo base_url()?>link22.php">
而不是
<a href="/link22.php'>
当我在 HTML 头中声明 <base href="<?php echo base_url()?>">
时?
有什么好处?
有时在开发时会有不同版本的文件夹结构,例如: localhost/dev/ 或 localhost/beta/
您的实时网站可能有不同的命名方式,例如 epicapps.com/preview/
通过使用 base_url(),您可以映射到本地副本上的 localhost/beta/, 和 epicapps.com/preview 在您的 public 服务器上。
提示:您可以在主 index.php 页面上设置 base_url。喜欢
$assign_to_config['base_url'] = 'http://localhost/beta/';
并确保 application/config.php 中的基数 url 是空白的。 $config['base_url'] = '';
然后您可以将本地应用程序文件夹中的任何更改推送到服务器应用程序文件夹,并且应用程序中的配置文件不会弄乱您,因为 base_url 正在主 [=30= 中定义] 文件。
问得好。
短词(以下用到)
CI - 代码点火器
为什么要使用 base_url()
??
base_url()
是一个函数,它决定了你的项目目的地,在 php 中充当 $_SERVER['REQUEST_URI']
。这将知道您的实际项目包含在哪里。
我们在哪里可以 modify/define base_url()
??
Path - application/config/
File name - config.php
我们可以只使用 base_url()
函数吗?
没有。你不能。在 CI 他们有一些 libraries 和 helper 可以帮助我们更友好地使用 CI。所以对于 base_url()
有一个 helper 文件调用 url
。
如何加载??
Path - application/config/
File name - autoload.php
有这样的功能$autoload['helper'] = array();
。因此,将助手添加到
$autoload['helper'] = array('url');
有什么方法可以modify/define base_url()
??
是的。您可以定义两种方法 base_url()
方法01
$config['base_url'] = '';
方法02
$config['base_url'] = 'http://localhost/foldername/';
方法 01(M1) 和 方法 02(M2)[= 之间的区别38=]
M1 - 当我们留空时base_url
它会自动确定你的项目范围。因此,当您找不到路径或有疑问时,建议使用此方法。
M2 - 和M1没有区别,在这里你知道路径。所以可以定义它。
哪种方法good/recommended?
我的建议是方法01最好。
为什么我们使用 echo base_url()
而不是 base_url()
base_url()
是pre+defined(Codeigniter+User)在CI框架中的一个变量,我们可以在整个项目中使用。所以要显示 php
中变量的内容,我们使用 echo
。在这里也有同样的理论。
为什么这个 <a href="/link22.php'>
不起作用
使用 MVC 结构构建的 Codeigniter 框架。 (MVC 代表 Mmodel View Controller .)
因此,当打开您的项目时,它将调用 Controller,然后如果有任何来自数据库的传入值。它将从 Model 中获取,然后它将加载 View 中提到的相关 Controller.
如果此 link22.php
是与您的项目相关的文件,您必须将其放在 View 文件夹中。
我可以将 php 文件包含到另一个视图中吗
是的。你可以。为此你必须使用 APPPATH
.
示例 - 假设 link22.php
在 view/links/
中,所以你必须使用
APPPATH.'view/links/link22.php'
一些有用的链接
刚发现这个如果有人觉得有用就用这个 如果您在本地主机上使用自定义端口 在你的
中提及application/config/config.php
$config['base_url'] = 'http://localhost:portNo';