解决Laravel自定义类引入和命名空间的问题


Posted in PHP onOctober 15, 2019

1.问题描述

在Laravel中引入了一个第三方验证码类Code.class.php,在使用的时候发现如果不给这个类设置命名空间,那么需要在使用时用require引入这个文件,引入后在

new Code()时会报Class 'App\Http\Controllers\Admin\Code' not found,即找不这个类的错误,发现系统在当前文件的命名空间去找这个类。所以需要在new时类名前加\,即new \Code(),这样会在根命名空间下找Code类就可以正常使用。

好奇心下给Code类添加了个命名空间namespace resources\org\code;,发现在使用时use resources\org\code\Code;,依然报错找不到这个类。

2.解决过程

通过修改命名空间,改变类文件存放位置,都不能解决这个错误,百度后发现应该自定义类的加载问题,即命名空间使用正确,但是laravel没有加载这个类文件。最后在csdn大神博客发现解决办法。

在composer.json的autoload内的classmap项新增类包,

"autoload": {
  "classmap": [
    "database",
 "resources/org/code"//添加自己的命名空间
  ],
  "psr-4": {
    "App\\": "app/"
   }
},

完成之后还需要在命令行使用composer命令

composer dump-autoload

做完这些再回到项目中,在使用Code类的文件中use resources\org\code\Code;就可以正确的new Code()了。

3.总结

在自定义类不使用命名空间时可以直接require类文件进行使用,但在new \Code时要加上\指明根命名空间。

当使用命名空间时要进行配置,告诉系统进行自动加载自定义类包,然后可以使用use。

另外经过测试发现当使用命名空间时仅使用require仍然报错,还要指明命名空间才可以。但使用了use可以省去require。

以上这篇解决Laravel自定义类引入和命名空间的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
Apr 15 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 #PHP
Laravel 类和接口注入相关的代码
Oct 15 #PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 #PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 #PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 #PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 #PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 #PHP
You might like
一个php导出oracle库的php代码
2009/04/20 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
php7 新增功能实例总结
2020/05/25 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
js闭包用法实例详解
2016/12/13 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
Pandas 数据处理,数据清洗详解
2018/07/10 Python
python模块导入的细节详解
2018/12/10 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python爬虫库scrapy简单使用实例详解
2020/02/10 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
美国保健品专家:Life Extension
2018/05/04 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
医药销售求职信范文
2014/02/01 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
高中社区服务活动报告
2015/02/05 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
保护地球的宣传语
2015/07/13 职场文书
nginx常用命令放入shell脚本详解
2021/03/31 Servers