airmoi / filemaker
重写的FileMaker PHP-API
3.0.0-beta2
2022-10-04 13:33 UTC
Requires (Dev)
- phpunit/phpunit: ^5.6
- psalm/phar: ^3.10
This package is auto-updated.
Last update: 2024-08-31 00:29:21 UTC
README
FileMaker® PHP API为PHP 5.5+重写。它与PHP 7.0+兼容,并使用PSR-4自动加载规范。
特性
此版本的PHP-API为官方API增加了以下功能
- 使用异常处理错误(您可以使用选项'errorHandling' => 'default'来恢复原始行为)
- PSR-4自动加载和通过composer安装
- PHP 7.0+兼容性
- 使用'dateFormat'选项选择输入/输出日期格式
- 使用'emptyAsNull'选项将空值返回为null
- 支持使用PerformScript命令的setRange()方法(如CWP支持)
- 一个获取您最后CWP调用URL的方法:
$fm->getLastRequestedUrl()
- 一个检查findRequest是否为空的方法:
$request->isEmpty()
- 一个获取记录中字段的值列表的方法:
$record->getValueListTwoField('my_field')
- 实验性的'useDateFormatInRequests'允许您在请求中使用定义的'dateFormat'(支持通配符和范围)
要求
- PHP >= 5.5
- (可选)PHPUnit以运行测试。
安装
使用Composer
您可以使用composer
包管理器来安装。运行以下命令之一:
$ php composer.phar require airmoi/filemaker "*"
或添加以下内容到您的composer.json文件中
"airmoi/filemaker": "^2.2"
手动安装
您还可以轻松地将API手动安装到项目中。只需下载源ZIP并将其内容提取到项目中。
用法
步骤1:阅读下面的'重要通知'。
步骤2:包含API自动加载
如果您正在使用composer,此步骤是可选的。
require '/path/to/autoloader.php';
步骤3:创建一个FileMaker实例
步骤4:使用它的方式与官方API大致相同...
use airmoi\FileMaker\FileMaker; $fm = new FileMaker($database, $host, $username, $password, $options);
...并且享受您的首选IDE的代码完成功能和PHP 7支持,无需注意/警告。
您还可以通过阅读位于“demo”文件夹中的sample.php
文件来查找示例用法。
示例演示代码
重要通知
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(); }
2.1版本的发布旨在提高与原始FileMaker PHP-API的兼容性。但是,您需要更改代码中的一些内容才能使用它
与官方包相比的主要变化包括
调用autoloader.php而不是FileMaker.php来加载API
- API现在支持异常错误处理,您可以通过更改属性'errorHandling'到'default'或'exception'(默认值为'exception')在行为之间切换
- 不再有'conf.php',使用"setProperty"来定义特定API的设置。您还可以在FileMaker实例化时使用属性数组,例如:new FileMaker($db, $host, $user, $pass, ['property' => 'value'])
- 所有常量现在都是FileMaker类的一部分,使用FileMaker::
而不是 - 请注意,FILEMAKER_SORT_ASCEND/DESCEND已被重命名为FileMaker::SORT_ASCEND/FileMaker::SORT_DESCEND
- 您可以使用FileMaker®提供的官方PHP-API指南来了解其他所有内容。
待办事项
完成PHPunit测试
- 添加功能测试
- 改进解析器
- 添加新的解析器
- 文档
- 许可证
FileMaker PHP API在BSD许可证下授权 - 请参阅LICENSE文件以获取详细信息
致谢
贡献者
贡献者
- 感谢 Matthias Kühne 为 PSR-4 实现和代码文档修复做出的贡献。
- 感谢 jeremiahsmall 改进了错误处理。