thinkphp 常用】的更多相关文章

2012年09月26日 Thinkphp 里一些常用方法和技巧的整理,包括常用的快捷键以及在程序开发时用到的一些实用方法,关于快捷键用得不是很熟练,总之,掌握这些方法和技巧,对于我们开发 thinkphp 网站有很大的一个帮助,尤其对于懒人来说,在编写程序时最怕的就是重写源码,而对于这些实用的源码我们可以直接粘来,非常实用. 这是使用Thinkphp快捷键 A:快速实例化Action类库 B:执行行为类 C:配置参数存取方法 D:快速实例化Model类库 F:快速简单文本数据存取方法 L:语言参…
//系统常量定义 //去THinkPHP手册中进行查找 echo "<br>"."网站的根目录地址".__ROOT__." "; echo "<br>"."入口文件地址".__APP__." "; echo "<br>"."当前模块地址".__URL__." "; echo "<…
变量输出使用普通标签就足够了,但是要完成其他的控制.循环和判断功能,就需要借助模板引擎的标签库功能了,系统内置标签库的所有标签无需引入标签库即可直接使用. XML标签有两种,包括闭合标签和开放标签,一个标签在定义的时候就已经决定了是否是闭合标签还是开放标签,不可混合使用,例如: 闭合标签:<include file="read" /> 开放标签:<gt name="name" value="5">value</gt&…
__ROOT__  : 网站根目录地址 __APP__  : 当前项目(入口文件)地址 __GROUP__:当前分组地址 __URL__  : 当前模块地址 __ACTION__ : 当前操作地址 __SELF__  : 当前 URL 地址 __CURRENT__  : 当前模块的模板目录 ACTION_NAME : 当前操作名称 APP_PATH : 当前项目目录 APP_NAME : 当前项目名称 APP_TMPL_PATH : 项目模板目录 APP_PUBLIC_PATH :项目公共文件目…
php 常用的数据库查询方式: //根据where 条件查询,使用select()方法 访问:http://localhost/thinkphp2/index.php/Machine/search_ip/?ip=192.168.32.101 返回: array (size=2) 0 => array (size=4) 'sn' => string '63' (length=2) 'ip' => string '192.168.32.101' (length=14) 'info' =>…
<?php return array( // 设置禁止访问的模块列表 // 'MODULE_DENY_LIST' => array('Common','Runtime','Api'), // 允许访问的模块列表 'MODULE_ALLOW_LIST' => array('Home','Admin'), // 默认访问的模块,这只此项之后,URL中可以省略此模块名. // 注:要与[允许访问模块列表]配置项一起使用. 'DEFAULT_MODULE' => 'Home', // 模板…
1.常规 $map2['state'] = 1; $User->where ( $map2 )->find(); 2. OR 查询 $where['name'] = array('neq','liudehua'); $where['age'] = array('eq',10); $where['_logic'] = 'or'; $map2['_complex'] = $where; $map2['user']='cc'; 3.多字段查询 方式一 $map2['user&age']=ar…
<?php return array( //'配置项'=>'配置值' 'DB_HOST' => 'localhost', 'DB_USER' => 'root', 'DB_PWD' => '', 'DB_NAME' => 'think', 'DB_PREFIX' => 'hd_',//表前缀 'URL_MODEL' => 1, // 为0时:/index.php?m=Index&a=index 值为2时 Rewright 重写没有了前面的index.…
 {$Think.session.adminuser}  获取session信息,模版和js中都可以调用 模版调用 <empty name="Think.session.userid"> <li><a href="../Index/login">登录</a></li> <else /> <li><a href="javascript:;" onclick=&…
//数据库配置 DB_HOST 主机名 DB_USER 用户名 DB_PWD 密码 DB_NAME 数据库名 DB_PREFIX 表前缀 LOAD_EXT_FILE=>'function list' 载入扩展函数库 LOAD_EXT_CONFIG=>'config list'//载入配置列表 注意:在独立分组情况下 只能在公共Conf/config.php中使用,分组中的Conf/config.php中不起作用. TMPL_PARSE_STRING=>array(), 定义模板替换常量,…
告:在使用下列所说的任何标签库都需要 HTML第一行加入 <tarlib name=”cx,html” /> 如果想单独引入cx标签库就直接写成<tarlib name=”cx” /> 如果单独引入html标签库就直接写成<tarlib name=”html” /> 原则上来讲所有的标签的属性是可以不增加的(因为tp并为进行强制验证^_^),不过为了你的正常使用,请在使用的时候按照需要进行添加 首先我们来说html标签库的信息 Editor标签 <html:edi…
三元运算标签 {$v['member_id'] == 1 ? 正常 : 不正常} volist标签 <volist name="data" id="v"> 名字{$v['username']} 索引{$key} </volist> 输出函数 1. {$v['name']|mb_substr=0,1,'utf8'} 或 {$v['name']|mb_substr=###,0,1,'utf8'} 2. {:mb_substr($v['name']…
$this->display ( "Public:login" ); import ( 'Wechat', APP_PATH . 'Common/Wechat', '.class.php' );//引入某个类,这样是使用$weObj = new Wechat ( $options ); $this->success ( "登录成功", U ( "Admin/Index/index" ) ); $this->error ( &qu…
前后台配置: 在根目录文件夹中创建一个Conf文件夹 Conf文件夹下建立一个config.php文件,里面存放公共配置信息,方便前后台调用. 简单定义404页面 伪静态去除.html Config中 URL_HTML_SUFFIX  => ‘’ 分配模版 1:$this ->assign(‘XXX’,$XXX); 2:$this->a = 111; 3:$this->assign(‘xxx’,$xxx)->display(); 时间戳处理 {$v.time|date='y-…
ThinkPHP常用C+F方法进行配置设置于缓存设置 比如常见的 C(F('smtp'),'smtp');表示获取F方法中smtp缓存,设置配置为smtp函数 C方法是ThinkPHP用于设置.获取,以及保存配置参数的方法,使用频率较高.了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的.ThinkPHP的配置文件采用PHP数组格式定义.由于采用了函数重载设计,所以用法较多,我们来一一说明下.设置参数 C('DB_NAME','thinkphp');=C('d…
Thinkphp常用配置  CHECK_FILE_CASE -- windows环境下面的严格检查大小写. /* 项目设定 */     'APP_DEBUG'    => false, // 是否开启调试模式     'APP_DOMAIN_DEPLOY'     => false,   // 是否使用独立域名部署项目     'APP_PLUGIN_ON'         => false,   // 是否开启插件机制     'APP_FILE_CASE'         =>…
作为我大天朝的程序员,如果不会点thinkphp框架确实有点说不过去了(虽然作为菜鸟的我才入坑没几个月).不过不会也没关系,很简单的一个php框架.今天为大家介绍的是thinkphp如何实现验证码的功能. thinkphp自带验证码功能,我们直接调用就行了.发展到现在thinkphp已经有好几个正式版本了,最新的版本是thinkphp5.0.今天我将给大家介绍一下5的版本和3的版本. thinkphp3的版本: 第一步:在我们相对应的控制器创建一个输出验证码方法 public function…
这篇文章主要介绍了ThinkPHP自动填充实现无限级分类的方法,是ThinkPHP项目开发中非常实用的一个技巧,需要的朋友可以参考下   本文实例展示了ThinkPHP自动填充实现无限级分类的方法,是ThinkPHP常用功能之一,非常具有实用价值.现将完整实例分享给大家,供大家参考.具体实现步骤如下: 表aoli_cate如下图所示: 一.action部分: aoli/Home/Lib/Action/CataAction.class.php文件如下: ? 1 2 3 4 5 6 7 8 9 10…
ThinkPHP的自动验证常用的正则   ThinkPHP的自动验证机制是为了进行表单数据验证,验证可以支持function. callback.confirm.equal.unique和regex,这里要讲的是使用正则表达式进行验证. 一般我们见的比较多的是设置规则为require.email之类的,其实这些本身也是属于正则表达式验证方式,只是系统内置定义了一些常用的正则表达式而已.这些内置的正则表达式的定义可以参考model类的regex方法,内置支持的正则定义包括:require 字段必须…
一.项目分组 下载解压 ThinkPHP 3.2.3,在默认的应用 Application(./Application) 中,包含一个默认的模块 Home(./Application/Home). 需要在该默认应用中创建一个用于后台管理的 Admin 模块,可以通过在应用入口文件(./index.php)中绑定 Admin 模块来 自动生成 Admin 模块: define('BIND_MODULE','Admin'); 此时访问 http://serverName/index.php 便会自动…
'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}>', //修改右定界符 'DB_TYPE'=>'mysql', //设置数据库类型 'DB_HOST'=>'localhost',//设置主机 'DB_NAME'=>'thinkphp',//设置数据库名 'DB_USER'=>'root', //设置用户名 'DB_PWD'=&g…
在thinkphp中的模板要加载静态文件如css,js等文件时要经常用到模板常量. 假如项目放在/web/shop中,则如下所示对应常量的输出值: 1 2 3 4 5 6 7 8 9 // 不含域名 __ROOT__    指定到站点      /web/shop  __APP__     指定到应用      /web/shop/index.php  __MODULE__  指定到模型      /web/shop/index.php/home  __CONTROLLER__  (__或者__…
thinkphp模板我是看了3.2的文档,对里面的东西过了一遍,然后在写到需要用到模板的东西的时候就有印象,有的能直接回顾,但是有的就可能只知道有这个东西,但是不知道怎么用,所以就重新查手册,这个的话我感觉是挺好的,毕竟不可能所有东西总是能记在大脑里,有时候忘记了拿出来回顾回顾是比较好的,也容易让自己再次记忆,也会记得更牢固. 下面说一下我在这个项目中经常用到的几个方法(有句话说得好,学20%的东西就能完成80%的事情,做项目的时候最能感受这句话的精髓) U方法: U方法是用来生成URL地址的…
usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() 函数延迟代码执行直到指定的时间.time_nanosleep() 函数延迟代码执行若干秒和纳秒.sleep() 函数延迟代码执行若干秒.show_source() 函数对文件进行语法高亮显示.strip_whitespace() 函数返回已删除 PHP 注释以及空白字符的源代码文件.pack()…
'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符'TMPL_L_DELIM'=>'<{', //修改左定界符'TMPL_R_DELIM'=>'}>', //修改右定界符'DB_TYPE'=>'mysql', //设置数据库类型'DB_HOST'=>'localhost',//设置主机'DB_NAME'=>'thinkphp',//设置数据库名'DB_USER'=>'root', //设置用户名'DB_PWD'=>'', /…
0x01 漏洞分析及复现 1.漏洞分析 漏洞影响范围: Thinkphp 5.1.0 - 5.1.31Thinkphp 5.0.5 - 5.0.23 漏洞产生原因: Thinkphp5.x版本(5.0.20)中没有对路由中的控制器进行严格过滤,在存在 admin,index 模块.没有开启强制路由的条件下(默认不开启),导致可以注入恶意代码利用反射类调用命名空间其他任意内置类,完成远程代码执行 漏洞分析: 既然是没有正确处理控制器名 $controller ,从最开始获取控制器名的代码来看: 发…
/lib/action/PublicAction.class.php class PublicAction extends Action{ //curl,返回数组 public function get_curl_json($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $result = curl_exec($ch); if…
多表查询:…
1.getField($fields,$sepa=null) A:当$fields为1个字段,$sepa=null的时候,返回一个符合条件的记录的字段. B:如果要取得所有符合条件记录字段,需要$sepa设置为True,返回一个一维索引数组. C:如果$fields为2个字段时候,会返回一个以为一个一维关联数组,默认索引为第一个字段的值. D:如果$fields为2个以上字段的时候,返回一个二维关联数组,默认索引第一个字段的值. 2.管理员表:id int(10) , account char(…
如,有数据表:tmp,以下以此为例. $a = M('Tmp'); $a -> select(); $a -> where(condition)->select(); $a -> where(condition)->limit(n)->order(condition2)->select(); $a -> field(condition)->select(); $a -> find();###类似select.只不过它取一条数据而已. $this-…