ThinkPHP 3.1.2 控制器的模块和操作
本节课大纲:
一、空模块和空操作
1、空操作
function _empty($name){
$this->show("$name 不存在 <a href='__APP__/Index/index'>返回首页</a>");
}
2.空模块
class EmptyAction extends Action{
function index(){
$city=M('City');
$arr=$city->select();
$this->assign('list',$arr);
$name=MODULE_NAME;
$this->display("City:$name");
}
} 二、前置操作和后置操作 Index模块的index 方法对应的前台模板 往往作为首页 <div id='daohang'>
<a href="__APP__/City/bj">北京</a>
<a href="__APP__/City/sh">上海</a>
<a href="__APP__/City/gz">广州</a>
</div> 超链接到一个对应的方法: City模板下的sh方法 引用模板文件: <include file='Public:header'/>
<body>
<div id='daohang'>
<a href="__APP__/City/bj">北京</a>
<a href="__APP__/City/sh">上海</a>
<a href="__APP__/City/gz">广州</a>
</div>
</body>
</html> 模板文件位置:
$ pwd
/cygdrive/c/wamp/www/thinkphp3/Home/Tpl/Public Administrator@QCEE61NZ66FEX2D /cygdrive/c/wamp/www/thinkphp3/Home/Tpl/Public
$ ls
header.html $ cat header.html
<html>
<!doctype html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<style>
#daohang{
height:100px;
background:#abcdef;
font-size:60px;
text-decoration:none;
} </style>
</head> ///////////////////////////////////////////////////////////
前端数据显示: class IndexAction extends Action {
public function index(){
$city=M('city'); //返回Model实例
//返回数组
$arr=$city->select();
//dump($arr);
$this->assign('list',$arr); //list数据标识
$this->display();
} <html>
<!doctype html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<style>
#daohang{
height:100px;
background:#abcdef;
font-size:60px;
text-decoration:none;
} </style>
</head>
<body> <volist name='list' id='vo'>
<{$vo.name}>><br/>
</volist> <div id='daohang'> <foreach name='list' item='v'>
<a href='__APP__/City/<{$v.name}>'><{$v.name}></a>
</foreach> </div>
ThinkPHP 3.1.2 控制器的模块和操作的更多相关文章
- 使用THINKPHP中的控制器和模块查询数据库
1,自定义一个UserController的控制器,导入tp的控制器与模块执行相应的操作. ----var_dump()方法是判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值. ...
- thinkphp pathinfo nginx 无法加载模块:Index
thinkphp 报了 无法加载模块:Index 错误位置 FILE: /var/multrix/wxactivity_archive/ThinkPHP/Library/Think/Dispatche ...
- thinkphp中模块和操作映射
模板和操作映射功能是3.1.2版本支持的对模块和操作设置的映射机制,由于可以通过改变配置动态改变(实际真正改变,并非别名)URL访问地址,加强了应用的安全性,而且,映射机制具有URL不区分大小写访问的 ...
- python OS 模块 文件目录操作
Python OS 模块 文件目录操作 os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C AP ...
- paramiko模块(远程操作服务器)
paramiko模块(远程操作服务器) django+paramkio实现远程某些服务器执行命令+上传文件 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作. pip3 install par ...
- ansible模块文件操作
Ansible常用模块文件操作 [root@tiandong etc]# ansible-doc -l 列出ansible所支持的模块 [root@tiandong ~]# ansible-doc ...
- 【Python开发】Python之re模块 —— 正则表达式操作
Python之re模块 -- 正则表达式操作 这个模块提供了与 Perl 相似l的正则表达式匹配操作.Unicode字符串也同样适用. 正则表达式使用反斜杠" \ "来代表特殊形式 ...
- 对控制器类型“StudentController”的操作“Edit”的当前请求在下列操作方法之间不明确:
"/"应用程序中的服务器错误. 对控制器类型"StudentController"的操作"Edit"的当前请求在下列操作方法之间不明确:类型 ...
- thinkphp 3.2 单入口 多模块 不能加载index控制器问题
菜鸟一个,大神不用看,很喜欢单入口 多模块的方式,所以想自己设置下,结果看很多教程没看懂,也看到有人在问这个问题,分享下我的项目名称是app,首先运行官方的index.php文件,app目录下生成了三 ...
随机推荐
- 三分钟教你学Git(十六) - 统计
有时候想统计仓库的情况,比方代码量.贡献者之类的. 1 统计某人的commit数量 git log --author="$(git config --get user.name)" ...
- Fastboot的使用简单教程
大家都知道HTC手机重新启动进入所谓的project模式,就是HBOOT,然后能够进入FASTBOOT界面,在这个界面.我们能够在电脑端能够做非常多事,特别是HBOOT被改动过,假设是ENG S-OF ...
- 23种设计模式的C++实现
之前看Head First设计模式的时候照着书上的代码实现了一个C++版本(书上是Java版本的),代码上传在https://github.com/clpsz/Book-HFDP-Code. 当时因为 ...
- Clementine 12.0 的使用(因为比较少用,项目中用到才开始接触写一下自己的使用方法)
首先我是根据excel的文件做的训练,就以excel来做介绍 1.打开Clementine 12.0 软件 点击软件下方的 ”源“ 即你要做训练的数据源.因为是excel文件双击excel. 2.双击 ...
- Java ByteArrayOutputStream中buf 的大小增长问题
问题:写入固定长度的字符串[write(byte b[])],观察ByteArrayOutputStream中buf 的大小始终比字符串 Bytes的Size大很多,很是不解 分析发现: privat ...
- mysql xtrabackup 备份恢复实现,mysql命令备份数据库,打包压缩数据库
简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠 ...
- python自定义排序函数
Python内置的 sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 sorted() ...
- C#调用Matlab生成的dll方法
其实整个过程比较简单,但是需要心细一点. 需要的工具:VS2005及以上版本,MATLAB2008B及以上版本,另外非常重要的需要安装一个MATLAB Compiler Runtime,这个文件(MC ...
- 在GridView中实现全选反选的例子
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridView控件.asp ...
- NHibernate 的 ID 标识选择器
在 Hibernate 中,每个对象需要一个标识 ID,通过这个标识 ID 建立对象与数据库中记录的对应关系. Nhibernate 提供了多种方式来建立这个 POID.基于不同的生成策略,可以选择更 ...