【laravel5.7】寫個TP的vender()方法引入第三方sdk擴充套件包
阿新 • • 發佈:2019-01-02
前景摘要,剛接觸laravel不久,不造怎麼引入第三方sdk包,網上搜了全都是要去改composer的自動載入;不想搞,於是想到了TP的vender方法,於是試著寫一下;
按之前的專案以來一直有個習慣是建個公共函式檔案和常量檔案;
1.在app目錄下新建 common.php放哪不重要哈,找得到就行;
2.在public/index.php 也就是專案入口檔案里加入一句
//引入公共函式,路徑要根據自己放哪去寫
require __DIR__.'/../app/common.php';
3.在common.php裡新增方法,然後再專案的所有地方都可以隨意呼叫
//比如個人用習慣了的p方法 /** * 列印函式 * @param array|string $data * @param bool $exit */ function p($data = [],$exit=false){ echo '<pre>'; print_r($data); echo '</pre>'; if(!empty($exit)){ exit; } }
4.上面純屬安利,下面說重點,在根目錄下(目錄隨意,找得到即可)新建extends檔案夾用於存放第三方擴充套件工具包
5.在上面建好的common.php中新增vender()方法
/** * 引入擴充套件函式 用法:vender('baidu.AipSpeed')或vender('baidu/AipSpeed'); * @param string $path */ function vender($path = ''){ //允許兩種路徑表達方式 $path = str_replace('.','/',$path); //若省略檔案檔案字尾就給補上 if(!strpos($path,'.php')){ $path.='.php'; } //這個路徑是要看你們自己定的來改 require_once "../extends/{$path}"; }
6.實操:
這是專案目錄結構
<?php /** * Created by PhpStorm. * User: 影TXX * Date: 2018/10/22 * Time: 18:51 */ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; class Bd extends Controller { /** * 文字轉語音 */ function strToMp3(){ //引入第三方類 vender('baidu.AipSpeech'); $speech = new \AipSpeech('146666658','ZHEGESHIJIADEAPIKEY','ZHegEMIyaOYEshIJiAdE'); $wd = request()->get('wd','TXX真他喵帥'); $res = $speech->synthesis($wd,'zh', $ctp=1); header('Content-Type:audio/mp3'); exit($res); } }