init.php里:

 <?php

 use ElemeOpenApi\Config\Config;

 define("BASE_DIR", dirname(__FILE__) . "/");
define("ROOT_DIR", dirname(__FILE__) . "/../");
require BASE_DIR . "../vendor/autoload.php";
require ROOT_DIR . "vendor/autoload.php"; //此处需要填写对应的参数
$app_key = "";
$app_secret = "";
$sandbox = true; $scope = "all";
$callback_url = ""; $config = new Config($app_key, $app_secret, $sandbox);

Config.php里

 <?php

 namespace ElemeOpenApi\Config;

 use InvalidArgumentException;

 class Config
{
private $app_key;
private $app_secret;
private $sandbox; private $request_url; private $log; private $default_request_url = "https://open-api.shop.ele.me";
private $default_sandbox_request_url = "https://open-api-sandbox.shop.ele.me"; public function __construct($app_key, $app_secret, $sandbox)
{
if ($sandbox == false) {
$this->request_url = $this->default_request_url;
} elseif ($sandbox == true) {
$this->request_url = $this->default_sandbox_request_url;
} else {
throw new InvalidArgumentException("the type of sandbox should be a boolean");
} if ($app_key == null || $app_key == "") {
throw new InvalidArgumentException("app_key is required");
} if ($app_secret == null || $app_secret == "") {
throw new InvalidArgumentException("app_secret is required");
} $this->app_key = $app_key;
$this->app_secret = $app_secret;
$this->sandbox = $sandbox;
} public function get_app_key()
{
return $this->app_key;
} public function get_app_secret()
{
return $this->app_secret;
} public function get_request_url()
{
return $this->request_url;
} public function set_request_url($request_url)
{
$this->request_url = $request_url;
} public function get_log()
{
return $this->log;
} public function set_log($log)
{
if (!method_exists($log, "info")) {
throw new InvalidArgumentException("logger need have method 'info(\$message)'");
}
if (!method_exists($log, "error")) {
throw new InvalidArgumentException("logger need have method 'error(\$message)'");
}
$this->log = $log;
}
}

OOP面向对象形式的初使化配置的更多相关文章

  1. c#构造初使化的顺序

    这个很基础的知识,但我至今才意识到它.想想也很失败. 直接上代码:很简单 public class Base { ; public Base() { System.Console.WriteLine( ...

  2. jQuery源码学习扒一扒jQuery对象初使化

    神奇的jQuery可以这样玩jQuery("#id").css()或 jQuery("#id").html() 这么玩jQuery("#id" ...

  3. Nhibernate初入门基本配置(一)

    文章出处:http://www.cnblogs.com/GoodHelper/archive/2011/02/14/nhiberante_01.html 一.NHibernate简介 什么是?NHib ...

  4. SpringBoot 正式环境必不可少的外部化配置

    前言 <[源码解析]凭什么?spring boot 一个 jar 就能开发 web 项目> 中有读者反应: 部署后运维很不方便,比较修改一个 IP 配置,需要重新打包. 这一点我是深有体会 ...

  5. 关于SpringBoot的外部化配置使用记录

    关于SpringBoot的外部化配置使用记录 声明: 若有任何纰漏.错误请不吝指出! 记录下使用SpringBoot配置时遇到的一些麻烦,虽然这种麻烦是因为知识匮乏导致的. 记录下避免一段时间后自己又 ...

  6. Spring配置文件外部化配置及.properties的通用方法

    摘要:本文深入探讨了配置化文件(即.properties)的普遍应用方式.包括了Spring.一般的.远程的三种使用方案. 关键词:.properties, Spring, Disconf, Java ...

  7. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(七)-- 结构化配置

    本篇将记录.Net Core里颇有特色的结构化配置的使用方法. 相比较之前通过Web.Config或者App.Config配置文件里使用xml节点定义配置内容的方式,.Net Core在配置系统上发生 ...

  8. 面向UI编程:ui.js 1.0 粗糙版本发布,分布式开发+容器化+组件化+配置化框架,从无到有的艰难创造

    时隔第一次被UI思路激励,到现在1.0的粗糙版本发布,掐指一算整整半年了.半年之间,有些细节不断推翻重做,再推翻再重做.时隔今日,终于能先出来个东西了,这个版本很粗糙,主体功能大概能实现了,但是还是有 ...

  9. Dubbo 新编程模型之外部化配置

    外部化配置(External Configuration) 在Dubbo 注解驱动例子中,无论是服务提供方,还是服务消费方,均需要转配相关配置Bean: @Bean public Applicatio ...

随机推荐

  1. Jmeter4.0----响应断言(6)

    1.说明 一个HTTP请求发出去,怎么判断执行的任务是否成功呢?通过检查服务器响应数据,是否返回预期想要的数据,如果是,判断任务成功,反之任务失败. 作用:判断请求是否成功 2.步骤 第一步:添加 “ ...

  2. 配置本地和远程maven仓库

    <mirrors><mirror> <id>alimaven</id> <name>aliyun maven</name> &l ...

  3. (转)Nginx/Apache服务连接数梳理

    Nginx/Apache服务连接数梳理 原文:http://www.cnblogs.com/kevingrace/p/6211542.html 统计连接数,使用netstat命令或ss命令都可以1)统 ...

  4. setTimout( , 0) 详解

    setTimout( , 0) 一.前言 前端工程师们工作久了,一般都会在某些地方看见过这样的代码: setTimeout(function(){ // TODO }, 0); 举个实例,移动端我们经 ...

  5. nodejs 实践:express 最佳实践(八) egg.js 框架的优缺点

    nodejs 实践:express 最佳实践(八) egg.js 框架的优缺点 优点 所有的 web开发的点都考虑到了 agent 很有特色 文件夹规划到位 扩展能力优秀 缺点 最大的问题在于: 使用 ...

  6. spring boot Filter过滤器的简单使用

    springboot使用Filter过滤器有两种方式: 一种是实现Filter接口然后通过@Component注解向项目加入过滤器 另一种是通过配置类来配置过滤器 @Component public ...

  7. 【踩坑】Nginx上配置ssl证书实现https访问

    昨天开始为域名挂上ssl证书,使得可以以https去访问服务器.按照网上所介绍的配置Nginx,然而一直访问不了网站. 第二天排查了一早上,发现不单要配置Nginx,阿里云上安全组要开启443端口,并 ...

  8. getuser

    Help on function getuser in module getpass: getuser()    Get the username from the environment or pa ...

  9. centos下无法直接删除乱码文件及文件夹解决方案

    不知道怎么回事今天在系统上发现有一个名字为“\”的文件,使用rm -f \ 无法删除,最后没办法只能使用文件的inode号进行删除,以下是相关步骤: [oracle@prod-db ~]$ ls -i ...

  10. 本号讯 | 微软和百度携手推进全球自动驾驶技术; 微软发布新一代可垂直可水平滚动的Arc鼠标

    7 月 13 日,微软宣布了与宝马的最新合作进展,继语音助手 Cortana .云服务 Azure.Office 365 和微软 Exchange 安装在部分宝马车型后——Skype for Busi ...