zoukankan      html  css  js  c++  java
  • ThinkPHP3.2 杂记

    如果父类有_initialize()方法,子类用任何方法前都会调用父类的 _initialize方法,避免这种现象可以在子类中声明_initialize()方法,可以控制是否调用父类的_initialize方法

    class ExcelController extends CommonController{
        function _initialize() {
            parent::_initialize();
            echo 'ExcelController'.PHP_EOL;
        }
    }
    

      

    前台模板文件{$a} 在某些位置不能被成功替换,例如{afdasd{$a}}解决办法 直接写成<?php echo($a); ?>

    某些数组变量无法被解析可以把$vo.size 替换成$vo[‘size’]试试

    通过一个Thinkphp完成多个项目

    1、单独取压缩包中的Thinkphp文件夹

     

    2、在单独的项目内创建一个引入文件

     

    3、通过浏览器访问该index.php 会创建相应的目录

    创建除另外一个项目分组外的另外分组

     

    自动创建后台目录

     

    自动生成控制器

    生成Admin模块的目录,并生成一个默认的控制器类AdminControllerIndexController。 如果需要生成更多的控制器类,可以定义BUILD_CONTROLLER_LIST常量,例如:

    1. // 绑定Admin模块到当前入口文件
    2. define('BIND_MODULE','Admin');
    3. define('BUILD_CONTROLLER_LIST','Index,User,Menu');
    4. define('APP_PATH','./Application/');
    5. require './ThinkPHP/ThinkPHP.php';

    复制代码

    访问后会自动生成三个指定的控制器类:

    1. AdminControllerIndexController
    2. AdminControllerUserController
    3. AdminControllerMenuController

    品字框架传值

    品字形框架通过index.html引入三个left.html/right.html/head.html,在index.html中不能使用”./left.html”,         比喻用单独的方法引入__CONTROLLER__/left,这样控制器才能传值。

    显示所有常量

     

    品字形框架点击替换

    index.html(head.html/left.html/right.htm),点击left中连接,替换右边

     

    使用自动验证时,

    页面没有显示

    使用dump($info->getError());可以

    空控制器

     

    跨控制器调用

    $obj = A(”abc”); $obj->fun();

    $obj = A(”admin/abc”); $obj->fun();

    R函数是对A方法的封装

    $user = new UserController;  ===      $user=A(“User”);

    $user = new UserController;

    $user->fun();               === R(“User/fun”);

    跨模块调用

    R(“Home/User/fun”);

    R(“Book://Home/User/fun”);

    SQL匹配顺序

    SELECT%DISTINCT%%FIELD%FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%%COMMENT%

    having()方法设置查询条件,where()设置查询条件

      having  和 where区别

    ①   使用有先后顺序

    ②   where  price>100     having price>100

    ③   where  设置条件,字段必须是数据表中存在的字段

    ④   having 设置条件,字段必须是select语句查询出来的字段可以使用

       

    模版页面通过get传参数http://.../good_id/2;控制中可以直接使用echo $good_id;//2

     

    模板输出时间

     

    TP验证

    十二、

    十三、

    十四、

    十五、

    十六、

    多语言支持

    1、

    2、

    3、

    4、

    变量会被替换

     

    html,if标签使用

     

    $vo.auth_id eq $vo2.auth_pid报错不能用

    condition里面访问变量,不能用点的形式,应该用['']的形式访问

    超级管理员

     

    表前缀sw_时

     

    操作效果一样

    自增序号,而且默认变量就是$i,也就是说在你的volist标签之内,可以直接使用$i

    <volist name="vlist" id="v">

          <{$i}> // 直接使用$i

    </volist>

    去除最右空格

     

    字符串分割数组

     

    数组连接字符串

     

    模板volist自增变量

     

    SQL排序

     

    模版输出多个空格

     

    创建表

    DROP TABLE IF EXISTS `sw_user`;

    CREATE TABLE `sw_user` (

      `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',

      `username` varchar(128) NOT NULL DEFAULT '' COMMENT '登录名',

      `password` varchar(32) NOT NULL DEFAULT '' COMMENT '登录密码',

      `user_email` varchar(64) NOT NULL DEFAULT '' COMMENT '邮箱',

      `user_sex` tinyint(4) NOT NULL DEFAULT '1' COMMENT '性别',

      `user_qq` varchar(32) NOT NULL DEFAULT '' COMMENT 'qq',

      `user_tel` varchar(32) NOT NULL DEFAULT '' COMMENT '手机',

      `user_xueli` tinyint(4) NOT NULL DEFAULT '1' COMMENT '学历',

      `user_hobby` varchar(32) NOT NULL DEFAULT '' COMMENT '爱好',

      `user_introduce` text COMMENT '简介',

      `user_time` int(11) DEFAULT NULL,

      `last_time` int(11) NOT NULL DEFAULT '0',

      PRIMARY KEY (`user_id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=133 DEFAULT CHARSET=utf8 COMMENT='会员表';

    /*!40101 SET character_set_client = @saved_cs_client */;

    设置auto_increment 从133开始,插入数据时可以是任意值

    验证码点击更换

    <img src="__CONTROLLER__/verifyImg"  onclick= "this.src='__CONTROLLER__/verifyImg/Math.random()'"  />

    疑难杂症,验证码有时不显示;

    public function verifyImg(){

                       ob_end_clean(); //增加这句

                       $Verify = new ThinkVerify();

                       $Verify->fontSize = 16;

                       $Verify->length   = 1;

                       $Verify->imageW =100;

                       $Verify->imageH =25;

                       $Verify->useNoise = false;

                       $Verify->entry();

             }

    I函数获取表单数据

    I(‘post.name’);没毛病,获取全部数据I(‘post.’)别忘记这个’.’

    当想mysql某插入有某字段设置了unique且和之前相同时,会报错,并停止运行

     

    ThinkPHP 模板中无法计算

    <td>{$listSum.goods_amount}</td>

    无法进行计算需要使用

    <td>{$list[goods_amount]- $listSum[cost_amount]-$listSum[shipping_amount]}</td>

    获得某时间戳的下个月初时间戳(自己写)

    $i=@strtotime(@date('Y',$i).'-'.@(date('m',$i)+1).'-1 00:00:00'))

     

  • 相关阅读:
    RFID Hacking②:PM3入门指南
    技术解析:锁屏绕过,三星Galaxy系列手机也能“被”呼出电话
    技术分享:逆向破解华为路由器第一部分
    GSM BTS Hacking: 利用BladeRF和开源BTS 5搭建基站
    js生成随即字符串
    ES6 对象解构
    vue隐藏APP启动时显示的{{}}
    国内常用的三种框架:ionic/mui/framework7对比
    vue for 绑定事件
    html5视频全频播放
  • 原文地址:https://www.cnblogs.com/8000cabbage/p/7428000.html
Copyright © 2011-2022 走看看