创建插件命令 php think addon -a mydemo -c create

访问插件地址 http://faplugin.t.com/addons/mydemo

创建数据库路径为 fastadmin-plugin\addons\mydemo\install.sql
数据表名称需要为 __PREFIX__mydemo_log

手动修改文件命名空间

<?php
 
namespace addons\mydemo\library;
 
class HashMap
{
    //普通方法
    public function myNormalMethod(){
        echo '此方法需要实例化才能使用';
    }
 
    //静态方法
    public static function myStaticMethod(){
        echo '这是一个静态方法';
    }
}
 
 
$hashMap = new \addons\mydemo\library\HashMap();
$hashMap->myNormalMethod();
$result = \addons\mydemo\library\HashMap::myStaticMethod();

通过行为载入命名空间

<?php
 
namespace addons\mydemo;
 
use app\common\library\Menu;
use think\Addons;
 
/**
 * 插件
 */
class Mydemo extends Addons
{
 
    /**
     * 应用初始化
     */
    public function appInit()
    {
        //先判断是否已经通过其它方式引入了此类
        if (!class_exists("\Yansongda\Pay\Pay")) {
            \think\Loader::addNamespace('Yansongda\Pay', ADDON_PATH . 'mydemo' . DS . 'library' . DS . 'Yansongda' . DS.'Pay' . DS);
        }
    }
 
    /**
     * 插件安装方法
     * @return bool
     */
    public function install()
    {
 
        return true;
    }
 
    /**
     * 插件卸载方法
     * @return bool
     */
    public function uninstall()
    {
 
        return true;
    }
 
    /**
     * 插件启用方法
     * @return bool
     */
    public function enable()
    {
 
        return true;
    }
 
    /**
     * 插件禁用方法
     * @return bool
     */
    public function disable()
    {
 
        return true;
    }
 
}
 
<?php
 
namespace addons\mydemo\controller;
 
use think\addons\Controller;
use Yansongda\Pay\Pay;
 
class Pays extends Controller
{
 
    protected $config = [
        'alipay' => [
            'default' => [
                // 必填-支付宝分配的 app_id
                'app_id' => '2016082000xxxxxx',
                // 必填-应用私钥 字符串或路径
                'app_secret_cert' => '89iZ2iC16H6/6a3YcP+hDZUjiNGQx9cuwi9eJyykvcwhD...',
                // 必填-应用公钥证书 路径
                'app_public_cert_path' => 'D:\php\fastadmin-plugin\addons\mydemo\public\mydemo/appCertPublicKey_2016082000295641.crt',
                // 必填-支付宝公钥证书 路径
                'alipay_public_cert_path' => 'D:\php\fastadmin-plugin\addons\mydemo\public\mydemo/alipayCertPublicKey_RSA2.crt',
                // 必填-支付宝根证书 路径
                'alipay_root_cert_path' => 'D:\php\fastadmin-plugin\addons\mydemo\public\mydemo/alipayRootCert.crt',
                'return_url' => 'https://yansongda.cn/alipay/return',
                'notify_url' => 'https://yansongda.cn/alipay/notify',
                // 选填-第三方应用授权token
                'app_auth_token' => '',
                // 选填-服务商模式下的服务商 id,当 mode 为 Pay::MODE_SERVICE 时使用该参数
                'service_provider_id' => '',
                // 选填-默认为正常模式。可选为: MODE_NORMAL, MODE_SANDBOX, MODE_SERVICE
                'mode' => Pay::MODE_NORMAL,
            ],
        ],
        'logger' => [ // optional
            'enable' => false,
            'file' => './logs/alipay.log',
            'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug
            'type' => 'single', // optional, 可选 daily.
            'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天
        ],
        'http' => [ // optional
            'timeout' => 5.0,
            'connect_timeout' => 5.0,
            // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html)
        ],
    ];
 
    public function web()
    {
 
        $result = Pay::alipay($this->config)->web([
            'out_trade_no' => ''.time(),
            'total_amount' => '0.01',
            'subject' => 'yansongda 测试 - 1',
        ]);
 
        return $result;
    }
 
 
}

发表评论

邮箱地址不会被公开。 必填项已用*标注