PHPackages                             airmoi/filemaker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. airmoi/filemaker

ActiveLibrary[Database &amp; ORM](/categories/database)

airmoi/filemaker
================

Rewritten FileMaker PHP-API

2.5.0(2y ago)83123.5k↓30.3%36[11 issues](https://github.com/airmoi/FileMaker/issues)3BSD-3-ClausePHPPHP ^5.5|^7.0|^8.0CI failing

Since May 11Pushed 6mo ago10 watchersCompare

[ Source](https://github.com/airmoi/FileMaker)[ Packagist](https://packagist.org/packages/airmoi/filemaker)[ RSS](/packages/airmoi-filemaker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (31)Used By (3)

FileMaker® PHP-API
==================

[](#filemaker-php-api)

FileMaker® PHP API rewritten for PHP 5.5+. It is compatible with PHP 7.0+ and uses PSR-4 autoloading specifications.

Features
--------

[](#features)

This version of the PHP-API add the following feature to the offical API :

- Error handling using Exception (you can restore the original behavior using option 'errorHandling' =&gt; 'default')
- PSR-4 autoloading and installation using composer
- PHP 7.0+ compatibility
- 'dateFormat' option to select the input/output date format
- 'emptyAsNull' option to return empty value as null
- Support setRange() method with PerformScript command (as supported by CWP)
- A method to get the url of your last CWP call: `$fm->getLastRequestedUrl()`
- A method to check if a findRequest is empty: `$request->isEmpty()`
- A method to get the value list associated to a field from a Record: `$record->getValueListTwoField('my_field')`
- EXPERIMENTAL 'useDateFormatInRequests' allow you to use defined 'dateFormat' in request (support wildcards and range)

Requirements
------------

[](#requirements)

- PHP &gt;= 5.5
- (optional) PHPUnit to run tests.

Installation
------------

[](#installation)

### Using Composer

[](#using-composer)

You can use the `composer` package manager to install. Either run:

```
$ php composer.phar require airmoi/filemaker "*"

```

or add:

```
"airmoi/filemaker": "^2.2"

```

to your composer.json file

### Manual Install

[](#manual-install)

You can also manually install the API easily to your project. Just download the source [ZIP](https://github.com/airmoi/FileMaker/archive/master.zip) and extract its content into your project.

Usage
-----

[](#usage)

STEP 1 : Read the 'Important Notice' below

STEP 2 : include the API autoload

```
require '/path/to/autoloader.php';
```

*This step is facultative if you are using composer*

STEP 3 : Create a FileMaker instance

```
use airmoi\FileMaker\FileMaker;

$fm = new FileMaker($database, $host, $username, $password, $options);
```

STEP 4 : use it quite the same way you would use the offical API...

...And enjoy code completion using your favorite IDE and php 7 support without notice/warnings.

You may also find sample usage by reading the `sample.php` file located in the "demo" folder

### Sample demo code

[](#sample-demo-code)

```
use airmoi\FileMaker\FileMaker;
use airmoi\FileMaker\FileMakerException;

require('/path/to/autoloader.php');

$fm = new FileMaker('database', 'localhost', 'filemaker', 'filemaker', ['prevalidate' => true]);

try {
    $command = $fm->newFindCommand('layout_name');
    $records = $command->execute()->getRecords();

    foreach($records as $record) {
        echo $record->getField('fieldname');
        ...
    }
}
catch (FileMakerException $e) {
    echo 'An error occured ' . $e->getMessage() . ' - Code : ' . $e->getCode();
}
```

Important notice
----------------

[](#important-notice)

The 2.1 release aims to improve compatibility with the original FileMaker PHP-API. However, you will need to changes few things in your code in order to use it

The major changes compared to the official package are :

- Call autoloader.php instead of FileMaker.php to load the API
- API now support Exceptions error handling, you may switch between those behaviors by changing property 'errorHandling' to 'default' or 'exception' (default value is 'exception')
- There is no more 'conf.php' use "setProperty" to define specifics API's settings. You may also use an array of properties on FileMaker instanciation, ie : new FileMaker( $db, $host, $user, $pass, \['property' =&gt; 'value'\])
- All constants are now part of the FileMaker class, use FileMaker::&lt;CONSTANT\_NAME&gt; instead of &lt;CONSTANT\_NAME&gt;
- Also notice that FILEMAKER\_SORT\_ASCEND/DESCEND have been renamed to FileMaker::SORT\_ASCEND/FileMaker::SORT\_DESCEND

You can use the offical [PHP-API guide](https://fmhelp.filemaker.com/docs/14/fr/fms14_cwp_guide.pdf) provided by FileMaker® for everything else.

TODO
----

[](#todo)

- Finish PHPunit test
- Add functionnal tests
- Improve parsers
- Add new parsers
- Documentation

License
-------

[](#license)

FileMaker PHP API is licensed under the BSD License - see the LICENSE file for detail

Credits
-------

[](#credits)

### Contributors

[](#contributors)

- Thanks to [Matthias Kühne](https://github.com/MatthiasKuehneEllerhold) for PSR-4 implementation and code doc fixes.
- Thanks to [jeremiahsmall](https://github.com/jeremiahsmall) for improving error handling.

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance43

Moderate activity, may be stable

Popularity48

Moderate usage in the ecosystem

Community27

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 89.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~121 days

Recently: every ~341 days

Total

27

Last Release

874d ago

Major Versions

2.3.0 → 3.0.0-beta12020-04-20

PHP version history (3 changes)3.0.0-beta2PHP ^5.6|^7.0

2.4.0PHP ^5.5|^7.0

2.5.0PHP ^5.5|^7.0|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/931b97c20b43bcc827fdd420fda3cca79f6758a6768e2e4ab54d6ff86922d358?d=identicon)[airmoi](/maintainers/airmoi)

---

Top Contributors

[![airmoi](https://avatars.githubusercontent.com/u/2822333?v=4)](https://github.com/airmoi "airmoi (217 commits)")[![MatthiasKuehneEllerhold](https://avatars.githubusercontent.com/u/19988979?v=4)](https://github.com/MatthiasKuehneEllerhold "MatthiasKuehneEllerhold (10 commits)")[![dawehner](https://avatars.githubusercontent.com/u/29678?v=4)](https://github.com/dawehner "dawehner (6 commits)")[![jeremiahsmall](https://avatars.githubusercontent.com/u/814871?v=4)](https://github.com/jeremiahsmall "jeremiahsmall (4 commits)")[![jomla97](https://avatars.githubusercontent.com/u/14143924?v=4)](https://github.com/jomla97 "jomla97 (3 commits)")[![ejsexton82](https://avatars.githubusercontent.com/u/6025431?v=4)](https://github.com/ejsexton82 "ejsexton82 (1 commits)")[![anhyeuviolet](https://avatars.githubusercontent.com/u/6290970?v=4)](https://github.com/anhyeuviolet "anhyeuviolet (1 commits)")

---

Tags

FileMakerPHP-API

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/airmoi-filemaker/health.svg)

```
[![Health](https://phpackages.com/badges/airmoi-filemaker/health.svg)](https://phpackages.com/packages/airmoi-filemaker)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[mevdschee/php-crud-api

Single file PHP script that adds a REST API to a SQL database.

3.7k63.8k9](/packages/mevdschee-php-crud-api)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)[wildside/userstamps

Laravel Userstamps provides an Eloquent trait which automatically maintains `created\_by` and `updated\_by` columns on your model, populated by the currently authenticated user in your application.

7511.7M13](/packages/wildside-userstamps)[usmanhalalit/laracsv

A Laravel package to easily generate CSV files from Eloquent model.

6151.7M4](/packages/usmanhalalit-laracsv)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
