解决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输出控制功能在简繁体转换中的应用
Oct 09 PHP
php读取数据库信息的几种方法
May 24 PHP
PHP冒泡算法详解(递归实现)
Nov 10 PHP
PHP页面跳转操作实例分析(header方法)
Sep 28 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
浅谈php中curl、fsockopen的应用
Dec 10 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
Oct 30 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者的疑难问答(1)
2006/10/09 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
Laravel框架表单验证详解
2014/09/04 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Python中关于使用模块的基础知识
2015/05/24 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
django queryset相加和筛选教程
2020/05/18 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
优秀体育委员自荐书
2014/01/31 职场文书
中文教师求职信
2014/02/22 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
洗车工岗位职责
2014/03/15 职场文书
高中课程设置方案
2014/05/28 职场文书
指导教师推荐意见
2015/06/05 职场文书
消防宣传语大全
2015/07/13 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
教你用python控制安卓手机
2021/05/13 Python
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
Python的property属性详细讲解
2022/04/11 Python