应用开发课程文档一.docx
《应用开发课程文档一.docx》由会员分享,可在线阅读,更多相关《应用开发课程文档一.docx(13页珍藏版)》请在冰豆网上搜索。
![应用开发课程文档一.docx](https://file1.bdocx.com/fileroot1/2023-1/14/0e4e9d47-ed22-4b45-a068-56938d8c6cea/0e4e9d47-ed22-4b45-a068-56938d8c6cea1.gif)
应用开发课程文档一
前言部分:
学会MetInfo应用开发能够做出自己想要实现的功能或效果并兼容系统升级的应用,开发者不必了解原有系统结构,即可开发应用,应用开发既能提升开发能力和开发经验又有回报,如果你正在初学应用开发,可能会为从何着手而感到困惑。
本课程为MetInfo应用开发入门提供了一个完美的开端,跟随课程的指引,你会对我们的系统新框架有个初步的了解,并随着在课程中的开发实践,从而在开发应用中得心应手。
我需要掌握哪些语言?
▪PHP:
熟练,PHP教程;
▪HTML:
基本了解,HTML教程;
▪CSS:
基本了解,CSS教程;
▪JavaScript(简称JS):
基本了解,JS教程;
推荐一个开发编码软件:
notepad++
软件说明:
非常棒的轻量级代码编辑器。
链接:
下载
环境搭建:
要开发应用,就必须搭建 MetInfo运行所需要的环境以及安装MetInfo,以便在你自己的电脑上就能够制作和测试。
搭建完成之后相当于你自己的电脑就是一个网站服务器,能够安装和运行网站,运行浏览器网址栏输入http:
//localhost/就能访问本地网站,当然,外网是无法访问的。
首先,你需要在本地电脑搭建网站运行环境:
MetInfo基于PHP+Mysql架构,因此需要在你的电脑上安装能够支持PHP+Mysql程序运行的环境,这里我们推荐wamp集成环境,使用简单方便。
wamp环境搭建教程
然后,你需要在本地电脑安装MetInfo:
1、从 MetInfo官网 下载最新版本;
2、在本地电脑wamp网站根目录下新建文件夹,名称自定义,如metinfo;
3、把下载的MetInfo最新版本解压到metinfo 下;
注意解压后metinfo下要直接能找到index.php等众多程序文件,而不能在其子文件夹下;
4、运行浏览器,访问 http:
//localhost/metinfo/即可进入安装界面;
5、按照步骤一步一步操作完成安装;
注意:
数据库信息中的数据库名称自定义填写,数据库帐号root,密码不用填写。
安装应用框架:
第一步:
安装系统
必须安装MetInfo企业网站管理系统5.2.9以上版本(包括5.2.9版本)系统下载地址
注意:
系统最新补丁版本号:
11号补丁(10月23日发布),系统会自动进行补丁安装,如发现应用框架调用问题,可能是自动补丁失败,可以尝试重新下载并安装系统。
或者在后台“企业应用”->“网站体检”中体检修复文件。
第二步:
安装应用框架包
下载应用框架包,解压后把APP文件夹复制到网站根目录下。
应用框架版本:
beta1.014
更新日期:
2014年11月17日
点击下载
MetInfo应用框架特点
一、全新架构设计:
MetInfo应用框架采用oop(面向对象程序设计),具有强大的可扩展性,同时代码维护方便。
基于框架开发的应用,不需要维护代码或只要少量维护代码即可以随系统升级。
二、独立系统:
是一个完全独立于原系统外的一个子系统,开发者不必了解原有系统结构,即可开发应用。
三、应用市场:
基于MetInfo应用框架开发的应用,通过官方审核后,可以上架到官网应用市场中供其他用户下载,价格由开发者自定。
逻辑结构:
1.应用框架与现有系统通过接口传递数据
2.框架核心包括:
common.class.php(一级基类),web.class.php(二级基类,前台基类),admin.class.php(二级基类,后台基类)。
应用的所有模块不直接继承common.class.php(一级基类),前台模块继承web.class.php(二级基类,前台基类),后台模块继承admin.class.php(二级基类,后台基类)。
3.应用框架提供功能类,函数,公用模块,框架核心和应用都可以调用这些方法。
应用内部也可以定义功能类,函数,供自己使用。
4.应用可以通过插件方式把自己代码嵌入到系统核心中。
文件结构:
01
|--app应用框架文件夹,存放框架文件和应用文件
02
|--system应用框架系统文件
03
|--entrance.php框架入口
04
| |--include应用框架公用文件
05
| |--class应用框架类
06
| |--compatible应用框架兼容当前系统前台模板文件
07
| |--function应用框架方法
08
| |--module应用框架公用模块
09
| |--public应用框架公用模板文件夹
10
| |--js公用JS
11
| |--ui公用UI(html代码)
12
|--app应用文件夹
13
|--entrance.php应用入口文件,实际指向框架入口。
14
|--yingyong1一个应用
15
|--yingyong2一个应用
16
|--admin应用后台模块
17
|--templates应用后台模板文件夹
18
|--web应用前台模块
19
|--templates应用前台模板文件夹
20
|--include应用自定义公用文件
21
|--class公用类文件
22
|--function公用函数文件
23
|--plugin应用插件
24
|--icon.png应用图标
系统入口:
系统入口采用单入口设计,但在实习操作中考虑到SEO优化,安全等其他因素,系统实际上是有许多入口指向了系统真实入口,但直接访问真实入口是无法进入系统的。
app/system/entrance.php入口:
app/system/entrance.php是系统的唯一入口。
系统通过下面5个常量定义,来加载不同的类的不同方法,从而实现系统功能。
M_TYPE:
需要加载类的类型。
有两个取值,system系统类。
app应用类。
系统默认会赋值system。
M_NAME:
需要加载类所属的应用系统名称,如果加载的是系统类,则为空。
即M_TYPE为system。
M_MODULE:
需要加载类的类型。
web前台模块。
admin后台模块。
include公用模块。
M_CLASS:
需要加载子模块名称。
实质上是一个继承了二级基类的子类。
M_ACTION:
加载模块所调用的方法,方法必须以do开头,比如doindex。
只要通过定义这五个变量,然后include一下系统入口文件(app/system/entrance.php)。
就可以调用到对应的模块的方法。
一般代码结构如下:
1
define('M_TYPE', 'system');
2
define('M_NAME', 'cechi');
3
define('M_MODULE', 'web');
4
define('M_CLASS', 'cechi');
5
define('M_ACTION', 'doindex');
6
require_once '../app/system/entrance.php';
app/app/entrance.php入口:
应用入口,系统应用程从此入口进入,不需要指定M_TYPE。
一般代码结构如下:
1
define('M_NAME', 'cechi');
2
define('M_MODULE', 'web');
3
define('M_CLASS', 'cechi');
4
define('M_ACTION', 'doindex');
5
require_once '../app/app/entrance.php';
后台的入口:
admin/index.php?
n=应用名称&c=类名称&a=方法名称&m=模块类型
此入口为后台的入口,除M_TYPE外的四个常量可以通过发送GET来指定。
M_TYPE:
从此入口进入,如果n有值,则M_TYPE为app,没有为system。
M_NAME:
n的值。
M_MODULE:
如果m不为include,则M_MODULE默认为admin。
否侧为include。
M_CLASS:
c的值。
M_ACTION:
a的值。
一般情况下应用后台from,a标签的地址可以写为admin/index.php?
n=应用名称&c=模块名称&a=方法名称
前台的入口:
前台页面需要自己新建一个文件,比方说ceshi/index.php文件。
然后再文件里面,指定上面5个常量的值,也可以是get/post变量的值。
一般代码结构如下:
viewsource
print?
1
define('M_NAME', 'ceshi');
2
define('M_MODULE', 'web');
3
define('M_CLASS', 'ceshi');
4
define('M_ACTION', 'doindex');//或define('M_ACTION',$GET[‘action’]);
5
require_once '../app/app/entrance.php';//因为入口是app所以不要赋值M_TYPE。
程序结构:
commom类为系统一级基类,admin(后台模块基类),web(前台模块基类)都继承于他,其他所有的模块,都是要继承与这两个基类,后台模块就继承admin,前台模块就继承web。
一般一个模块文件代码如下:
01
defined('IN_MET') or exit('Nopermission');//所有文件都是已这句话开头,保证系统单入口。
02
load:
:
sys_class('admin.class.php');//包含后台基类,如果是前台包含web.class.php。
03
class ceshi extends admin{//继承后台基类。
类名称要与文件名一致
04
public function __construct(){
05
parent:
:
__construct();//如果重写了初始化方法,一定要调用父类的初始化函数。
06
}
07
public function doindex(){//定义自己的方法
08
//自己的代码
09
}
10
}
如果想执行doindex这个方法。
运行:
域名/admin/index.php?
n=ceshi&c=ceshi&a=doindex
注:
建立的模块类名要和文件名一致,后台模块要建议在admin文件中,前台模块要建立在web文件夹中。
应用注册:
应用注册表:
met_applist,所有应用必须到此表中注册。
字段名
类型
是否为空
默认
属性
注释
id
int(11)
否
无
主键
no
int(11)
否
无
应用编号,本地自己开发的应用编号在1001到10000之间。
1000以前是系统保留,10000之前为上线到官方应用市场中使用的编号,由官方分配。
ver
varchar(50))
否
无
应用版本号
m_name
varchar(50))
否
无
应用系统名称,也就是你在app/app下建立应用夹名称。
他是系统识别应用的一个名称。
只能是英文、数字、下换线组成。
m_class
varchar(50))
否
无
默认启动的应用模块。
m_action
varchar(50))
否
无
默认启动的应用模块的方法。
appname
varchar(50))
否
无
应用名称,如:
防伪码查询,这种文本文字,也可以使用$_M[word][]中的语言数据。
这样就有可以实现多语言。
使用这种方法直接在字段中填写$_M[word][]即可。
info
text
否
无
应用的简介描述,同样可以使用$_M[word]中的语言变量。
addtime
varchar(50))
否
无
应用发布时间。
unix时间戳。
updatetime
varchar(50))
否
无
应用更新时间。
unix时间戳。
注:
一条数据即代表一个应用,每个应用都必须要注册,注册后可以在企业应用中看到此应用。
新建应用步骤:
一.在数据库met_applist中插入一条数据。
进行注册。
详细注册方法,请参考应用注册
二.在app/app/文件中建立应用夹,并建立对应文件。
1.在app/app目录下,新建一个应用文件夹。
应用文件夹名称必须是应用系统名称。
2.新建admin(如果应用有后台模块),新建web(如果应用有前台模块),新建plugin(如果系统有插件就新建这个文件)。
里面可以新建类文件,类文件一定是用.class.php做后缀。
比方说说ceshi.class.php
3.在admin、web可以新建相应的模块的类文件,但是类名称要与类文件名称一致。
比方说在admin中新建一个ceshi.class.php。
则里面的类文件名称也是classceshi。
三.如果需要建立前台入口。
可以在前台建立入口。
根据应用实际需求建立,如果应用不需要前台文件,可以不建立,代码一般为:
viewsource
print?
1
define('M_NAME', '应用系统名称');
2
define('M_MODULE', 'web');
3
define('M_CLASS', '模块名称');
4
define('M_ACTION', '执行方法名');
5
require_once '../app/app/entrance.php';