【发布时间】:2017-08-08 09:06:33
【问题描述】:
好的,所以我正在使用此 API https://github.com/donbalon4/API_Alfresco 从其他服务的其他 PHP 站点将文件上传到 Alfresco。我没有任何代码问题,只是在我使用它时,我想到了一些关于如何正确使用 API 的疑问。
我基本上是用它在我的 Alfresco Share 中创建一些目录。正如我所说,它运行良好,所以问题不在于我的代码,而在于如何正确使用 API(或任何一般的 API)。
首先,如果您查看该 API,您会看到每个方法是如何处理异常,即如果您尝试创建一个已经存在的文件夹,则会引发异常有适当的信息。
到目前为止,我只是使用 API 创建多个目录 到某个父根目录中,其中一些目录可能具有相同的名称。所以当他们这样做时,我根本不需要创建它们(因为目录已经存在)并且不需要抛出任何异常或显示给最终用户。
实现这一目标的最佳方法是什么?我不想修改 API,因为它会与它的真正含义相矛盾。如果每个人都修改了现有的 API,那么它就不再是 API。我可以简单地删除我正在使用的方法的异常处理,但我认为这不是一个好习惯。
我还意识到有一个名为 existsFolder() 的 private 方法供内部使用。我也许可以将其更改为 public,这样我就可以在我的实际 PHP 代码中使用它来检查给定文件夹是否已经存在,但我也不知道这是否是一个好方法。
管理已经存在的目录的最佳方法是什么?将异常处理替换为向最终用户显示的文本消息?或者公开 existsFolder() 方法?我可能会遗漏任何其他想法吗?
【问题讨论】:
-
为什么不使用 CMIS 与 Alfresco 对话? Apache Chemistry 提供了一个很好的客户端库,您可以从 PHP 中使用 - chemistry.apache.org/php/phpclient.html
-
这正是我正在使用的! API_Alfresco(我在帖子中提供的链接)实际上使用了 Apache Chemistry。它只是让通过 CMIS(和 Apache Chemistry)对 Alfresco 执行基本文件/文件夹操作变得更加容易。
标签: apache api alfresco cmis chemistry