tourze / wechat-mini-program-appid-contracts
微信小程序AppID定义接口
Installs: 1 595
Dependents: 10
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/tourze/wechat-mini-program-appid-contracts
Requires
- php: ^8.1
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-10-31 05:57:07 UTC
README
This package provides interface definitions for WeChat Mini Program AppID management, offering a standardized way to handle Mini Program credentials and loaders.
Features
- Standard interface for Mini Program credentials management
- Support for multiple Mini Program instances
- Type-safe interface definitions
- Framework-agnostic design
Installation
Install the package via Composer:
composer require tourze/wechat-mini-program-appid-contracts
Quick Start
Basic Usage
Implement the MiniProgramInterface to define a Mini Program:
use Tourze\WechatMiniProgramAppIDContracts\MiniProgramInterface; class MyMiniProgram implements MiniProgramInterface { public function __construct( private string $appId, private string $appSecret ) {} public function getAppId(): string { return $this->appId; } public function getAppSecret(): string { return $this->appSecret; } }
Implementing a Loader
Create a loader to manage multiple Mini Programs:
use Tourze\WechatMiniProgramAppIDContracts\MiniProgramLoaderInterface; use Tourze\WechatMiniProgramAppIDContracts\MiniProgramInterface; class MiniProgramLoader implements MiniProgramLoaderInterface { /** * @var MiniProgramInterface[] */ private array $programs = []; public function addProgram(MiniProgramInterface $program): void { $this->programs[] = $program; } /** * @return iterable<MiniProgramInterface> */ public function findValidList(): iterable { return $this->programs; } }
Usage Example
// Create Mini Program instances $program1 = new MyMiniProgram('app_id_1', 'app_secret_1'); $program2 = new MyMiniProgram('app_id_2', 'app_secret_2'); // Create and configure loader $loader = new MiniProgramLoader(); $loader->addProgram($program1); $loader->addProgram($program2); // Get all valid Mini Programs foreach ($loader->findValidList() as $program) { echo "AppID: " . $program->getAppId() . PHP_EOL; }
API Reference
MiniProgramInterface
The main interface for Mini Program credentials:
getAppId(): string- Returns the Mini Program's AppIDgetAppSecret(): string- Returns the Mini Program's App Secret
MiniProgramLoaderInterface
Interface for loading and managing multiple Mini Programs:
findValidList(): iterable- Returns an iterable collection of valid Mini Program instances
Best Practices
- Security: Never hardcode credentials in your code. Use environment variables or secure configuration management.
- Validation: Implement validation in your concrete classes to ensure AppID and AppSecret are valid.
- Caching: Consider caching the Mini Program list in your loader implementation for better performance.
License
This package is open-source software licensed under the MIT license.