最新消息: 新版網站上線了!!!

thinkphp5.0和5.1的vendor和extend的區別

1、thinkPHP5.0  vendor

   vendor的是通過composer的方法進行自動引入到第三方擴展庫vendor目錄里的,調用方法是利用的vendor方法:

   $re = vendor ( 'PHPExcel' );

    $mail = new \PHPExcel ();

2、thinkPHP5.0  extend

   extend是通過手動的方法直接把第三方擴展庫或者自己寫的封裝庫直接引入到extend目錄里,調用方法的實例:

        use think\Loader;

        Loader::import("PHPExcel",EXTEND_PATH);

        $objPHPExcel=new \PHPExcel();

3、在thinkPHP5.1.X新版取消了Loader::import方法以及import和vendor助手函數,推薦全面采用命名空間方式的類以及自動加載機制,如果必須使用請直接改為php內置的include或者require語法。

原來的import("Vendor.Classes.PHPExcel.IOFactory");或Vendor('phpoffice.phpexcel.Classes.PHPExcel.IOFactory');方法已經不再使用

4、在thinkPHP 5.1.X中的處理方法,必須使用composer方式安裝第三方模塊。否則在vendor目錄下的內容無法自動加載。也就是到了這一版必須用Composer,方法加載去掉了,其實這樣也好,比較靠攏主流框架,比如laravel,如果用好TP5.1在轉向laravel很容易,而且用工具管理包,也符合現在的開發潮流,像node各種工具包管理,在此雖然剛接觸很不爽,但是支持吧。

5、主要內容:重點說一下php namespace和use,能夠成功在TP5.1中引入第三方包,命名空間太重要了,必須明白到底是咋回事,單單明白namespace還不行,use的用法和規則也缺一不可,我當時就只了解了namespace,什么大空間,子空間,依然不成功,是因為use用的不對。

總結:

在此也就是說在TP5.1中,導入第三方包在vendor文件夾中,先用compose require 加包成功,再先use對,在new,才能成功,在前面不聲明use是不能加載第三方包的,還有一路就是進vendor文件夾中找到你加包的文件夾,里面src里面php文件.拷貝到extend文件下新建文件夾中,統一管理也可以,有一個開發者就是這樣干,不用use 直接反斜杠\ 新建文件夾\你要的類,但是為了清楚明白還是use比較好。


.....

轉載請注明:谷谷點程序 » thinkphp5.0和5.1的vendor和extend的區別

体彩25选5开奖号码