thinkphp5在public同级创建了一个文件夹,然后js,css放在里面,怎么加载啊?
首先,静态资源应该放在public中。
一般与public放同级目录的文件,都是不希望被外部访问到的私有文件。可以在服务端中访问到。
css,js属于公开文件,在模板中加载的话。只能从根目录开始找。所有应该放在根目录public或者public的下级目录。
如果一定要放在public同级目录的话。可以使用thinkphp模板标签中的include标签,做了一个小案例:
在public同级下创建了一个style文件夹。里面创建了一个testcss文件。
然后在模板中使用{include file="/style/testcss"}调用。
本地已测试可用。但任然建议,公开文件应该放在public下。用上面的方法调用css,总觉得怪怪的。
问题分析:
公共控制器和普通的控制器没什么本质上的区别。
在大部分的情况下。就是一个多次继承的关系。
公共控制器继承thinkphp的控制器。实际的控制器再继承公共控制器。
但是有一点需要注意的是,如果把公共控制器写在controller文件夹下的话。外部是能够访问到的。
推荐方案:
如果不是必须的情况下。尽量不要把公共控制器写在controller文件夹内。有以下2个方案。
1、使用分层控制器,这些分层控制器是不能够被URL访问直接调用到的。常用的分层命名为event。
2、使用trait引入的形式也是可以的。这是php54的新特性。thinkphp5在控制器内使用use直接引入。
以上2个方案具体实现方法,可以直接查阅thinkphp5的手册。有案例介绍。
0条评论