原文: ,有修改
常用配置
常用配置config.php:
'TMPL_L_DELIM' => '<{',<span style="color: #008000;">//</span><span style="color: #008000;">左定界符</span>
'TMPL_R_DELIM' => '}>',<span style="color: #008000;">//</span><span style="color: #008000;">右定界符
//数据库相关</span>
'DB_PREFIX' => 'mb_','DB_DSN' => 'mysql://root:admin@localhost:3306/myblog',<span style="color: #008000;">//</span><span style="color: #008000;">打开页面跟踪</span>
'SHOW_PAGE_TRACE' => <span style="color: #0000ff;">true</span>,<span style="color: #008000;">//</span><span style="color: #008000;">模板文件</span>
'TMPL_TEMPLATE_SUFFIX' => '.tpl',<span style="color: #008000;">//</span><span style="color: #008000;">后缀名</span>
'TMPL_FILE_DEPR' => '_',<span style="color: #008000;">//</span><span style="color: #008000;">修改模板文件目录层次
//模板主题</span>
'DEFAULT_THEME' => 'my','TMPL_DETECT_THEME' => <span style="color: #0000ff;">true</span>,'THEME_LIST' => 'your,my',<span style="color: #008000;">//</span><span style="color: #008000;">支持的模板列表
//自定义模板常量</span>
'TMPL_PARSE_STRING' => <span style="color: #0000ff;">array</span><span style="color: #000000;">(
</span>'__CSS__' => __ROOT__.'/Public/css','__JS__' => __ROOT__.'/Public/js'<span style="color: #000000;">
)</span>,<span style="color: #000000;">
);
在config.php中配置:
连接:需要在方法中通过new Model(表名)的形式操作数据库
add()
删 -D Delete $m->delete()
改 -U Update $m->save()
查 -R Read $m->select()
通过 $m->getDbError(); 可以输出数据库的错误信息
读取数据
对数据的读取 Read
<span style="color: #800080;">$m->select();<span style="color: #008000;">//<span style="color: #008000;">获取所有数据,以数组形式返回
//find
<span style="color: #800080;">$m->find(<span style="color: #800080;">$id);<span style="color: #008000;">//<span style="color: #008000;">获取单条数据
//getField(字段名)//获取一个具体的字段值
<span style="color: #800080;">$arr=<span style="color: #800080;">$m->where('id=2')->getField('username');
对数据的添加 Create
删除数据
对数据的删除
<span style="color: #800080;">$ret
= <span style="color: #800080;">$m->where('id=2')->delete(); <span style="color: #008000;">//<span style="color: #008000;">与上面效果相同,也是删除id为2的数据//返回值$ret是受影响行数
更新数据
对数据的更新
a、字符串
b、数组
<span style="color: #800080;">$data['sex']=0<span style="color: #000000;">;
<span style="color: #800080;">$data['username']='gege'<span style="color: #000000;">;
<span style="color: #800080;">$data['_logic']='or';
2、表达式查询方式
//EQ 等于
//NEQ不等于
//GT 大于
//EGT大于等于
//LT 小于
//ELT小于等于
//LIKE 模糊查询
<span style="color: #800080;">$data['username']=<span style="color: #0000ff;">array('like','%ge'<span style="color: #000000;">); <span style="color: #008000;">//<span style="color: #008000;">NOTLIKE
<span style="color: #800080;">$data['username']=<span style="color: #0000ff;">array('notlike','%ge%'); <span style="color: #008000;">//<span style="color: #008000;">notlike中间没有空格
//注意:如果一个字段要匹配多个通配符
<span style="color: #800080;">$data['username']=<span style="color: #0000ff;">array('like',<span style="color: #0000ff;">array('%ge%','%2%','%五%'),'and');<span style="color: #008000;">//<span style="color: #008000;">如果没有第三个值,默认关系是or关系
<span style="color: #800080;">$arr=<span style="color: #800080;">$m->where(<span style="color: #800080;">$data)-><span style="color: #000000;">select();
<span style="color: #008000;">//<span style="color: #008000;">BETWEEN
<span style="color: #800080;">$data['id']=<span style="color: #0000ff;">array('between',<span style="color: #0000ff;">array(5,7<span style="color: #000000;">));
<span style="color: #008000;">//<span style="color: #008000;">SELECT * FROM tp_user
WHERE ( (id
BETWEEN 5 AND 7 ) )
<span style="color: #800080;">$data['id']=<span style="color: #0000ff;">array('not between',7));<span style="color: #008000;">//<span style="color: #008000;">注意,not 和 between中间一定要有空格
//IN
<span style="color: #800080;">$data['id']=<span style="color: #0000ff;">array('in',<span style="color: #0000ff;">array(4,6,7<span style="color: #000000;">));
<span style="color: #008000;">//<span style="color: #008000;">SELECT * FROM tp_user
WHERE ( id
IN (4,7) )
//NOT IN
<span style="color: #800080;">$data['id']=<span style="color: #0000ff;">array('not in',7<span style="color: #000000;">));
<span style="color: #008000;">//<span style="color: #008000;">SELECT * FROM tp_user
WHERE ( id
NOT IN (4,7) )
<span style="color: #800080;">$data
['id']=<span style="color: #0000ff;">array(<span style="color: #0000ff;">array('gt',10),'or') <span style="color: #008000;">//<span style="color: #008000;">关系就是or的关系<span style="color: #800080;">$data['name']=<span style="color: #0000ff;">array(<span style="color: #0000ff;">array('like','%2%'),<span style="color: #0000ff;">array('like','gege','or');
a、query 主要数处理读取数据的
成功返回数据的结果集,失败返回boolean false
成功返回影响行数,失败返回boolean false
1.where 帮助我们设置查询条件
2.order 对结果进行排序
6.group
7.having
8.other
a、display
1.display中没有参数
<span style="color: #800080;">$this->display('Public:error');<span style="color: #008000;">//<span style="color: #008000;">注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可,不需要一定有Public模块
<span style="color: #800080;">$this->display(其他主题下的 文件夹下的 模板文件);<span style="color: #008000;">//<span style="color: #008000;">需要开启主题支持
<span style="color: #800080;">$this->display('my:Index:index'<span style="color: #000000;">);
<span style="color: #800080;">$this-><span style="color: #000000;">display(一个url路径);
<span style="color: #800080;">$this->display('./Public/error.html'<span style="color: #000000;">);
<span style="color: #800080;">$this->display('./Public/error.html','utf-8','text/xml'<span style="color: #000000;">);
<span style="color: #800080;">$this->show(<span style="color: #800080;">$content);
获得模板文件中的内容,以字符串形式返回
不需要模板文件,可以直接输出模板内容
<span style="color: #800080;">$this->name='赵桐正2'<span style="color: #000000;">;
<span style="color: #800080;">$this->display();
__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/
__ROOT__: 会替换成当前网站的地址(不含域名)
__APP__: 会替换成当前项目的URL地址 (不含域名)
__GROUP__:会替换成当前分组的URL地址 (不含域名)
__URL__: 会替换成当前模块的URL地址(不含域名)
__ACTION__:会替换成当前操作的URL地址 (不含域名)
__SELF__: 会替换成当前的页面URL
更换模板变量规则,修改配置项:
1.标量输出
2.数组输出
<?php <span style="color: #0000ff;">echo (<span style="color: #008080;">strtoupper(<span style="color: #800080;">$name)); ?>
<span style="color: #008000;">//<span style="color: #008000;">如果值不是函数的第一个参数,可以用###占位
{<span style="color: #800080;">$name|<span style="color: #008080;">date='Y m d H:i:s',<span style="color: #008000;">#<span style="color: #008000;">##}
导入CSS和JS文件
1、css link, js src
<span style="color: #008000;">
<span style="color: #0000ff;"><<span style="color: #800000;">import <span style="color: #ff0000;">type<span style="color: #0000ff;">='js' <span style="color: #ff0000;">file<span style="color: #0000ff;">='Js.my' <span style="color: #ff0000;">basepath<span style="color: #0000ff;">='./Other'<span style="color: #0000ff;">/>
1、if
<span style="color: #0000ff;"><
<span style="color: #800000;">if <span style="color: #ff0000;">condition<span style="color: #0000ff;">='$age <span style="color: #ff0000;">lt 18'<span style="color: #0000ff;">><span style="color: #000000;">未成年
<span style="color: #0000ff;"><<span style="color: #800000;">elseif <span style="color: #ff0000;">condition<span style="color: #0000ff;">='$age <span style="color: #ff0000;">eq 18'<span style="color: #0000ff;">/><span style="color: #000000;">
青春年少
<span style="color: #0000ff;"><<span style="color: #800000;">else <span style="color: #0000ff;">/><span style="color: #000000;">
成年
<span style="color: #0000ff;"></<span style="color: #800000;">if<span style="color: #0000ff;">>
常用的比较操作符有:
<span style="color: #000000;">lt
<span style="color: #008000;">//<span style="color: #008000;">==
<span style="color: #000000;">eq
<span style="color: #008000;">//<span style="color: #008000;"><=
<span style="color: #000000;">elt
<span style="color: #008000;">//<span style="color: #008000;">>=
<span style="color: #000000;">egt
<span style="color: #008000;">//<span style="color: #008000;">!=
<span style="color: #000000;">neq
<span style="color: #008000;">//<span style="color: #008000;">===
<span style="color: #000000;">heq
<span style="color: #008000;">//<span style="color: #008000;">!==
nheq
2、switch
1.for
1、比较标签
in
标签来判断模板变量是否已经赋值:
empty标签判断模板变量是否为空:
判断常量是否已经定义
6.Define
在模板中定义常量
7.Assing
模板中变量赋值
8.在模板中直接使用PHP代码
模板包含
<span style="color: #0000ff;"><
<span style="color: #800000;">include <span style="color: #ff0000;">file<span style="color: #0000ff;">="header"<span style="color: #ff0000;"> title<span style="color: #0000ff;">="ThinkPHP框架"<span style="color: #ff0000;">keywords<span style="color: #0000ff;">="开源WEB开发框架"<span style="color: #0000ff;">/><span style="color: #008000;">
<span style="color: #0000ff;"><
<span style="color: #800000;">include <span style="color: #ff0000;">file<span style="color: #0000ff;">='file1,file2' <span style="color: #0000ff;">/>模板渲染
1、自动开启模板渲染 设置配置文件
如果在摸一个具体模板中不希望使用渲染模板,可以在页首添加{__NOCONTENT__}
2、不开启自动模板渲染可以在每一个具体页面的页首添加
在渲染模板文件中也可以使用其他模板文件的内容
空模块和空操作
1、空操作,在action文件中定义
2.空模块
前置操作和后置操作
1、前置操作: _before_操作名2、后置操作: _after_操作名
URL规则
1、默认是区分大小写的
2、如果我们不想区分大小写可以改配置文件
3、如果模块名为 UserGroupAction
那么url找模块就必要要写成
4、如果'URL_CASE_INSENSITIVE'=>false
那么url也可以写为
URL伪静态
URL路由
1、启动路由
2、使用路由
(1).规则表达式配置路由
(2).正则表达式配置路由
(3)、注意事项:
1).越复杂的路由越往前面放
2).可以使用$作为完全匹配的路由规则
3).用正则匹配的方式
__ROOT__:网站根目录地址
__APP__: 当前应用(入口文件)地址
__MODULE__:当前模块的URL地址
__CONTROLLER__:当前控制器的URL地址
__ACTION__:当前操作的URL地址
__SELF__:当前URL地址
__INFO__:当前的PATH_INFO字符串
__EXT__:当前URL地址的扩展名