phpcmsv9二次简单开发案例
模块名demo
顺序
1.部署系统
写在phpcmsv9安装在本地测试
访问方式为127.0.0.1
2.建立数据库表
demo为测试名称可随意更改
表名称v9_demo
设置id主键自增
编码为utf8
3.创建框架数据库模型
在 ‘网站目录/phpcms/model’文件夹里
创建demo_model.class.php文件
打开文件写入代码
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class demo_model extends model{
public function __construct(){
$this->db_config=pc_base::load_config('database');
$this->db_setting='default';
$this->table_name='demo';
parent::__construct();
}
}
?>
4.创建模块
在 ‘网站目录/phpcms/modules’文件夹里
新建demo文件夹
在demo文件夹里创建demo.php
打开文件写入代码
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
define('CACHE_MODEL_PATH',CACHE_PATH.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECTORY_SEPARATOR);
class demo{
//操作的数据库表
private $db_demo;
//每次调用执行的操作
function __construct() {
//调用数据库模型
$this->db_demo = pc_base::load_model('demo_model');
}
//URL没有a 的时候默认访问init操作
public function init(){
echo 'demo模块中的init操作';
}
//我创建的显示列表信息操作
public function index(){
echo '我创建的index操作';
}
//我创建的显示单条信息操作
public function one(){
echo '我创建的one操作';
}
//我创建的修改单条信息操作
public function updata(){
echo '我创建的updata操作';
}
//我创建的添加信息操作
public function add(){
echo '我创建的add操作';
}
//我创建的删除信息操作
public function del(){
echo '我创建的del操作';
}
}
?>
5.操作访问
操作访问方法是
网站目录/index.php?&m=模块名&c=控制器名&a=操作名
如果我要访问添加信息操作
访问地址就是
127.0.0.1/index.php?&m=demo&c=demo&a=add
- 模块
网站目录/phpcms/modules/模块名称
- 控制器
网站目录/phpcms/modules/模块名称/操作名称.php
class 控制器{
}
- 操作
网站目录/phpcms/modules/模块名称/操作名称.php
class 控制器{
public function init(){
}
public function 操作(){
}
}
6.操作的具体写法
- 添加数据操作
public function add(){
//可修改为POST表单
$data_add = $this->db_demo->insert($_POST);
var_dump($data_add);
}
- 获取数据列表操作
public function index(){
//获得数据并且分页
//参数为 条件,排序,第几页,每页显示数量
$data_index = $this->db_demo->listinfo('id < 5','id desc',2,10);
var_dump($data_index);
}
- 显示单条信息操作
public function one(){
//获取id为 $_GET['id']的记录
$data_one = $this->db_demo->get_one('id = '.$_GET['id']);
var_dump($data_one);
}
- 更新单条信息操作
public function updata(){
//修改的id为$_POST['id']
$data_update = $this->db_demo->update($_POST,'id = '.$_POST['id']);
var_dump($data_updata);
}
- 删除单条信息操作
public function del(){
//删除的id为$_GET['id']
$data_del = $this->db->delete('id = '.$_GET['del']);
}
7.视图访问
访问前台模板(add实例)
在 网站目录/phpcms/templates/default里
创建文件夹reg文件夹
在文件夹内创建add.html
打开文件写入代码
<html>
<head>
<title></title>
</head>
<body>
<form action="127.0.0.1/index.php?m=demo&c=demo&a=add" method="post">
<input type="text" name="name"/>
<input type="text" name="age" />
<input type="radio" name="sex" value="0" checked="checked"> 女
<input type="radio" name="sex" value="1"> 男
<button name="button" value="add">添加信息</button>
</form>
</body>
</html>
修改add操作
public function add(){
//可修改为POST表单
if($_POST['submit'] == 'add'){
//添加操作时
unset($_POST['submit']);
$_POST['date'] = time();
$data_add = $this->db_demo->insert($_POST);
if($data_add){
echo "添加成功";
}else{
echo "添加失败";
}
}else{
//显示添加模板页面 加载上一部创建的add.html模板
include template('reg', 'add', 'default');
}
}
访问127.0.0.1/index.php?m=demo&c=demo&a=add就可以看到添加信息页面
输入信息后提交完成add操作
其他操作同样类似