laravel引入第三方类库

使用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:\php\pear')"

 

之前通过根目录的入后文件访问时一切正常,只是解析了域名的地址其他都没改变,归结原因一定是路径出现了问题。

解决办法:

1、根据差别判断路径问题,域名解析到public下,使用require时就需要先出来目录,通过以下方式解决了问题

require_once '../resources/org/code/Code.class.php';

 

2、查阅资料发现laravel在引入第三方没有命名空间的类库时,都是使用composer dump-autoload 解决的。这里归纳一下方法

2.1首先自己建立一个放置第三方类库的文件夹(app下),专门用来存放第三方的类库。
eg:app\org\Code.php
2.2在composer.json文件中添加你定义的目录路径。
  
2.3运行composer dump-autoload 
2.4在控制器中使用第三方的类库。
  使用时需要注意如何进行引用。在方法中直接使用就可以了,直接实例化,例如:$code = new \Code;(需要加上\ 表明是从根目录开始)

 

posted @ 2018-08-15 19:28  进阶丶xiao路  阅读(690)  评论(0编辑  收藏  举报