alexz707 / invoiceninja-module
Laminas模块,提供InvoiceNinja API功能
0.1.6
2023-08-03 10:07 UTC
Requires
- php: ^8.1
- laminas/laminas-filter: ^2.13
- laminas/laminas-hydrator: ^4.3
- laminas/laminas-modulemanager: ^2.11
- laminas/laminas-mvc: ^3.3
- laminas/laminas-servicemanager: ^3.10
Requires (Dev)
- phpunit/phpunit: ^9.5
- scrutinizer/ocular: dev-master
- slevomat/coding-standard: ^8.4
- squizlabs/php_codesniffer: ^3.7
README
Laminas模块,用于使用InvoiceNinja V5 API (https://www.invoiceninja.com).
描述
最新版本可处理以下API服务
- 客户
- 发票
- 产品
- 税率
可以使用basic
或digest
服务器授权。
已知问题
- Invoice Ninja API V5(大部分)返回的是字符串而不是真实的数据类型,但请求中却需要真实的数据类型。如果你发现任何字段有这样的行为,请提交一个问题!
- 并非所有端点都已实现 -> 如果你需要其中一个,请发送一个PR或提交一个问题。
- Humbug已被弃用,应更改为Infection
安装
建议的安装方法是通过composer
php composer.phar require alexz707/invoiceninja-module
配置模块
- 将
/vendor/alexz707/invoiceninja-module/config/invoiceninja.global.php.dist
复制到你的全局autoload文件夹中,移除dist扩展,以便Laminas能够识别它 - 如果你使用自己的Invoice Ninja实例,请更改
host url
- 将
token
替换为你的Invoice Ninja令牌 - 如果你使用
basic
或digest
授权,取消注释使用的方法并填写你的凭证
Module::INVOICE_NINJA_CONFIG => [ Module::API_TIMEOUT => 100, Module::TOKEN => 'YOURTOKEN', Module::HOST_URL => 'https://ninja.dev/api/v1', /* * If the api is protected by htaccess uncomment * ONE of the following code blocks and use your credentials. */ Module::AUTHORIZATION => [ /* * BASIC authorization * \Zend\Http\Client::AUTH_BASIC => [ * Module::AUTH_USER => 'YOURUSER', * Module::AUTH_PASS => 'YOURPASSWORD' * ] */ /* * DIGEST authorization * \Zend\Http\ClientClient::AUTH_DIGEST => [ * Module::AUTH_USER => 'YOURUSER', * Module::AUTH_PASS => 'YOURPASSWORD' * ] */ ] ]
启用模块
在config/application.config.php
文件中将模块注册为Laminas模块
'modules' => [ 'Laminas\Router', 'InvoiceNinjaModule', 'YourApplicationModule', ],
使用服务管理器
/** @var ClientManager $clientManager */ $clientManager = $sm->get(ClientManager::class); $client = $clientManager->getClientById('1');