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