产品服务AMH 免费服务器主机面板SSL证书 免费SSL证书申请编程助手免费智能写代码、翻译NewAMYSQL 免费MySQL管理工具AMFTP 免费FTP管理客户端

AMH 社区首页

 AMH社区 - 开放自由有价值的社区

[求助帖] [lnmp] AMH面板模块开发入门实例

admin
创始人
31845.73 价值分

admin 发表于 2013-03-16 22:20:39
[lnmp] AMH面板模块开发入门实例

下面以一简单实例MyModule-1.0模块,介绍amh面板模块开发流程,有兴趣的朋友也可以边动手写写。
总三个脚本文件,两分钟内编写完成属于自己的功能模块。 :P
----------------------------------------------------------

1、模块安装脚本编写。

新建一文件夹: MyModule-1.0,
进入 MyModule-1.0 文件夹创建AMHScript文件(编写模块安装/卸载的脚本)。

AMHScript文件编写以下代码:
其中包含五个函数:信息(amh_module_info)、安装(amh_module_install)、管理(amh_module_admin)、卸载(amh_module_uninstall)、安装状态(amh_module_status)
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin;

#info
function amh_module_info()
{
echo 'AMH-ModuleName: MyModule-1.0';
echo 'AMH-ModuleDescription: MyModule AMH面板模块开发入门实例。';
echo 'AMH-ModuleButton: 安装/卸载';
echo 'AMH-ModuleDate: 2013-03-16';
echo 'AMH-ModuleAdmin: ./index.php?c=MyModule';
echo 'AMH-ModuleWebSite: http://amysql.com';
echo 'AMH-MoudleScriptBy: Your name.';
}

#install
function amh_module_install()
{
if amh_module_status ; then
exit;
else
cd /root/amh/modules/MyModule-1.0;
\cp ./Controller/MyModule.php /home/wwwroot/index/web/Controller/;
\cp ./View/MyModule_html.php /home/wwwroot/index/web/View/;
amh_module_status;
fi;
}

#admin
function amh_module_admin()
{
if amh_module_status ; then
echo '[OK] MyModule No management options.';
else
exit;
fi;
}

#uninstall
function amh_module_uninstall()
{
if amh_module_status ; then
rm -f /home/wwwroot/index/web/Controller/MyModule.php /home/wwwroot/index/web/View/MyModule_html.php;
echo '[OK] MyModule Uninstall successful.';
else
exit;
fi;
}

#status
function amh_module_status()
{
if [ -f "/home/wwwroot/index/web/Controller/MyModule.php" ]; then
echo '[OK] MyModule is already installed.';
return 0;
else
echo '[Notice] MyModule is not installed.';
return 1;
fi;
}
到这里安装脚本已编写完毕了。
下面我们编写面板PHP脚本文件。


2、面板脚本编写。

创建MyModule-1.0面板控制器文件:Controller/MyModule.php
编写以下代码:
<?php
class MyModule extends AmysqlController
{
function IndexAction()
{
$this -> title = 'AMH - MyModule'; // 面板模块标题
$this -> _class('Functions'); // 载入面板函数
Functions::CheckLogin(); // 面板登录检查函数

$this -> name = 'MyModule-1.0'; // 赋值一$name变量
$this -> _view('MyModule_html'); // 加载模块视图模板文件
}
}
?>
创建MyModule-1.0面板视图模板文件:View/MyModule_html.php
编写以下代码:
<?php include('header.php'); ?> <!-- 载入面板头部文件 -->
<div id="body">
<h2>AMH » MyModule</h2>
<h1>Hello <?php echo $name;?>!</h1> <!-- 输出$name变量值 -->
</div>
<?php include('footer.php'); ?> <!-- 载入面板底部文件 -->
----------------------------------------------------------


到这里模块的面板所有脚本已编写完成了。
AMH面板使用的是AMP PHP框架,MVC结构。
上面编写的模块只有简单的控制器(C)层与视图模板(V)层,输出信息。
详细说明也可以查看AMP的使用文档:
http://amysql.com/AMP.htm

模块具体的开发文档也可以查阅下篇文章:
http://amysql.com/bbs/post-215-1-1.htm



----------------------------------------------------------


附、下载开发实例模块脚本:
http://amysql.com/file/AMH/3.1/modules/MyModule-1.0.module.tar.gz

面板搜索安装开发实例模块:
MyModule-1.0

SSH 下载安装开发实例模块:
amh module download MyModule-1.0;
amh module MyModule-1.0 install;
评价: 这个问题有价值吗?  没有 (0分)   有, 感谢 (2分)
2013-03-16 22:20:39 1

AMH官方号 2011~2021 (10周年)

neil
铝牌会员
334.00 价值分

学习。。。。。。。
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2014-01-25 11:42:52 2
 1  (总1页)
AMH社区列表
用户服务中心