123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?php
- use WeChat\Contracts\DataArray;
- use WeChat\Exceptions\InvalidInstanceException;
- class We
- {
-
- const VERSION = '1.2.35';
-
- private static $config;
-
- public static function config($option = null)
- {
- if (is_array($option)) {
- self::$config = new DataArray($option);
- }
- if (self::$config instanceof DataArray) {
- return self::$config->get();
- }
- return [];
- }
-
- public static function __callStatic($name, $arguments)
- {
- if (substr($name, 0, 6) === 'WeChat') {
- $class = 'WeChat\\' . substr($name, 6);
- } elseif (substr($name, 0, 6) === 'WeMini') {
- $class = 'WeMini\\' . substr($name, 6);
- } elseif (substr($name, 0, 6) === 'AliPay') {
- $class = 'AliPay\\' . substr($name, 6);
- } elseif (substr($name, 0, 5) === 'WePay') {
- $class = 'WePay\\' . substr($name, 5);
- }
- if (!empty($class) && class_exists($class)) {
- $option = array_shift($arguments);
- $config = is_array($option) ? $option : self::$config->get();
- return new $class($config);
- }
- throw new InvalidInstanceException("class {$name} not found");
- }
- }
|