ThinkPHP5.0模板引入静态资源问题

ThinkPHP是目前流行的PHP开发框架之一,其最新版本是ThinkPHP5.0,与ThinkPHP3.1、ThinkPHP3.2版本不同的是,ThinkPHP5.0采用了模块化的设计方式,因此,Okeyja在使用新版本ThinkPHP的时候遇到了很多问题。今天我们来探讨一下关于静态资源(如:CSS、JS等)的访问问题。

ThinkPHP3.x版本提供了一个全局环境变量__PUBLIC__,因此可以直接写入<link/><img/>或<script>标签的href或src中。在ThinkPHP5.0版本中,很不幸地移除了这个功能,因此显得麻烦。

另外一个特别不同的地方是,ThinkPHP5.0的入口文件index.php不在根目录中,而是放在/public/中,而我们可以在/public/目录中找到一个叫/public/static/的目录,这里就是存放静态资源的地址了!

我们在比如/app/admin/index/login.html模板中要引用静态资源的时候,必须使用

<script src="/public/static/js/jQuery.min.js"></script>

的方式来调用,或者使用默认的模板方式

{js href="/public/static/js/jQuery.min.js"}

注意,在使用相对路径的时候一定要在“public”前面加斜杠,否则ThinkPHP的路由系统将会将public解析为admin下的一个方法。

我们在进行静态文件管理的时候可以尽量将static下分出模块,比如可以将index、admin等模块分出来,以方便调用。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注