spejder / odoo-client
Odoo的PHP客户端
v1.0.51
2024-09-12 04:01 UTC
Requires
- php: >=7.1
- laminas/laminas-http: ^2.12
- laminas/laminas-xmlrpc: ^2.9
Requires (Dev)
Replaces
- jacobsteringa/odoo-client: <=0.3.0
- dev-master
- v1.0.51
- v1.0.50
- v1.0.49
- v1.0.48
- v1.0.47
- v1.0.46
- v1.0.45
- v1.0.44
- v1.0.43
- v1.0.42
- v1.0.41
- v1.0.40
- v1.0.39
- v1.0.38
- v1.0.37
- v1.0.36
- v1.0.35
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/github_actions/DavidAnson/markdownlint-cli2-action-17
This package is auto-updated.
Last update: 2024-09-12 04:02:14 UTC
README
OdooClient是一个PHP版的Odoo客户端。它受到simbigo的OpenERP API的启发,并使用了类似的API。它依赖于Laminas(前称Zend Framework)中的XML-RPC和XML库,而不是自己的XML-RPC客户端。
ℹ️ 这是对不活跃的jacobsteringa/odoo-client的分支。已更新依赖项并将代码风格现代化为PSR-12。实际代码归功于@jacobsteringa ❤️
支持的版本
此库应与Odoo 8和9兼容。如果您发现任何不兼容性,请创建一个问题或提交一个pull请求。
已知问题
- 版本0.2.2及以下中的
Odoo::getReport()
方法与Odoo 9不兼容。
用法
实例化一个新的客户端。
use Spejder\Odoo\Odoo; $url = 'example.odoo.com/xmlrpc/2'; $database = 'example-database'; $user = 'user@email.com'; $password = 'yourpassword'; $client = new Odoo($url, $database, $user, $password);
为了客户端能够工作,您必须包含URL中的/xmlrpc/2
部分。
当您需要调整XML-RPC客户端使用的HTTP客户端时,您可以通过构造函数或Odoo::setHttpClient
方法注入自定义HTTP客户端。
use Spejder\Odoo\Odoo; use Laminas\Http\Client as HttpClient; $httpClient = new HttpClient(null, [ 'sslverifypeer' => false, ]); // constructor argument $client = new Odoo($url, $database, $user, $password, $httpClient); // or setter $client = new Odoo($url, $database, $user, $password); $client->setHttpClient($httpClient);
xmlrpc/2/common端点
获取版本信息。
$client->version();
获取时区信息。
$client->timezone();
没有登录/认证方法。客户端为您进行认证,因此凭据作为构造函数参数传递。
xmlrpc/2/object端点
搜索记录。
$criteria = [ ['customer', '=', true], ]; $limit = 10; $offset = 0; $client->search('res.partner', $criteria, $offset, $limit);
读取记录。
$ids = $client->search('res.partner', [['customer', '=', true]], 0, 10); $fields = ['name', 'email', 'customer']; $customers = $client->read('res.partner', $ids, $fields);
创建记录。
$data = [ 'name' => 'John Doe', 'email' => 'foo@bar.com', ]; $id = $client->create('res.partner', $data);
更新记录。
// change email address of user with current email address foo@bar.com $ids = $client->search('res.partner', [['email', '=', 'foo@bar.com']], 0, 1); $client->write('res.partner', $ids, ['email' => 'baz@quux.com']); // 'uncustomer' the first 10 customers $ids = $client->search('res.partner', [['customer', '=', true]], 0, 10); $client->write('res.partner', $ids, ['customer' => false]);
删除记录。
$ids = $client->search('res.partner', [['email', '=', 'baz@quuz.com']], 0, 1); $client->unlink('res.partner', $ids);
以base64格式获取报告。
$ids = $client->search('res.partner', [['customer', '=', true]], 0, 10); $report = $client->getReport('res.partner', $ids);
许可证
MIT许可证。版权所有(c)2014 Jacob Steringa。