robroypt/odoo-client 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

robroypt/odoo-client

最新稳定版本:v1.0beta

Composer 安装命令:

composer require robroypt/odoo-client

包简介

A PHP Client for Odoo using Ripcord RPC library (as used in Odoo Web API docs)

README 文档

README

OdooClient is an Odoo client for PHP. It is inspired on OpenERP API from simbigo and OdooClient from jacobsteringa and uses a more or less similar API.

However, instead of its own XML-RPC client or the Zend XML-RPC libraries it uses the Ripcord RPC library as implemented by DarkaOnline -- this is the library used in the Odoo Web Service API documentation.

Supported versions

This library should work with Odoo 8 or later. If you find any any incompatibilities, please create an issue or submit a pull request.

Usage

Instantiate a new client.

use OdooClient\Client;
........
$url = 'example.odoo.com/xmlrpc/2';
$database = 'example-database';
$user = 'user@email.com';
$password = 'yourpassword';

$client = new Client($url, $database, $user, $password);

For the client to work you have to include the /xmlrpc/2 part of the url.

xmlrpc/2/common endpoint

Getting version information.

$client->version();

There is no login/authenticate method. The client does authentication for you, that is why the credentials are passed as constructor arguments.

xmlrpc/2/object endpoint

Search for records.

$criteria = [
  ['customer', '=', true],
];
$offset = 0;
$limit = 10;

$client->search('res.partner', $criteria, $offset, $limit);

Search and count records.

$criteria = [
  ['customer', '=', true],
];

$client->search_count('res.partner', $criteria);

Reading records.

$ids = $client->search('res.partner', [['customer', '=', true]], 0, 10);

$fields = ['name', 'email', 'customer'];

$customers = $client->read('res.partner', $ids, $fields);

Search and Read records.

$criteria = [
  ['customer', '=', true],
];

$fields = ['name', 'email', 'customer'];

$customers = $client->search_read('res.partner', $criteria, $fields, 10);

Creating records.

$data = [
  'name' => 'John Doe',
  'email' => 'foo@bar.com',
];

$id = $client->create('res.partner', $data);

Updating records.

// 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]);

Deleting records.

$ids = $client->search('res.partner', [['email', '=', 'baz@quuz.com']], 0, 1);

$client->unlink('res.partner', $ids);

License

MIT License. Copyright (c) 2017 Rob Roy.

统计信息

  • 总下载量: 47.93k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 21
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 21
  • Watchers: 2
  • Forks: 38
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-03-22