MySQL 数据转换:
是的,如果您的数据库足够小,FmPro Migrator 的演示版将转换数据库并为您构建一个 PHP Web 应用程序 - 免费。
以下是演示版的限制:
PHP 网络应用程序:
大多数人没有意识到这一点,但有大量 XML 格式的 FileMaker 元数据可用于执行这些类型的转换。此 XML 信息可通过通过剪贴板复制布局或从数据库设计报告 XML 文件中读取来获得。我发现剪贴板数据是最可靠的信息来源。
FmPro Migrator 能够解析 XML 并将其转换为 PHP Web 应用程序。
布局上的每个对象都用 XML 表示,以及样式和位置信息。此信息可用于创建表示与原始布局相同外观的表单文件。事实上,如果您实现了所有对象属性,就很难看出 Web 应用程序和原始数据库之间的区别。这对于公司不想重新培训员工的情况很有帮助。他们希望 Web 应用程序的外观和工作方式与原始桌面应用程序相同。
我最近在 CakePHP 框架中做了一些这样的转换。这是我使用的一些技术:
自动输入计算字段 - 计算存储的计算字段并存储在模型中,将记录保存到数据库。
未存储的计算字段 - 未存储的计算字段在表单控制器中实时计算 - 但仅适用于实际显示在表单上的字段。如果它们没有在表单上使用,这可以防止不必要地计算这些值,从而提高性能。
全局字段 - FileMaker 中的全局字段与编程语言中的全局变量一样使用。重要的是要知道每个 FileMaker 用户都有自己的全局字段数据的私有副本。MySQL 或其他 SQL 数据库服务器没有等效功能,但可以使用 SESSION 变量轻松模拟此功能。因此,每个 Web 用户仍将获得他们自己的私有 SESSION 数据,模拟 FileMaker 数据库中最初存在的相同功能。我在模型数据数组中构建这些全局变量,就好像它们是从模型中检索的一样,这意味着转换后的脚本和表单上的字段可以轻松引用它们。就在记录被写入数据库之前,结果被保存到 SESSION 变量中以保持持久性。
脚本中的全局变量 - 如果您想实现相同的功能,FileMaker 脚本中的全局变量与 PHP SESSION 变量的使用非常匹配。
矢量图形对象 - FileMaker 布局通常包括矩形、椭圆和线对象。这些对象可以替换为 RafaelJS 库,提供高质量分辨率的独立图形。
值列表 - 基于自定义和字段的值列表在 AppController.php 文件中的集中位置实现。因此,在 AppController 中更改值列表的定义,成功地在整个应用程序中自动更改菜单。