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

一个CI十年高手给我的困惑,谁帮我解释一下??

[复制链接]
发表于 2014-4-13 14:18:36 | 显示全部楼层 |阅读模式
这个高手是这么做的,他讲CSS和JS还有图片放在VIEWS下,并且用相对路径的方式引用。它首先在config文件夹下的constants.php里面定义了这也一串代码.
define('_URL_',         '/');
define('_VIEWS_',       _URL_.'views/');
define('_CSS_',         _VIEWS_.'css/');
define('_LIBS_',        _VIEWS_.'libs/');
define('_JS_',          _VIEWS_.'js/');
define('_IMAGES_',      _VIEWS_.'images/');
define('_UPLOAD_',      _VIEWS_.'upload/');
然后再静态页面里是这样引用CSS 和JS的,例如<?=_CSS_?>common.css  重点是这么写并没有正确引入CSS和JS还有图片,其次这么写明显违反了框架的单一入口文件保证安全的初衷。但是我又实在不敢质疑一位号称十年CI大神的想法。困惑中....
希望大神解释。
发表于 2014-4-16 12:31:55 | 显示全部楼层
如此执行,看不出高手之处,仅一种便捷方法。

这样做可能是基于便捷性的考虑,比如很多cms系统增加主题,一次性只增加一个大文件夹即可,但是从开发角度来讲,会暴露不必要的信息,而且不便于将来静态文件的单独管理和迁移。我个人不赞成这么使用,一家之言,仅供参考。


有道理,但不同意属“开发角度”,应属“保安角度”。“静态文件的单独管理和迁移”属日常运作及维护范筹,是有点儿麻烦。

其实,若容许apache rewrite,可以使用rewrite来指向及隐藏具体目录地点,不须使用define。


CI是2006年2月8日首次公开发布的,“CI十年高手”?我也相当疑惑!
发表于 2014-4-16 10:51:59 | 显示全部楼层
这样做可能是基于便捷性的考虑,比如很多cms系统增加主题,一次性只增加一个大文件夹即可,但是从开发角度来讲,会暴露不必要的信息,而且不便于将来静态文件的单独管理和迁移。我个人不赞成这么使用,一家之言,仅供参考。
发表于 2014-5-7 18:33:11 | 显示全部楼层
明明写着“一个CI十年高手给我的困惑,谁帮我解释一下??”,忽然变成了“十年高手就是 PHP十年不是CI十年啦”

其实,“PHP十年”是否便是高手了?

十年前的技巧,当年也许有点巧妙,今天看来,仍会是巧妙么?
 楼主| 发表于 2014-4-13 14:19:30 | 显示全部楼层
顺便说一声我和这位大神之是神交,没见面过也没说过话。不要让我去问他 我压根不知道他是谁。
发表于 2014-4-14 00:58:43 | 显示全部楼层
目测这样是可以正确引入CSS、Img、JS等静态文件的
 楼主| 发表于 2014-4-14 08:00:00 | 显示全部楼层
neovenpo 发表于 2014-4-14 00:58
目测这样是可以正确引入CSS、Img、JS等静态文件的

是可以的吗 我怎么引得不成功啊
发表于 2014-4-14 10:49:17 | 显示全部楼层
_CSS_,你这几个下划线?
发表于 2014-4-14 17:59:04 | 显示全部楼层
可以使可以,前提条件是你得在.htaccess这个文件里面配置你的图片和样式表文件夹可以访问,默认是deny的
 楼主| 发表于 2014-4-14 20:47:54 | 显示全部楼层
smilecc123 发表于 2014-4-14 17:59
可以使可以,前提条件是你得在.htaccess这个文件里面配置你的图片和样式表文件夹可以访问,默认是deny的 ...

谢谢了我一猜就是 这个文件没有设置
 楼主| 发表于 2014-4-14 20:48:19 | 显示全部楼层
ginnerpeace 发表于 2014-4-14 10:49
_CSS_,你这几个下划线?

一个下划线 不是两个 这个是用defind定义的
发表于 2014-4-16 11:02:42 | 显示全部楼层
把路径定义成常量,掉用,他这个,我觉得把简单的事情复杂化了

本版积分规则