-
ThinkPHP里面C()、D()、S()的简单说明
1、在具体的Action方法里面,可以用C()对某些参数进行动态配置,主要指那些还没有使用的参数。具体用法如下:
C(‘参数名称’);//获取已经设置的参数值
C(‘参数名称’,'新的参数值’);//设置新的值比如,如果想调用config配置文件里面的某个参数,就可以:C(‘DB_PREFIX’); //调用表前缀
2、D()函数的使用:
先定义好模型类,如UserModel,然后就可以用D()函数对数据进行操作了。例如:
先在”你的项目”\Lib\Model下建立一个名为UserModel.class.php的PHP脚本,内容如下:
classUserModelextendsModel{}
然后,无需增加任何属性和方法,就可以进行如下操作:
$User=D(“User”);//实例化User对象,User是你在数据库建立的一个名为”前缀_user”的数据表
也可以用$User=newUserModel()代替,进行实例化对象的操作。
实例化之后,就可以对数据进行增删查改等一系列操作了,如:
$User->find(1);//查找主键为1的记录
3、S()函数的使用:
ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用不同的缓存方式的时候并不需要关注具体的缓存细节。如:
S(‘data’,$Data);//使用data标识缓存$Data数据
S(‘data’,$Data,3600);//缓存$Data数据3600秒
$Data=S(‘data’);//获取缓存数据没有评论 -
ThinkPHP3.0-更新缓存的几点说明
ThinkPHP更新缓存,需要用到Dir.class.php,类库文件,但是3.0里面就是没有找到这个,目前还不清楚是什么原因,无奈之下,从2.2里面的拷贝过来了。
Dir.class.php,文件路径:ThinkPHP_2.2_Full\AddOns\Library\ORG\Io\
ThinkPHP需要清除的缓冲有四个目录1个文件:模版缓存(Cache),数据缓存目录(Temp), 日志目录(Logs), 数据目录(Data),~runtime.php。
我在系统中更新缓存是一次性的,没有选择性,代码如下:
import(“@.ORG.Io.Dir”); //导入类库文件
Dir::del(RUNTIME_PATH); //删除,括号里面是路径OK,其他路径也写上即可。
需要注意的是,只能将文件夹下的文件删除,文件夹下文件夹里面的文件需要单独写代码了。
比如,系统用了分组之后,那么,Cache目录下就会有多个文件夹,这里也分别写上,如果需要的话。
-
ThinkPHP3.0 自定义常量
自定义常量:
文件:/Conf/config.php
代码:
在array的里面,再次嵌入array,
‘TMPL_PARSE_STRING’ => array(
‘常量名’ => ‘常量赋值’,
),这样就OK,不能像系统常量那样直接定义,自定义的需要放到 TMPL_PARSE_STRING 数组里面。
-
ThinkPHP-实例化模型的4种方式
-
ThinkPHP中RBAC四个表及所含字段的说明
ThinkPHP中RBAC四个表及所含字段的说明:
_role:角色表
字段名
id
name
pid
status
Remark
解释
角色名称 父ID,顶级:0 状态,1,0 注释 _role_user:角色与用户对应表
字段
Role_id User_id 解释
角色ID,与后面的用户ID对应 用户ID,与前面的角色ID对应 _node:节点表
字段
id name title status remark sort pid level 解释
节点名称,一般为:项目名称(入口文件中定义的项目名称)、Action(模块)名称、Function(方法)名称 如果系统存在分组,那么需要填写,分组名称,如:Home、Admin
节点标题 状态,1,0 注释 排序 父ID,顶级:0 等级:1、2、3… _access:权限控制表
字段
Role_id
Node_id
level
module
解释
角色ID 节点ID 等级 -
ThinkPHP:关于import中@的说明
-
ThinkPHP入门教程-根据官方的入门视频整理而成
-
ThinkPHP报错:open_basedir restriction in effect. File() is not within the allowed path
刚开始学习ThinkPHP,配置好后就报错:
Warning: require() [function.require]: open_basedir restriction in effect. File(../../ThinkPHP/ThinkPHP.php) is not within the allowed path(s): (D:/DedeAMPZ/WebRoot/Examples) in D:\DedeAMPZ\WebRoot\Examples\Hello\index.php on line 17
Warning: require(../../ThinkPHP/ThinkPHP.php) [function.require]: failed to open stream: Operation not permitted in D:\DedeAMPZ\WebRoot\Examples\Hello\index.php on line 17
Fatal error: require() [function.require]: Failed opening required ‘../../ThinkPHP/ThinkPHP.php’ (include_path=’.;C:\php5\pear’) in D:\DedeAMPZ\WebRoot\Examples\Hello\index.php on line 17
测试环境:DedeAMPZ PHP整合套件客户端
报错后百度一下,得到下面的解决方案,并成功解决。
1、打开目录:D:\DedeAMPZ\Program\Apache\conf 下面的:httpd-vhosts.conf
2、修改:php_admin_value open_basedir “D:/DedeAMPZ/WebRoot/Examples” 为:php_admin_value open_basedir “D:/DedeAMPZ/”
成功解决!
-
SQL count的简单用法
直接用法:select count(*) from 表名
赋值给一个参数:select count(*) as c From 表名,将总条数赋值给:c,直接输出c的值即可。
直接统计出表的信息数,挺方便的。
-
巧用二级域名,加快网页加载速度
这里不说太多复杂的概念,也不用知道为什么,只要知道这个方法可行,能够提高网页的访问速度就OK了。
每款浏览器的并发数有限,这里就是通过给网站增加1个二级域名,间接帮助浏览器增加并发数来提高打开速度。
具体操作:
假设我们的网站绑定的域名:www.tahaoma.net,按照正常的流程整个站点就这1个域名,但是如果图片很多,网速不很给力的话就会造成延迟。
这个时候,新绑定一个二级域名(二级域名是免费的,一般的空间都支持绑定多个域名):image.tahaoma.net,所有的图片才用绝对路径:http://images.tahaoma.net/图片地址,来访问。
这样在打开网站的时候,就会在加载www.tahaoma.net主域名的同时,image.tahaoma.net也在工作。在任务栏可以看到。
切忌,不要绑定太多,这个方法虽然增加了并发数,但是同时,域名解析也需要耗费一定的时间。
一般的站点绑定1个二级域名即可。
