定制 itfieldmuseum/bimu 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

itfieldmuseum/bimu

Composer 安装命令:

composer require itfieldmuseum/bimu

包简介

A better IMu client.

README 文档

README

A better IMu client, an attempt to improve upon the IMu API for the EMu database system, provided by Axiell.

EMu database: http://emu.axiell.com/

IMu API documentation: https://github.com/axiell/imu-api-php

Setting up BIMu

Include BIMu using composer: composer require itfieldmuseum/bimu

Getting records

Use the search() function to search for records, and the get() functions to return records. With its basic usage, the search function takes a key, value array of criteria for its first parameter and an array of fields to return for its second parameter.

require_once __DIR__ . '/vendor/autoload.php';

use BIMu\BIMu;

$bimu = new BIMu("1.1.1.1", 40107, "enarratives");
$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$records = $bimu->getAll();

Getting a certain number of records

Use the get() function. The first parameter is an integer of the number of records you want to return. The second parameter is how many records offset you'd like your record retrieval to begin.

If no parameters are passed, the get() function defaults to retrieving 1 record at an offset of 0.

This example returns 50 records at an offset of 200. If you don't include a search operator, a fuzzy, "contains" search will be done.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$records = $bimu->get(50, 200);

Getting one record

Use the getOne() function. If you'd like to grab one record at an offset, pass an integer value to get a record at that offset.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$records = $bimu->getOne();

Get a record at an offset of 2.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$records = $bimu->getOne(2);

Retrieving results hits

Perform a search first, then call the hits function.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$hits = $bimu->hits();

Retrieving results count

You must perform a search, then a get, to be able to access the count.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$records = $bimu->getAll();
$count = $bimu->count();

Doing an OR search

By default, the criteria array for the search() function will perform an AND search. If you need to do an OR search, be sure to specify that in your search function.

$bimu->search(
    ["DesSubjects_tab" => "My Subject", "DesSubjects_tab" => "Second subject"],
    ["irn", "NarTitle"],
    "=",
    "OR"
);

Comparison operators

This operator specifies how the value should search against the field value. The search operator to use, defaults to null, which is a fuzzy match.

Other options include:
= (equals)
<> (does not equal)
< (less than)
<= (less than or equal to)
> (greater than)
>= (greater than or equal to)

Example search:

$bimu->search(
    ["DesSubjects_tab" => "My Subject", "DesSubjects_tab" => "Second subject"],
    ["irn", "NarTitle"],
    "<>",
    "OR"
);

Doing complex searches with combinations of AND/OR

If you need to do a more complex search, with combinations of AND and OR criteria, use the IMu API documentation here:

https://github.com/axiell/imu-api-php#3-1-searching-a-module

The IMu API is included in the classpath with BIMu, so you can perform an IMu API search as shown in the original documentation.

StreamEOF error

If you're encountering a StreamEOF error from trying to return lots of records, your best bet is to run two separate queries. First, do a getAll() and only return the IRN (id) of the records, then loop through all of your returned IRNs (IDs) and perform a getOne() for each record.

Updating records

Use the updateOne() function if you'd like to update only one record.

Use the update() function if you'd like to update ALL of the records returned from a search.

Be sure you perform a search() before trying to update any records.

$valuesToUpdate needs to be an associative array of fields to update with their record values. $fieldsToReturn is an array of the backend record fields to return from the update.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$valuesToUpdate = [
    "NarTitle" => "My new title",
    "SumSubtitle" => "Updated subtitle"
];
$fieldsToReturn = ["irn", "NarTitle", "SumSubtitle"];
$record = $bimu->updateOne($valuesToUpdate, $fieldsToReturn);

Deleting records

Use the delete() function if you'd like to remove records from an EMu module.

Be sure you perform a search() before trying to delete records.

$numberOfRecordsToDelete specifies how many records you'd like to delete from the records returned from the search.

The delete() function returns the number of records deleted.

$bimu->search(["DesSubjects_tab" => "My Subject"], ["irn", "NarTitle"]);
$numberRecordsDeleted = $bimu->delete(1);

统计信息

  • 总下载量: 407
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-10-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固