AMP开发技术文档
AMP系统目录结构 ------------------------------------------------------------------
Amysql) 系统目录
| Amysql.php
| Config.php
Controller) 控制器文件目录
Model) 数据模型文件目录
View) 视图模板文件目录
| AmysqlNotice.php
Class) 对象类文件目录
index.php
AMP运行流程 ---------------------------------------------------------------------------
为了更好的掌握应用AMP,我们先来简单了解下AMP运行流程。
01) index.php ? 载入配置文件、系统文件进入系统层(A层)。实例化主进程Amysql、实例化进程AmysqlProcess ? 分析用户请求控制器与方法并执行。
02) 执行用户控制器方法进行逻辑处理层(C层)同时初始化视图模板层(V层),此时用户控制器(C层)继承于系统AmysqlController,拥有系统载入数据模型、引入新类、模板数据处理等方法。
03) (C层)中可载入用户自定义数据模型(M层),此时用户数据模型(M层)同样继承于系统AmysqlModel,拥有Mysql读写等操作方法。(无数据请求可略此过程)
04) (C层)赋值于模板(V层)。
05) (V层)显示完成。
A ? C ? M ? V 很简单,这就是MVC,似乎ACMV更好理解。
简单应用AMP -----------------------------------------------------------------------
01) 首先需要简单配置下系统文件,进入Amysql系统目录。打开配置文件Config.php。
文件当中有注释各参数的使用用途,其中可配置Url模式、过滤、调试、编码、名称与其数据库默认连接等基本信息(无Mysql应用话可无需配置Mysql信息)
02) 简单配置完成后下一步创建控制器文件。进入Controller文件目录创建控制器文件index.php写入以下代码:(提示:系统默认运行的控制器为index、默认的执行方法为IndexAction,同时要注意控制器的class名称需与文件名称保持一致。)
<?php class index extends AmysqlController { function IndexAction() { echo 'Hello World'; }
function HelloAMP() { echo 'Hello AMP'; } } ?>
03) 打开http://localhost/AMP/ 就可看到浏览器输出Hello World信息。 打开http://localhost/AMP/index.php/index/HelloAMP 或http://localhost/AMP/index.php?c=index&a=HelloAMP 就可看到Hello AMP。至此您已完成了伟大Hello World例子。
AMP轻松上手,控制器与模型方法 -----------------------------------------------------------------------
控制器常用的一些方法。
<?php class index extends AmysqlController { function IndexAction() { $this -> name = $name; // 简单赋值 $this -> _DBSet($Config); // 如有设置此项同时可进行多个mysql连接。 $Config : 配置 $this -> _array($array); // 数组多模板变量赋值 $array : 数据
$this -> _echo($data); // 数据调试 $this -> _view($file); // 模板显示
// 加载自定义类文件 $file 文件名, $ClassName 类名(可选,默认为文件名) $this -> _class($file, $ClassName);
// 加载模型文件 $file 文件名, $ClassName 类名(可选,默认为文件名) $this -> _model($file, $ClassName);
// 获得相关文件数据(模板目录) $file 文件名 $this -> _file($file); } } ?>
模型常用的一些方法。
<?php class datas extends AmysqlModel { function databases() { $this -> _query($sql); // 执行Sql
// 更新数据 $table表名,$data数据array('field' => 'value'), $where条件Sql $this -> _update($table, $data, $where = '');
// 插入数据 $table表名,$data数据array('field' => 'value') $this -> _insert($table, $data);
$this -> _row($sql); // 取得一行数据 $this -> _all($sql); // 取得所有数据 $this -> _sum($sql); // 取得数据总数 } } ?>
AMP应用实例 --------------------------------------------------------------------
下面通过一实例,介绍Mysql数据调用、引用新class、模板数据赋值、调试等方法。
01) 数据模型文件创建,新class文件创建,准备数据于控制器调用。
创建模型 Model/index.php 文件。
<?php class datas extends AmysqlModel { function databases() { $sql = "SHOW DATABASES"; Return $this -> _all($sql); // _all方法取得所有数据返回 } } ?>
创建模型 Model/tables.php 文件。
<?php class tables extends AmysqlModel { function GetTables() { $sql = "SHOW TABLES"; Return $this -> _row($sql); // _row方法取得一行数据返回 } } ?>
创建新对象 Class/NewClass.php 文件。
<?php class NewClass { public $name = 'NewClass'; function GetName() { Return $this -> name; } } ?>
02) 控制器创建
创建 Controller/index.php 文件。
<?php
class index extends AmysqlController { function IndexAction() { // 1) 模板如何赋值 $this -> content = 'Hello World'; // 单一赋值模板$content变量方式 $this -> MyName = 'Amysql (AMP)'; $this -> ArrayData = array('Website' => 'http://', 'ProductType' => 'PHP MVC'); $this -> _array(array('NameA' => 'A', 'NameB' => 'B')); // _array方法数组赋值模板变量$NameA、$NameB
// 2) 如何连接Mysql查询数据 $IndexModel = $this -> _model('index', 'datas'); // 载入步骤1)创建的index模型文件datas模型对象 $this -> databases = $IndexModel -> databases(); // 执行模型的databases方法取得数据直接赋值模板
// 2.1) 可同时创建新Mysql连接 $this -> _DBSet(array('DBname' => 'information_schema', 'ConnectTag' => 'NewContent')); // 链接新数据库 设置新的Mysql连接信息
$tables = $this -> _model('tables'); // 载入步骤1)创建的tables模型文件的tables模型对象 $this -> tables = $tables -> GetTables(); // 执行模型的GetTables方法取得数据直接赋值模板
// 3) 如何引入新Class对象 $EchoName = $this -> _class('NewClass') -> GetName(); // 载入步骤1)创建NewClass类文件的NewClass对象并执行GetName方法
// 4) 信息调试 $this -> _echo($EchoName); // 信息输出在网页源代码最底部
$this -> _view('index'); // 调用模板输出 } } ?>
03) 模板文件创建
创建 View/index.php 文件。
<? // 添加以下模板代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www./1999/xhtml"> <html> <head> <title><?php echo $content;?></title> </HEAD>
<BODY> <p><?php echo $MyName;?></p> <p><?php echo $content;?></p> <p>NameA : <?php echo $NameA;?></p> <p>NameB : <?php echo $NameB;?></p>
<pre> <?php print_r($ArrayData); print_r($databases); print_r($tables); ?> </pre> </BODY> </HTML>
04) 到这里已完成了,打开http://localhost/AMP/ 就可看到浏览器输出模板各变量数据信息。
最后您还需简单了解一下这些参数 -----------------------------------------------------------------------
系统一些目录参数与系统各模块对象关系
<?php class index extends AmysqlController { function IndexAction() { echo _Host , '<br />'; // 主机网址 echo _Http , '<br />'; // 网站根目录网址,常用。 echo _ROOT , '<br />'; // 网站根目录 echo _Amysql , '<br />'; // 系统目录 echo _Controller , '<br />'; // 控制器目录 echo _Model , '<br />'; // 模型目录 echo _Class , '<br />'; // 对象类目录 echo _View , '<br />'; // 视图模板目录
/********************* * 深入底层 > 系统各模块关联调用 * 灵活掌握应用,请查看$Amysql各对象关系。 */ global $Amysql; echo '<pre>'; print_r($Amysql); echo '</pre>'; } } ?>
End -----------------------------------------------------------------------
到这里AMP的应用介绍文档就结束了,感谢选择AMP框架,
如有使用有任何疑问请点这里反馈。
|