精致的MVC系统--Amysql PHP (AMP)

官方网站: http://www.amysql.com/AMP/doc.htm


欢迎使用 PHPMVC 开源框架 - AMP
AMP-优雅精致的WEB应用开发MVC框架。
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://amysql.com''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.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
html xmlns="http://www.w3.org/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框架,

如有使用有任何疑问请点这里反馈。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值