这是本文档旧的修订版!
通过App-Link平台,我们可以创建一个Hello World应用作为开始,创建之后的应用有特定的文件夹结构,我们将在这一节熟悉App-Link项目的文件夹结构。
通常来说,用户通过FTP远程连接服务即可获得项目的控制权。
ProjectName(项目文件夹) ├──api ├──common ├──datamgr ├──js ├──logs ├ ├──debug ├ ├──error ├ └──info ├──model ├──modelmgr ├──product ├──upload ├──api.xml ├──config.inc.php └──menu.xml
下面我们将会介绍每个文件夹和和文件的功能。
api
将会用来放置你自定义的数据交互接口,以模块文件夹
/方法php文件
的方式放置在api文件夹下面。当用户不满足数据模型直接的增删查改时,便可调用自定义接口,在App-Link平台创建了自定义接口后将自动生成相关的PHP文件被调用,通过FTP直接打开修改编码即可。在自动生成的PHP代码文件中,你可以找到如何写API的文档。
common
文件夹是预留给开发者放置相关的项目需要的文件或者代码等。开发者可以放置任何东西在此文件夹中,但是我们通常建议开发者放置需要在项目中需要被全局引用的php文件或者第三方类库等和项目全局通用有关的文件或代码。举个例子,我们需要做微信登录功能,那么你可以把微信登录相关的第三方类库放到common下面,并且common下面声明wechat.inc.php,里面则是引用了第三方类库的登录的具体代码。开发者在其他地方引用wechat.inc.php文件则直接可以调用登录相关的方法。
datamgr
文件夹是对于common文件夹的一个补充,如果说common是一个放置全局文件被引用的文件夹的话,那么datamgr
文件夹则是放置某个功能的对象代码的文件。接着补充common中微信登录的例子,有良好习惯的开发者并不会在inc.php文件中写太多具体实现的代码,因为我们会在datamgr
中编写wechat.cls.php,这里编写相关调用微信登录的业务逻辑详细代码。
当开发者想扩展数据管理中心的功能时,便可以在此文件夹中找到相关模块的js
文件,对js文件的代码进行修改,以达到扩展UI的目的。
logs
文件夹主要是对于logs的记录,现在系统分为三种层级的日志:debug
的日志是座位调试模式的log,会详细记录下所有的SQL请求。但是如果修改config.inc.php
配置为非debug版本,那么此文件夹则不会再有记录生成。error
日志是当php代码处理出现错误时,则将log记录到error目录下。info
则是作为观测日志使用,默认会讲API的请求的输入和输出写入info日志,开发者也可以自定义代码写入info中。
model
文件夹是放置开发者定义的数据模型的文件夹,里面可以找到相关的数据模型与其相关的属性的定义,开发者可以在此手动删除某个数据模型或者修改。
modelmgr
文件夹是放置数据模型的扩展的php代码。开发者在此文件夹中可以找到相关的数据模型的php文件,查看php代码文件可以看到有涉及不同增删查改请求时的重载方法,当开发者需要对对象进行高级扩展时,便可以在此文件中修改。
当开发者完成了前端应用的开发之后,可以在平台中上传相关的源代码。那么上传的源代码最终就是来到此文件夹中。换言之,当你购买了其它开发者的应用后,你也是在此文件夹中获取代码,编译,重构上线。
upload
文件夹是放置用户在使用数据管理中心时上传的文件。如果在config.inc.php
设置了把文件上传到别处,此文件夹就不起作用。
在App-Link平台中数据接口
的管理直接与此api.xml文件关联。
在App-Link平台中创建了应用并且完成配置后,则直接生成此文件。在此配置数据连接信息等,当开发者需要将项目发布到私有服务器中,修改此文件就可以了。
在App-Link平台中数据中心菜单
的管理直接与menu.xml文件关联。
以上则是一个完整的App-Link创建应用之后的项目结构,开发者通常会在此目录下进行二次开发扩展的工作。同样,当App-Link将应用发布到开发者私有服务器时,也会将以上的文件夹发送过去。开发者只需要简单修改一下config.inc.php
完成私有信息的修改即可。其它一切,则不需要开发者关心,将开发者要考虑和要做的事情减少到最少。