用户
 找回密码
 入住 CI 中国社区
搜索
查看: 549|回复: 3
收起左侧

[URL] CI 框架小白 路径和this问题,急求

[复制链接]
发表于 2018-2-12 16:05:56 | 显示全部楼层 |阅读模式
研究了几天了还是没有结果,特来求助
路径问题还有一个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吗?
发表于 2018-2-22 15:13:48 | 显示全部楼层
所有的路径都是相对index.php来的,视图中的$this并没实例化,如果非要用,就拿取超级对象
发表于 2018-3-6 13:41:43 | 显示全部楼层
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

大概是這樣

本版积分规则