如果你是一名使用过多种框架的php程序员,你一定见过这样的查询语句:
$result = $mysqlDb->limit(’0,10′)->order('id desc')->select();
上面的查询语句,连续使用->操作符进行操作,并最终返回一个查询结果,那么这是如何实现的呢。
我们来简单分析一下:
-> 操作符用来访问对象,上面的语句一共使用了3次 -> 操作符,而最后一次返回的是查询结果,这说明,前2次 -> 访问后,返回的应该是一个对象,因为在php......
2016-10-10 18:50:59
thinkphp更新数据库的五种方法。
第一种方法:
$模型->where('id=1')->save($data);
第二种方法:
$模型->where('id=1')->data($data)->save();
第三种方法:
$模型->create();
$模型->save();
表单中必须包含一个以主键为名称的隐藏域
第四种方法:
$模型->where('id=5')->setField('name','thinkphp');
$模型->where('id=5')->setField(array('name','email'),array('TP','TP@163.com'));
//......
2016-07-07 13:30:04
thinkphp 3.1.3貌似没有内置的截取中文字符串的方法,找了半天没找到,下面作者自己加了一个截取中文字符串的函数,具体代码如下,有需要的朋友可以参考下。
以下代码加在项目所在目录的Common目录下的common.php文件里面的,比如作者的就是www/Common/common.php文件,当然你也可以直接加到thinkphp的Common/common.php文件里面,这样就所有的项目都可以使用了。
function truncate_cn($string,$length=0,$ellipsis='…',$sta......
2014-04-09 13:37:03
使用thinkphp做开发的阶段,程序会经常被修改,这个时候如果不关闭缓存会造成很多不必要的麻烦,比如对表结构做一下修改,必须要删除数据结构缓存,才能看到相应的效果。所以为了开发的方便,可以把thinkphp默认的缓存给禁掉,待上线后再开启。
该如何关闭thinkphp的缓存呢?有下面几种方法可参考:
(1)在配置文件中关闭缓存
在你的配置文件config.php文件中加上如下两句:
'TMPL_CACHE_ON' => false,//禁止模板编译缓存
......
2014-03-29 22:35:04
用过smarty做过php开发的朋友应该都知道在smarty模板里面判断foreach循环是否是最后一个可以用$smarty.foreach.name.last来判断循环是否到了最后一条记录,在thinkphp中如何判断呢?在thinkphp的模板中常见的循环是volist,而volist的各种属性中并没有直接判断这个的,下面就说下在thinkphp volist中是如何判断最后一条记录的。
举例代码如下,意思自己去体会吧。
$result=$model->execute('select * from MyTable'); //将返回总行数(数字)
query()方法将返回数据集,如果......
2013-03-13 23:28:47
thinkphp为一些常用的操作定义了快捷方法,这些方法具有单字母的方法名,具有比较容易记忆的特点。非常有意思的是,这些快捷方法的字母包含了ADSL字母,所以我们称之为ADSL方法。A、D、S、L、C、F、U、I 这几个快捷方法都在 /thinkphp/Common/functions.php 这个文件中,下面我分别说明一下他们各自的功能和用法。
A() 加载Action类
D() 加载Model类
S() 全局缓存配置
L() 获取语言定义
C() 获取配置值
F() 快速文件数据......
2013-03-13 23:14:43
使用 thinkphp 开发的应用的 url 中通常都会带个 index.php ,如果我们需要伪静态或者做 SEO 优化的时候,这个是非常不好看也没有意义的。那么我们该如何去除 thinkphp 应用 url 中的 index.php 呢?
对于这个问题我们可以通过URL重写的方式解决,当然这个是需要服务器开启 URL_REWRITE 模块才可以的。所以进行下面的步骤前请确定你的服务器是否已经开启了或者是否能开启 URL_REWRITE 。
(1)如果没有开启 URL_REWRITE,则你需......
2013-02-23 22:04:32
最近刚刚开始学习 thinkphp 这套框架,对于thinkphp的强大真的是让哥叹为观止,其抗压能力,性能如何这个暂不讨论,下面就分享一下 thinkphp 强大的查询功能,当然这里只是抛砖引玉而已。
一、带where条件的普通查询
1、字符串形式
$user=M('user');
$list=$user->where('id>5 and id<9')->select();
$list=$user->where($data)->select();
2、数组形式
$user=M('user');
$list=$user->where(array('username'=>'ww......
2013-02-01 06:04:31
thinkphp内置的模板引擎是一个自主创新的XML编译性模板引擎,下面通过一个案例分享一些thinkphp内置的模板引擎常用的模板标签的用法,包括变量输出、循环、判断、比较等,这些都是比较基础的用法,无法包括thinkphp内置模板引擎的全部标签和特性。
(1)下面是控制器 IndexAction 类的源码
class IndexAction extends Action{
public function index() {
$_SESSION['name'] = 'ThnkPHP Session';
......
2013-01-27 06:45:06
刚刚入手学习 thinkphp 框架,下面将 thinkphp 的 Action 控制器中可以直接使用的系统常量做一下总结,方便记忆以后直接使用。
THINK_PATH // thinkphp 系统目录
APP_PATH // 当前项目目录
APP_NAME // 当前项目名称
MODULE_NAME //当前模块名称
ACTION_NAME // 当前操作名称
TMPL_PATH // 项目模版目录
LIB_PATH // 项目类库目录
CACHE_PATH // 项目模版缓存目录
CONFIG_PATH //项目配置文件目录
LOG_PATH // 项目日志......
2013-01-24 23:36:54
在 thinkphp 模板引擎可以不需要赋值给某个模板变量而直接输出一些系统变量和系统常量、以及系统特殊变量。对于系统变量的输出必须以$Think. 打头,并且仍然可以支持使用函数。下面就分别做一下分享。
(1)系统变量:在模板中输出系统变量:包括server、env、session、post、get、request、cookie
{$Think.server.script_name} // 输出$_SERVER变量
{$Think.session.session_id|md5} // 输出$_SESSION变量
{$......
2013-01-23 23:35:06
thinkphp 3.1.2 模板跳转等待的时间默认只有3秒,这在开发中如果想看错误信息的时候是非常让人头痛的,虽然可以在页面显示的通过 $this->assign('waitSecond','1') 自定义页面跳转等待时间,但总会感觉很麻烦,有没有一种方法可以将这个默认的3秒改的时间更长点吗?下面就教你如何将这个时间定义为你想要等待多长的时间,在 thinkphp 3.1.2 中,在系统目录里面的 \Lib\Core\ 找到 Action.class.php 这个文件,在里面找到下面 dispa......
2013-01-23 22:06:15