【laravel5.7】写个TP的vender()方法引入第三方sdk扩展包

前景摘要,刚接触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.实操:

这是项目目录结构

在控制器里调用第三方sdk.如果控制器都不会建,请移步https://blog.csdn.net/TXX_c/article/details/82995400

<?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);
    }

}

发布了35 篇原创文章 · 获赞 18 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/TXX_c/article/details/83302738
今日推荐