全部 程序开发 程序使用 应用使用 插件使用 第三方库 开发工具 php学习 API接口

ThinkSAAS应用组件(app)开发介绍

开源社区
发表于 2020-10-22 18:03:15

ThinkSAAS对于app应用组件的开发将进入一个全新的开发方式,我相信这种开发方式更加友好和简单。

一个APP应用组件功能结构如下,例如唠叨(app/weibo):

action目录
存放控制器php文件
html目录
存放html模板文件
js目录
存放js文件
skin目录
存放css等文件
about.php
功能版本信息介绍
class.weibo.com
应用数据库操作及通用的方法操作类
config.php
应用配置文件

APP应用组件

app应用组件开发是指在ThinkSAAS的基础上开发大型的APP应用扩展程序。

app应用组件都放在系统根目录app目录下 

下面我们以小组(group)为例介绍如何创建一个APP

1、在app目录下创建group目录

2、进入到group目录分别建立以下文件和目录

action--------程序执行目录(必须)

html----------模板存放目录

js------------JS文件目录(此目录不能为空,无js代码时需放入空文件以extend.func.js命名)

skin---------皮肤目录(此目录不能为空,无css代码时需在skins下放入空文件以style.css命名)

about.php------------------app组件说明文件(必须)

class.group.php------------app组件类函数(必须)

config.php-----------------app组件配置文件(必须)

3、修改config.php文件

即修改组件的配置文件,其实大部分情况下就一样代码,以下为config.php代码:

defined('IN_TS') or die('Access Denied.');
require_once THINKDATA."/config.inc.php";//包含配置文件
$TS_APP['appname'] = '小组';//定义当前APP名称

4、修改class.group.php文件

注意:类名必须和app名字一致

defined('IN_TS') or die('Access Denied.');
class group extends tsApp{
    //构造函数
    public function __construct($db){
        $tsAppDb = array();
        include 'app/group/config.php';
        //判断APP是否采用独立数据库
        if($tsAppDb){
            $db = new MySql($tsAppDb);
        }
        parent::__construct($db);
    }
}
5、修改about.php文件
defined('IN_TS') or die('Access Denied.');
return array(
	'name'	=> '小组',//APP名称
	'version'	=> '1.2',//版本号
	'desc'	=> '小组,群组,BBS,社区讨论,创建小组,发表帖子',//APP介绍
	'url' => 'http://www.thinksaas.cn',//开发者网址
	'email' => [email protected]',//开发者Email
	'author' => '张三',//开发者名称
	'author_url' => 'http://www.thinksaas.cn',//开发者网址
	'isoption'	=> '1',//针对后台是否有选项配置
	'isinstall'	=> '1',//针对后台是否安装:1安装0未安装
	'issql' => '1',//针对后台是否有SQL文件0无1有
	'issystem'	=> '1',//是否系统级别应用
	'isappnav'	=> '1',//是否可以显示在导航栏
	'ismy'=>'1',//是否可以显示在我的社区左侧导航栏
);

6、在action目录下建立2个必须的php文件

admin.php、index.php

APP组件管理入口文件:app/group/action/admin.php

defined('IN_TS') or die('Access Denied.');
//管理入口
if(is_file('app/'.$app.'/action/admin/'.$mg.'.php')){
    include_once 'app/'.$app.'/action/admin/'.$mg.'.php';
}else{
    tsNotice('sorry:no index!');
}

APP组件前台入口文件:app/group/action/index.php

defined('IN_TS') or die('Access Denied.');
//首页
echo "hello world!";

7、测试app运行

在浏览器url地址栏中输入:

http://你的域名/index.php?app=group

会显示如下信息:

hello world

566 1

评论 (1)