月归档:2016年02月

thinkphp中的关联模型

thinkphp中的关联模型其实就是thinkphp自己实现的数据库关联查询功能,主要是为了方便解决CURD多关联业务操作的, 它和视图模型类似,但不完全一样, 视图模型是通过操作映射字段查询生成虚拟的表结构,关联模型里的结构真实存在。通常说的关联关系有以下几种。

发表在 php | 标签为 , , , , | 留下评论

thinkphp中的视图模型

thinkphp中也实现了视图, 它是用模型类来定义的, 视图其实就是数据库视图, 它是一张虚拟的表, 表(视图)本身不存在于数据中, 而是根据映射字段查询时自动生成, 主要是被用来解决关联查询或者说筛选的。 在thinkphp3.2.3中, 可以在模型Model和表名中间加View来表示这是一个视图模型, 然后引入Model下的ViewModel再创建一个继承自系统视图的自定义视图模型, 然后可以重写$viewFields属性, 它提供的是一个多维数组, 你可以通过array(‘表名’=>array(‘字段名’))的形式设置视图模型, 如果存在多表, 就要给重名的定义别名, 然后通过_on定义关联查询条件, 视图模型算基本定义完成。 回到对应的控制器里, 实例化自定义视图模型, 然后查出, 就可以了。

发表在 php | 标签为 , , , , | 留下评论

在thinkphp中使用ueditor

首先渲染出模板文件, 然后去ueditor.baidu.com下载所需要的版本,解压到public目录下, 因为可能前台后台都需要,所以需要在public目录下新建一个目录,部署好后, 回到模板文件, 加载这两个js文件  <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Static/ueditor/ueditor.config.js"></script>  <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Static/ueditor/ueditor.all.js"> </script>

发表在 php | 标签为 , , , | 留下评论

会员管理之增删改查

会员管理模块大概包含会员注册,会员列表的显示,会员信息搜索,会员编辑,会员删除,即所谓的增删改查。 首先来看会员注册, 因为我现在使用的thinkphp版本是3.2.3,所以文件命名上也得遵循一下它的规则(比如tp5下,定义控制器命名已经可以不加Controller。)首先到Index控制器同级目录下新建一RegisterController.class.php(注册控制器),然后定义控制器, 导入控制器基础类文件,然后再新建一个index方法一个add方法,index方法里调用注册页,注册页是个form表单,提交地址对应当前控制器下的add方法, 回到控制器,在add方法里通过模型类实例化一个对象,调用->create方法判断如果接收到了表单数据就调用->add方法写入数据库, 如果失败就通过->getError获取具体的错误信息。 到此, 用户注册完成。

发表在 php | 标签为 , , , | 留下评论

thinkphp获取上一次的sql执行记录

有时候执行一些数据库操作的时候会不成功但是也不会有任何错误出现, 这个时候就要观察sql语句, 其实开启Debug后,thinkphp也给你提供了SQL语句显示界面, 如果你不想去点那个图标,然后翻到sql选项再去查看sql语句就可以使用thinkphp提供的一个方法getLastSql(); 这个方法可以获取上一次的sql执行记录, 具体的用法是这样的。

发表在 php | 标签为 , , | 留下评论

解决thinkphp乱码问题

最近在用thinkphp做个东西, 在向模板变量分配数据的时候, 打开页面, 发现存在乱码, 网上搜了一下, 有人告诉说可以重新控制器里的构造方法里的方法, 其实只需要php文件编码类型和模板编码类型对应就可以正常显示了, thinkphp默认编码是utf-8编码, 把php保存文件编码改为utf-8,然后在模板里设置 问题即可解决。

发表在 php | 标签为 , , , | 留下评论

后台管理员权限分级表的设计

在web1.0时期,一个网站普遍只有一个管理员,管理员登录网站, 对网站的内容进行增删改查, SNS流行后, 一个网站管理员已经不能满足当前环境的所需,这个时候就需要拥有不同权限的后台管理账户, 比如文章管理员, 不能让他有添加管理员的权限, 只让超级管理员拥有全局的权限。这个时候,就要对管理员表进行设计。 我们选用的是角色权限控制, 所以得需要一张角色表,需要根据不同角色访问不同的页面, 还需要一个规则, 需要存储账户密码信息, 还需要一张存储账户密码信息表, 一共三张表。

发表在 php | 标签为 , , , , | 留下评论

Thinkphp5入门二使用验证码类

Thinkphp官方给提供了一个很好的处理验证码的扩展, 下载地址在这里 Thinkphp验证码类 下载回来后,需要放到thinkphp核心目录下。 回到Login.php文件, 新建一个方法

发表在 php | 标签为 , , , | 留下评论

php文件系统目录递归部分一

<?php header("Content-Type:text/html;charset=gb2312"); date_default_timezone_set(‘PRC’); $dir = ‘filesys’; $dirname = opendir($dir); while($filename = readdir($dirname)) {   $file = $dir.’/’.$filename;   if($filename != ‘.’ && $filename != ‘..’)     {       if(is_file($file))         {       … 继续阅读

发表在 php | 标签为 , , | 留下评论

php修改文件

<?php if(isset($_POST[‘sub’])) {     setConfig($_POST); } function setConfig($post) {     $zz = array();     $rep = array();     $str = file_get_contents("config.inc.php");     foreach($post as $key=>$value)     {         $zz[] = "/define\("{$key}",\s*.*?\);/i"; … 继续阅读

发表在 php | 标签为 , , , | 留下评论