fastadmin插件使用
创建插件命令 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;
}
} |