![](/img/trans.png)
[英]How to define separate URL for assets (CSS, JS, Etc. ) like base_url(); in Codeigniter?
[英]Why you should use base_url() in relative links (Codeigniter etc.)
为什么在相对链接中我应该总是在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。
提示:您可以在主index.php页面上设置base_url。 喜欢
$assign_to_config['base_url'] = 'http://localhost/beta/';
并确保在application / config.php中,基本URL为空。 $config['base_url'] = '';
然后,您可以将任何更改从本地应用程序文件夹推送到服务器应用程序文件夹,并且应用程序中的配置文件不会弄乱您,因为base_url正在主index.php文件中定义。
好问题。
简短的词 (在下面使用)
CI - Codeigniter
base_url()
? base_url()
是一个函数,它确定你的项目目的地,在php中充当$_SERVER['REQUEST_URI']
。 这将知道您的实际项目包含的位置。
base_url()
?? Path - application/config/
File name - config.php
base_url()
函数吗? 不,你不能。 在CI中他们有一些库和帮助器 ,这有助于我们使用CI更友好。 所以对于base_url()
有一个帮助文件调用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'>
不起作用 Codeigniter框架使用MVC结构构建。 ( MVC代表M odel V iew C ontroller。)
因此,当打开您的项目时,它将调用Controller ,然后是否有来自Database的传入值。 它将从模型中获取,然后它将加载Controller中提到的相关视图 。
如果此link22.php
是项目的某个相关文件,则必须将其放在View文件夹中。
是。 您可以。 为此你必须使用APPPATH
。
示例 - 假设link22.php
在view/links/
所以你必须使用
APPPATH.'view/links/link22.php'
一些有用的链接
如果你在你的本地主机提醒中使用自定义端口,那么如果有人发现这有用,那就发现这个用了
应用/配置/ config.php中
$config['base_url'] = 'http://localhost:portNo';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.