thinkPHP带了一个扩展的RBAC模型,模型和think一样的奇葩,不走寻常路,但凡学习过其他框架童鞋,都会被绕晕倒的,PHP的debug不太会用,导致thinkPHP常常出现不显示内容,也没有错误提示,用记事本编辑的童鞋真的勇气可嘉啊,可惜Eclipse老是提示thinkPHP导出是错误,无法编辑,只有回到sublime text2;废话好多!1,thinkPHP RBAC最难的是 数据库的理解,一旦理解了数据库,其他的就容易了他用了五张表来表示RBAC模型,其实就是经...
本篇大部分操作是根据这两篇操作下来,安装搭建成功的,贴上地址: 闻海南 :https://www.cnblogs.com/wenhainan/p/11910178.htmlJason Ho : https://blog.csdn.net/weixin_42433970/article/details/101440156thinkPHP6.0在5.1的基础上对底层架构做了进一步的精简和统一,引入了一些新特性,并提升版本要求,ThinkPHP6.0运行环境要求PHP7.1+,不支持5.1的无缝升级。thinkPHP6(TP6)是一款简洁而优雅,光明磊落,清楚流畅比laravel有过...
最近有个需求,THINKPHP3.2中对数据进行导出,数据一共有43项,导出时候就会抱错 Invalid cell coordinate [1因为phpexcel 的cell.php里默认就设置了26列,而且判断方法里默认从a-z然后下一个列就是aa1了 ,而实际上在excel里z后面应该是AA,AB,AC,AD,AE,AF这样 所以需要改判断方法,我之前写过一篇excel的导出,只需要吧其中一个方法改动一下,改动的思想就是 当超过26列的时候 下一列命名应该是AA,AB,而不是 aa1,AA2,改进方...
原文:http://www.cnblogs.com/yaomengli/p/6943947.html
先写个表单提交,这就是个简单的后台了。。。其实也可以通过phpadmin。。。phpadmin也叫后台的吧。。。一切都是为了更方便快捷。。。先弄个模板,简单了点,就是为了了解实现的流程和原理<form action="check.php" method="post"> 添加数据:<input type="text" name="user"><input type="submit" value="提交"></form>View Code一会还会改的吧,暂时是这样的。。。弄个入口就叫admin.php吧直接抄的前台入口,这样可好?。。。<?php...
一:配置:文件位置 public/index.php<?php// [ 应用入口文件 ]namespace think;require __DIR__ . ‘/../vendor/autoload.php‘;// 项目位置define(‘APP_PATH‘,dirname(__DIR__));// 入口文件位置define(‘APP_HOME‘,‘/public‘);// 上传文件夹define(‘UPLOAD‘,‘/uploads‘);// 模板部署define(‘TEMPLATE_PATH‘, ‘template‘);// 执行HTTP应用并响应$http = (new App())->http;$response = $http->run();$response->sen...
一、入口文件ThinkPHP采用单一入口模式进行项目部署和访问入口文件代码 1 <?php2define(‘APP_DEBUG‘,TRUE);//打开调试模式 在生产环境中应该关闭 3define(‘APP_NAME‘, ‘cms‘);//定影项目的名称 4define(‘CONF_PATH‘,‘./Data/Conf/‘);//定义配置文件的目录 5define(‘RUNTIME_PATH‘,‘./data/logs/‘);//定义缓存的目录 6define(‘TMPL_PATH‘,‘./Theme/‘);//定义模板的路径和名称 7define(‘APP_PATH‘,‘./Cms/‘);/...
thinkphp内置的foreach和include等模板标签使用是非常方便的;但是内置的那些标签只能满足常用功能,个性化的功能就需要我们自己编写自定义模板标签了;下面就是要讲解如何实现;示例环境:thinkphp3.2.3thinkphp的模板标签放在ThinkPHP/Library/Think/Template/TagLib目录下;其中Cx.class.php就是foreach、if等标签定义的地方;其中Html.class.php就不废话了;有兴趣的可以去看一眼都什么内容;一眼就懂的那种;实现自定义模板标...
今晚继续我的这个项目的开发,今晚也是写的不多,主要写了一个菜单管理功能的CURD方法,前端界面还没有进行编写。 菜单管理Model层的代码:<?php namespace Common\Model; use Think\Model;class MenuModel extends Model{private $_db=‘‘;public function __construct(){$this->_db=M("menu");}/*** 插入菜单数据*/public function insert($data=array()){if(!data || !is_array($data)){return 0;}return $this->_db->add($...
控 制 器:1.命名方法:新建一个主页面的控制器controller文件夹下新建一个文件,命名为:MainController.class.php首字母都大写,称为驼峰命名法eg: <?phpnamespace Home\Controller;use Think\Controller;class MainController extends Controller{public function XianShi(){echo "主页面显示"; } }2. C()方法C(名称) 获得配置变量(convertion.php config.php)信息C(名称,值) 设置配置变量信息 2.1 读取配置:public ...
$search[‘kw‘] = trim(I(‘kw‘)); 接受值为e59ba389761bfb7fd837d775b17314ca$search[‘type‘] = trim(I(‘type‘));接受值为 1以上是获取多关键词以下是自带处理方法$Page->parameter = $search;处理后的格式为http://tp.test.com/liuyan.php/Home/Index/bklist/kw/e59ba389761bfb7fd837d775b17314ca/type/1/p/2原文:https://www.cnblogs.com/zhangjian816/p/8434279.html
一般会用粗暴的ThinkCMF,第三方库在 simplewind/Core/Library/Vendor/比如我们把PHPExcel放在Vendor目录下 如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的vendor函数简化导入。例如,我们来导入二维码操作库PHPExcel,把PHPExcel放到Vendor目录下面,这个时候PHPExcel主文件的路径就是simplewind/Core/Library/Vendor/PHPExcel/PHPExcel.php,我们使用vendor...
在model中新建一个UserModel //覆盖原本的设置//一次性获得全部验证错误protected $patchValidate = true;//实现表单项目验证//通过重写父类属性_validate实现表单验证protected $_validate = array(//验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),//验证用户名,require必须填写项目 //验证字段的名和表单传来的name需要一致array(‘username‘,‘require‘,‘用户名必须填写‘),array(‘...
A方法用于在内部实例化控制器,调用格式:A(‘[项目://][分组/]模块‘,‘控制器层名称‘)最简单的用法:$User = A(‘User‘);复制代码 表示实例化当前项目的UserAction控制器(这个控制器对应的文件位于Lib/Action/UserAction.class.php),如果采用了分组模式,并且要实例化另外一个Admin分组的控制器可以用:$User = A(‘Admin/User‘);复制代码 也支持跨项目实例化(项目的目录要保持同级)$User = A(‘Admin://User‘);复制代码...
thinkphp中关于count()方法的使用: 控制器中:echo count($arr)模板中:{$arr | count}模板中if判断语句中 <if condition="count($arr)">.....</if>在模板中的if语句里的condition 进行大小判断eq:等于neq:不等于lt:小于gt:大于原文:https://www.cnblogs.com/tine/p/8669370.html