tourze/digital-ocean-account-bundle
Composer 安装命令:
composer require tourze/digital-ocean-account-bundle
包简介
DigitalOcean账号信息管理包,提供账号同步、信息获取等功能
README 文档
README
A Symfony bundle for integrating with DigitalOcean API, providing account management, SSH key management, and configuration services.
Table of Contents
- Features
- Dependencies
- Installation
- Configuration
- Quick Start
- API Documentation
- Advanced Usage
- Contributing
- License
Features
- DigitalOcean API v2 integration
- Account information management and synchronization
- Configuration management for DigitalOcean API access
- Doctrine ORM integration for data persistence
- Symfony Bundle integration with autowiring support
Dependencies
This bundle requires the following components:
- PHP 8.1 or higher
- Symfony 6.4 or higher
- Doctrine ORM 3.0 or higher
- HTTP Client Bundle for API communication
For a complete list of dependencies, please see the composer.json file.
Installation
Install the bundle via Composer:
composer require tourze/digital-ocean-account-bundle
Register the bundle in your config/bundles.php file:
<?php return [ // ... DigitalOceanAccountBundle\DigitalOceanAccountBundle::class => ['all' => true], // ... ];
Configuration
Database Setup
Run the following command to create the necessary database tables:
php bin/console doctrine:migrations:migrate
API Configuration
Create a DigitalOcean configuration record in your database with your API key:
// In a controller or service $config = new DigitalOceanConfig(); $config->setApiKey('your-digitalocean-api-key'); $config->setRemark('Production API Key'); $this->entityManager->persist($config); $this->entityManager->flush();
Bundle Configuration
The bundle automatically registers all services. No additional configuration is required for basic usage.
Quick Start
Usage Examples
Accessing Account Information
<?php use DigitalOceanAccountBundle\Service\AccountService; class YourController { public function index(AccountService $accountService) { // Get account information from DigitalOcean API $accountData = $accountService->getAccount(); // Synchronize account information to database $account = $accountService->syncAccount(); // Use account data... } }
Managing Configuration
<?php use DigitalOceanAccountBundle\Service\DigitalOceanConfigService; class ConfigController { public function setup(DigitalOceanConfigService $configService) { // Get the current configuration $config = $configService->getConfig(); // The service will automatically use the configured API key // for all DigitalOcean API requests } }
API Documentation
The bundle provides several services for interacting with the DigitalOcean API:
AccountService
getAccount(): Retrieve account information from DigitalOcean APIsyncAccount(): Synchronize account information to database
DigitalOceanConfigService
getConfig(): Get the current DigitalOcean API configuration
DigitalOceanClient
request(DigitalOceanRequest $request): Send requests to DigitalOcean API
Each service is automatically registered and can be autowired in your Symfony application.
Advanced Usage
Custom Request Types
You can create custom request types by extending the DigitalOceanRequest class:
<?php use DigitalOceanAccountBundle\Request\DigitalOceanRequest; class CustomRequest extends DigitalOceanRequest { protected function getEndpoint(): string { return '/v2/custom-endpoint'; } protected function getMethod(): string { return 'GET'; } }
Error Handling
The bundle provides custom exceptions for different error scenarios:
<?php use DigitalOceanAccountBundle\Exception\DigitalOceanException; use DigitalOceanAccountBundle\Exception\MissingApiKeyException; try { $account = $accountService->syncAccount(); } catch (MissingApiKeyException $e) { // Handle missing API key } catch (DigitalOceanException $e) { // Handle other DigitalOcean-related errors }
Testing
The bundle includes comprehensive test coverage. Run tests with:
vendor/bin/phpunit packages/digital-ocean-account-bundle/tests
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for your changes
- Submit a pull request
License
The MIT License (MIT). Please see License File for more information.
tourze/digital-ocean-account-bundle 适用场景与选型建议
tourze/digital-ocean-account-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 236 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 05 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 tourze/digital-ocean-account-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tourze/digital-ocean-account-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 236
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 13
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-05