模板常量
__ROOT__: 根目录 __URL__: 1级 控制器地址 /index.php/index __APP__: 输出app入口地址 /index.php __PUBLIC__: 跟目录public目录 以上缩写仅适用于模板中使用
echo THINK_VERSION; 版本信息
C函数 C('DB_NAME','thinkphp'); 设置 C('DB_NAME'); 读取 C(); 读取全部
M函数 $User = M('User'); //实例化User模型 同等于 $User = new Model('User'); $User->select(); //执行其他的数据操作
G函数 // 统计区间内存使用情况
L函数 L('LANG_VAR','语言定义');//定义 L('LANG_VAR'); //读取 $lang['lang_var1'] = '语言定义1'; $lang = L(); //读取全部 {$Think.lang.lang_var} //模板里使用
要启用多语言功能,首先要下载多语言行为扩展(http://www./extend/186.html),或者下载官方的完整扩展包(http://www./down/253.html) 里面也已经包含多语言行为扩展了,把下载后解压到的CheckLangBehavior.class.php 文件放入ThinkPHP/Extend/Behavior(如果没有请手动创建)目录下面。然后在项目的行为配置文件(Conf/tags.php)中 启用多语言行为,添加如下配置项: return array( 项目config.php文件加入 'LANG_SWITCH_ON' => true, // 开启语言包功能
----------------------------------------------------------------- $Model = new Model() // 实例化一个model对象 没有对应任何数据表 $Model->execute('update think_user set name='thinkPHP' where status=1');
$user = $Data->getBy字段名('值'); //查询字段名为值的所有记录 echo $Data->getFieldBy字段名('值','返回字段'); //查询字段名为值的 返回id值
------------------------------------------------------------------- 隐藏index.php 如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下
// 添加数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'thinkphp', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'think_', // 数据库表前缀
获取变量 $id = $this->_get('id'); // 获取get变量 $this->_get('name','strip_tags'); //获取变量并执行函数 $this->_get('id','strip_tags',0);//不存在的默认是0 3.1.3 以上用 I('get.id'); I('get.name',''); // 如果不存在$_GET['name'] 则返回空字符串 I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法 I('get.'); // 获取整个$_GET 数组
I('param.id'); //自动判断类型 echo I('param.1'); // 参数1 I('id'); //等于I('param.id')
模板技术
config.php 'TMPL_TEMPLATE_SUFFIX'=>'.tpl' 设置默认模板的扩展名 常量 !-Public-!: 会被替换成当前项目的公共模板目录 通常是 /项目目录/Tpl/当前主题/Public/
新增加自己的常量 'TMPL_PARSE_STRING' =>array( '!-PUBLIC-!' => '/Common', // 更改默认的!-PUBLIC-! 替换规则 '__JS__' => '/Public/JS/', // 增加新的JS类库路径替换规则 '__UPLOAD__' => '/Uploads', // 增加新的上传路径替换规则 )
<import type='css' file='c' /> 导入默认网站Public目录下的c.css <import type='css' file='c,css.style' /> 导入Public/c.sss 和Public/css/style.css <import type='js' file='js.1' /> 导入Public/js/1.js <include file='comm:head'/> 导入模板comm模块下的head模板 <include file='content'/> 导入同模块下的content模板
跳转 $this->assign('waitSecond',5); 时间 $this->success('提示消息',地址); config.php 设置模板 'TMPL_ACTION_ERROR' => 'Public:error', // 默认错误跳转对应的模板文件 在tpl新建Public目录和相关页面
$this->redirect(地址, array('status'=>1,'id'=>200),延时,单位为秒, 提示信息) ;
自动验证 和自动完成 <? protected $insertFields = 'account,password,nickname,email'; //插入的时候的字段 其他无效 protected $updateFields = 'nickname,email'; //更新的字段 其他无效
array(填充字段,填充内容[,填充条件][,附加规则]) 1 必须。需要填充的表单字段,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如验证码等。 2 必须。要对字段自动填充的内容。 3 可选。 1 :新增数据时候填充(默认)2 :更新数据时候填充 3 :全部情况下填充 4 可选。string:字符串,表示填充内容为字符串(默认)function:使用函数,表示填充的内容是一个函数返回值 callback:使用方法,表示填充的内容是一个当前 Model 的方法返回值 field:字段,表示填充的内容是一个其他字段的值
数据库设置config.php // 添加数据库配置信息
开启调试模式 Conf\config.php define('APP_DEBUG',TRUE); 新建Conf\debug.php <?php TRACE 只有在display()后 才能显示; 网站内部可以用
缓存 S(array('type'=>'xcache','expire'=>60)); //cache cache('a',$value,300);//设置 $value = cache('a');//读取 cache('a',null);//删除
快速缓存 F('name',值); //设置 $Data=F('name'); //读取 默认目录在 项目\Runtime\Data F('data',NULL); 删除 F('User/abc',$data);/创建带目录的user是文件名 abc的名字 读取也是需要带上目录 F('User/abc')
sql 缓存 $db-> cache(true) -> order('id desc')->select(); //默认 DATA_CACHE_TIME 设置时间 $db->cache('cache_name',60)->select();
控制器
public function _empty($name){ 空方法 }
空控制器和空方法 class EmptyAction extends Action{
前置后置 class IndexAction extends Action{
IS_GET 是否GET请求
分页 $db = D('News'); $this -> assign('show', $show); //列表 上传 public function upload() {
验证码 模板里 <input name='abc' type='text' /><img src='__APP__/index/verify' />
程序 if(session('verify') != md5($_POST['abc'])) {
获取ip $ip = get_client_ip(); //127.0.0.1 $ip = get_client_ip(1); //2130706433
根据id获取更多信息 import('ORG.Net.IpLocation');// 导入IpLocation类 地址库文件UTFWry.dat放入IpLocation扩展类库所在目录下面即可 |
|