Download the PHP package multco/bibliophpile without Composer

On this page you can find all versions of the php package multco/bibliophpile. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bibliophpile

NYPL Bibliophpile

PHP Wrapper for BiblioCommons API

Credit

Originally written by The New York Public Library: https://www.nypl.org/

Currently maintained by Multnomah County Library: https://multcolib.org/

Installation

Clone the repository, cd onto your cloned directory and run composer:

php composer.phar install 
php composer.phar install --dev

Run tests

alias phpunit='php vendor/phpunit/phpunit/phpunit.php'

phpunit tests

or

phpunit --testdox tests

Generate Documentation

Work fine with PHPDocumentor (and probably others as well).

phpdoc -d src -t docs

To install PHPDocumentor:

pear channel-discover pear.phpdoc.org
pear install phpdoc/phpDocumentor-alpha

NOTE: You may have to also install GraphViz in order for phpdoc to run without errors.

Run the Demo

If your are using PHP 5.4 or greater, you can use the built-in web server to run the demo:

php -S localhost:8000

Then go to browser and open `http://localhost:8000/demo.php

Basic Usage

Create a client:

$client = new \NYPL\Bibliophpile\Client('yourapikey');

Via the client you can retrieve the various other BiblioCommons API resources:

$library = $client->library('nypl'); // Returns a Library
$locations = $client->location('nypl'); // Returns a list of Location objects
$list = $client->itemList('1234567'); // Returns an ItemList
$title = $client->title('123456789'); // Returns a Title
$titles = $client->titles('Moby Dick', 'nypl'); // Returns a list of matching Title objects
$user = $client->user('1234567'); // Returns a User
$users = $client->users('example'); // Returns a list of matching User objects
$session = $client->session('a1b2c3d4-e5f6-g7h9-i9j0-k1l2m3n4o5p6'); // Returns a Session
$borrower = $client->borrower('123456'); // Returns a Borrower                       

A note about IDs

Many of the IDs in the examples above are clearly integer-like, but they passed and returned as strings.

Paginated Lists

Some methods return ItemLists Titles or Users objects, which are all paginated lists. Any method that returns a paginated list takes both a page and a limit parameter for the desired page from the results (default: 1) and the number of results per page (default: 10). For example:

// Searches NYPL for “Moby Dick” and returns the 5th page 
// with 20 items per page.
// Returns a Titles object
$client->titles('Moby Dick', 'nypl', 5, 20);

// Gets the 2nd page of lists made by the user, with the 
// default 10 items per page.
// Returns a Users object.
$user->userLists('123456', 2);

The objects themselves share the following methods:

Trying to get a page that does not exist (less than 1 or higher than the highest numbered page in the results) will raise a NoSuchPageException. Trying to get the next page when you are already at the end of the results raises an EndOfResultsException which can be caught and used a signal to exit a loop when fetching the entire results set.

Empty properties

Many objects returned by the BiblioCommons API can have empty, null, or missing properties. Nypl-bibliophpile handles all these cases by returning an empty array for properties that are expected to be arrays, or NULL for enything else.

Resources

Libraries

Library objects can be retrieved by ID:

$library = $client->library('nypl');
echo $library->id(); // "nypl"
echo $library->name(); // "New York Public Library"
echo $library->catalog(); // "http://nypl.bibliocommons.com"

Locations

A library can have a multiple locations (basically branches). The list of a library’s locations can be retrieved from the Library object:

$locations = $library->locations();
echo $locations[0]->name(); // "115th Street"

or from the client with the library’s ID:

$locations = $client->locations('nypl');

Individual locations also occur as properties in Copy (location of a particular copy) and Borrower objects (as a borrower’s preferred location).

Titles

A “title” can be a book, a DVD, a CD, or anything that can be checked out.

Methods:

additionalContributors() array Additional contributors as an array of names (strings)
authors() array Authors names as an array strings.
availability() Availability
callNumber() string
contents() array Table of contents as an array of strings.
copies() array An array of Copy objects.
description() string
details() string URL for the title on BiblioCommons.
edition() string
format() Format
id() string
isbns() array An array of the title's isbns as strings.
languages() array Array of the title's languages as strings.
name() string Returns the title's name (i.e. it's title, but this method can’t be called title() in order to avoid confusion with a constructor).
notes() array Notes on the title as an array of strings.
pages() int The number of pages
performers() array Title's performers and an array of strings.
physicalDescription() array Physical description of the title as an array of strings.
primaryLanguage() string
publishers() array Array of publishers names as strings.
series() array An array of Series objects.
statementOfResponsibility() string
subtitle() string
suitabilities() array An array of strings.
upcs() array The title's upcs as an array of strings.

Lists

BiblioCommons lists are user-generated lists of Titles

Retrieve a list by it's ID:

$list = $client->itemList('170265611');
echo $list->name(); // "Recommended by our librarians 4";

Titles

Retrieve a title by its ID (NB, the IDs are numeric, but still strings):

$title = $client->title('18708779052907');
echo $title->name(); // "Moby-Dick";

Retrieve the copies of a title:

$copies = $title->copies(); // Array of copy objects

You can also get the copies from the client with the title’s ID:

$copies = $client->copies('18708779052907');

Users

Retrieve a user by ID:

$user = $client->user('123456789');
echo $user->name(); // "fakeuser"

Search for users by username:

$users = $client->users('fakeuser');
$userlist = $users->users(); // array of results
count($users->users()); // 1
echo $userlist[0]->name(); // "fakeuser"

All versions of bibliophpile with dependencies

PHP Build Version
Package Version
Requires pear/http_request2 Version ~2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package multco/bibliophpile contains the following files

Loading the files please wait ....