CI 框架小白 路径和this问题,急求
研究了几天了还是没有结果,特来求助路径问题还有一个this问题:
1.我跑我同学的一小段源代码,想试着学CI框架,以下是引用CSS的代码
<link rel="stylesheet" href="/public/assets/wechat/css/framework7.ios.min.css">
在访问后,该CSS样式提示404,我同学电脑上的访问是正常的
我改成<link rel="stylesheet" href="/moly/public/assets/wechat/css/framework7.ios.min.css">后正常,moly是这个项目的名称,CSS和JS文件都在moly/public文件夹下,public是根目录下的文件夹,即我如果使用绝对路径是可以访问的,base_url已经设置过了$config['base_url'] = 'http://127.0.0.1:80/moly/';
那我就想问了,CI框架的相对路径的逻辑是什么,是不是他在自己电脑上配置了什么其他路经所以他这样访问没问题,这个相对路径的原理具体是什么?求解答,本菜鸟也刚刚接触PHP
2.第二个问题,就是$this指向的问题,就是想请问一下,base_url的引用必须要先加载帮助函数,两种方式,一种就是$this->load->helper('url'),那我就想问了,这段代码是不是不能放在视图中?我试了确实报错,报错原因应该是指this没有声明过,然后我去网上查了,网上说必须放在class当中,让我联想到了C里面的指针,你必须先构造才能引用吗?是这样的意思吗?我不太懂,然后我看了网上说在视图页面的php中也可以写这段加载,那我要怎么写?难道写个class吗?
所有的路径都是相对index.php来的,视图中的$this并没实例化,如果非要用,就拿取超级对象 1.
**官方文件你在看仔細一點。文件都說得很清楚
另外,現在你開發的專案都是在自己的主機上,當移至到伺服端時,就吃不太到,這邊會建議用絕對路徑
原本:
<link rel="stylesheet" href="/public/assets/wechat/css/framework7.ios.min.css">
改成:
<link rel="stylesheet" href="<?php echo base_url('public/assets/wechat/css/framework7.ios.min.css') ?>">
base_url 是跑出你最基本的URL ,也就是你的$_SERVE['REMOTE_ADDR']
測試主機的URL = http://127.0.0.1:80/test(專案名稱)
伺服端的URL = http://test.com.cn/
2.
application / config / autoload.php
這隻檔案可以預先載入你所需要的涵式
所有的程式皆能使用
另外
view 盡量不要出現 controller 和 model 的code ,不然整個亂糟糟不好維護
上述提到你已經事先載入 helper的url
就可以直接在view 上面呈現 base_url
大概是這樣
页:
[1]