php导包,Thinkphp5.1 导入第三方包的问题

一般刚接触tp5.1的,会很不适应,虽然版本号只是比5.0多了0.1,但是差别挺大,废弃了不少方法,官方的教程又很简单,很多东西没说全,在此鄙视一下框架作者,最起码体谅一下小白嘛,搞了好多天才把5.1使用vendor里面引入第三方包的问题搞好,惨啊,在此分享,让后来的小白别走太多弯路。

一、在thinkPHP 5.1.X新版取消了Loader::import方法以及import和vendor助手函数,推荐全面采用命名空间方式的类以及自动加载机制,如果必须使用请直接改为php内置的include或者require语法。(抱怨一下,这种问题要在官方文档里面说明一下嘛,鄙视作者,整5.1的时候这些方法挨个试了一遍,又是搜又是看教程结果全部卵用,无奈。)

原来的import("Vendor.Classes.PHPExcel.IOFactory");或Vendor(‘phpoffice.phpexcel.Classes.PHPExcel.IOFactory‘);方法已经不再使用。

二,在thinkPHP 5.1.X中的处理方法,必须使用composer方式安装第三方模块。否则在vendor目录下的内容无法自动加载。也就是到了这一版必须用Composer,方法加载去掉了,其实这样也好,比较靠拢主流框架,比如laravel,如果用好TP5.1在转向laravel很容易,而且用工具管理包,也符合现在的开发潮流,像node各种工具包管理,在此虽然刚接触很不爽,但是支持吧。

怎么安装Composer 就不说了,教程一堆,反正不成功再搜再搞,就差不多了。

三,是否能够成功在TP5.1中引入第三方包,命名空间太重要了,必须明白到底是咋回事,单单明白namespace还不行,use的用法和规则也缺一不可,我当时就只了解了namespace,什么大空间,子空间,依然不成功,是因为use用的不对。

四,说了require_once加namespace方式,接下来说namespace和use 方式。

第三方包

namespace gmars\rbac;usegmars\nestedsets\NestedSets;usethink\Db;use think\Exception;classRbac

{/**

-------------------------下面自己写的类,上面是rbac包类----------------------------------------------------

namespace app\index\Controller;use gmars\rbac; //use的是第三方包的namespace名字

class Login extendsController

{public functionlogin(){//实例化

$rbacObj=new rbac\Rbac(); //就是use的名字最后一个字符rbac 加上你要实例化的类名。

五,这里还要说一下composer,如果你项目有报错,找不到包什么的可以去看项目跟目录里面的composer.json这里是你导入第三方类的表,看看有没有这个包在里面

"require": {"php": ">=5.6.0","topthink/framework": "5.1.*","gmars/tp5-rbac":"dev-master","gmars/tp5-nestedsets": "dev-master","topthink/think-captcha": "^2.0","topthink/think-migration":"^1.0","phpmailer/phpmailer": "^6.0"},

在此也就是说在TP5.1中,导入第三方包在vendor文件夹中,先用compose require 加包成功,再先use对,在new,才能成功,在前面不声明use是不能加载第三方包的,还有一路就是进vendor文件夹中找到你加包的文件夹,里面src里面php文件.拷贝到extend文件下新建文件夹中,统一管理也可以,有一个开发者就是这样干,不用use 直接反斜杠\ 新建文件夹\你要的类,但是为了清楚明白还是use比较好。

在你composer require tp5-rbac 出现下载进度,就说明在安装中,如果没有有错误信息,就直接在compose.json文件中require大括号里面手动加上 "gmars/tp5-rbac":"dev-master", 然后命令composer update ,就会安装了,这个很多教程都有说,其实用composer刚开始觉得挺高大上,其实就是json文件,composer里php类,运用php自动加载类的机制实现的,没什么太魔幻的。正确使用namespace和use后,就很方便了。

原文链接:https://blog.csdn.net/qq_18248719/article/details/81805310

原文:https://www.cnblogs.com/bushui/p/11997079.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: thinkphp5.1是一款基于PHP语言的MVC框架,它采用了Laravel框架中的一些优秀设计思想,并在此基础上进行了改进和优化,是一款颇受欢迎的PHP框架。 该框架具有非常完善的文档和教程,学习起来非常容易。它的核心思想是“约定优于配置”,通过一些默认的规则来简化代码,提高开发效率。同时,它也提供了很多实用的工具和函数,如请求对象、响应对象、验证器、缓存处理、日志记录等,使得开发者能够更加便捷地实现业务逻辑。 在源码方面,thinkphp5.1采用了比较优秀的代码结构和注释规范,代码风格清晰易读,符合现代编程的标准。同时,它也支持非常灵活的扩展机制,可以通过composer方式引入其他第三方组件来扩展功能。 总的来说,thinkphp5.1源码是一款非常优秀的PHP框架,具有清晰的代码结构、丰富的功能和非常好的可扩展性,适合开发各种规模的Web应用程序。 ### 回答2: ThinkPHP 5.1是一个基于MVC设计模式的PHP开源框架,它的源码是开放的,可以供开发者进行学习和使用。通过阅读ThinkPHP 5.1源码,开发者可以深入了解框架的核心设计思想和运行原理,从而更好地进行二次开发和定制。ThinkPHP 5.1源码的主要特点括:使用面向对象的编程思想,提供了丰富的内置库函数和类库,支持依赖注入和控制反转,提供了强大的缓存机制,支持多种数据库操作,具有良好的安全性和可扩展性。此外,ThinkPHP 5.1还提供了详细的文档和示例代码,方便开发者学习和使用。总之,ThinkPHP 5.1源码为PHP开发者提供了强有力的支持,帮助开发者快速高效地开发出安全、稳定、高性能的web应用程序。 ### 回答3: thinkphp5.1源码是一个基于PHP的开发框架,它的思想是快速、可靠、简单、灵活,它提供了许多丰富的功能,括模板引擎、数据库访问、缓存机制等等。 thinkphp5.1源码是一个开放源代码的框架,目前为止已经发展成为非常成熟的架构体系,拥有非常多的使用者和开发者,也得到了非常多的好评和支持。 thinkphp5.1源码的特点是快速开发、规范化开发、灵活、可扩展,它采用MVC的设计模式,在架构上很好地实现了分层开发原则,从而提高了开发效率和代码的可维护性。 此外,thinkphp5.1源码在数据库访问、缓存机制、模板引擎等方面也都有很好的支持,通过它们能够更好地管理数据、提高应用的性能和减少开发周期。 总之,thinkphp5.1源码具有很好的可用性和可扩展性,它已经成为PHP开发者中的主流框架之一,许多项目都已经采用了它的开发方式,PHP电商、PHP CMS等等,而且它也在不断不断地完善,使得它在未来的开发过程中仍然能保持其领先地位。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值