使用laravel框架时,可以直接访问根目录server.php来访问项目的入口文件,刚开始为了方便,将server.php改成了index.php,解析域名时也只解析到了根目录。
在后续改善项目的过程中发现域名解析到根目录特别不安全,可以直接访问项目根目录的所有文件,因此将index.php改回了server.php,域名解析到了public目录下。
但是在修改过后访问后台报了一下错误:
(
"main(): Failed opening required 'resources/org/code/Code.class.php' (include_path='.;C:phppear')"
)
之前通过根目录的入后文件访问时一切正常,只是解析了域名的地址其他都没改变,归结原因一定是路径出现了问题。
解决办法:
1、根据差别判断路径问题,域名解析到public下,使用require时就需要先出来目录,通过以下方式解决了问题
require_once '../resources/org/code/Code.class.php';
2、查阅资料发现laravel在引入第三方没有命名空间的类库时,都是使用composer dump-autoload 解决的。这里归纳一下方法
2.1首先自己建立一个放置第三方类库的文件夹(app下),专门用来存放第三方的类库。
eg:apporgCode.php
2.2在composer.json文件中添加你定义的目录路径。
2.3运行composer dump-autoload
2.4在控制器中使用第三方的类库。
使用时需要注意如何进行引用。在方法中直接使用就可以了,直接实例化,例如:$code = new Code;(需要加上 表明是从根目录开始)