Download the PHP package rcconsulting/myfmapilibrary-for-php without Composer
On this page you can find all versions of the php package rcconsulting/myfmapilibrary-for-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package myfmapilibrary-for-php
FileMaker 17/18/19/20/21/22 Data API wrapper - myFMApiLibrary for PHP
Team
Lesterius is a European FileMaker Business Alliance Platinum member that operates in Belgium, France, the Netherlands, Portugal and Spain. We are creative business consultants who co-create FileMaker Platform based solutions with our customers.\
Sharing knowledge takes part of our DNA, that's why we developed this library to make the FileMaker Data API easy-to-use with PHP.\
Break the limits of your application!\

Richard Carlton Consulting is a full-stack Claris FileMaker development consultancy, serving clients globally with any and all FileMaker-related needs. We also publish the largest and most complete video training course for the FileMaker Community.
Description
This library is a PHP wrapper for the Claris FileMaker Data API. It supports version 17/18/19 Data API commands, though if you use an 18 command (metadata commands for ex) on 17, it will fail.
You will be able to use every functions like it's documented in your FileMaker server Data Api documentation (accessible via https://[your server domain]/fmi/data/apidoc).
General FileMaker document on the FMS 17 Data API is available here
General FileMaker document on the FMS 18 Data API is available here
General FileMaker document on the FMS 19+ Data API is available here
Rationale
This fork is to bring greater out of the box compatibility to the myFMApiLibrary library vs the Lesterius upstream code. We're immensely grateful for the hard work Lesterius put in. Pull Requests welcome.
Requirements
Library version <2.1.0:
- PHP >= 5.5
- PHP cURL extension
- PHP mbstring extension
Library version >=2.1.0:
- PHP >= 7.1
- PHP cURL extension
- PHP mbstring extension
Library version >=3.0.0:
- PHP >= 8.3
- PHP cURL extension
- PHP mbstring extension
- Guzzle
Installation
The recommended way to install it is through Composer.
After installing, you need to notate that you'll use this library, and require Composer's autoloader:
Usage
Prepare your FileMaker solution
- Enable the FileMaker Data API on your FileMaker Server Admin Console.
- Create a user in your FileMaker database, with a custom privilege set that has at least the 'fmrest' extended privilege enabled
- Define records & layouts access for this user
Use the library
Login
Login with credentials:
One-line example of Login with Credentials and all Options:
Login with oauth:
Logout
HTTP Client Options
The library supports multiple HTTP client implementations through an abstraction layer. You can choose between cURL-based and Guzzle-based HTTP clients using either type-safe enumerations or backward-compatible strings.
Available HTTP Clients
CurlClient (Default)
- Uses PHP's native cURL extension
- Lightweight and fast
- Default choice for backward compatibility
GuzzleClient
- Uses the Guzzle HTTP client library
- Better HTTP/2 support
- Advanced features like middleware support
- Better error handling and debugging capabilities
Usage Examples
Using HttpClientType Enumeration (Recommended):
Using String Values (Backward Compatibility):
Constructor Parameters:
Benefits of HTTP Client Abstraction
- Flexibility: Switch between HTTP implementations without changing your code
- Future-proofing: Easy migration to new HTTP client libraries
- Testing: Better mocking capabilities with Guzzle
- Performance: Choose the best client for your specific needs
- Backward Compatibility: Existing code continues to work unchanged
Create record
Delete record
Edit record
Get record
Get records
Find records
Blind Fire Script
Set global fields
Upload file to container
File Passed Via WebForm
File On Server
library helper methods
token usage
FileMaker Data API session tokens last 15 minutes from last use. By default, this library will manage them for you. If you use the login() methods, the library will log in again automatically to retreive a new token if the one you are using has expired.
This allows easy management, and separation by user, database, or privilege set. You can easily separate different data sets, databases, or privileged access views by launching (new) and managing multiple data api objects at once.
If you wish to manage these session tokens directly, you can use the methods below.
update object settings
ToDo:
All versions of myfmapilibrary-for-php with dependencies
ext-curl Version *
ext-mbstring Version *
guzzlehttp/guzzle Version ^7.9
ext-fileinfo Version *