精华内容
下载资源
问答
  • <div><p>Here are the updated docs for Service Mesh TP8 including the 3scale Istio Adapter 0.3 documentation update and some general clean up. Can -avery and provide feedback?</p><p>该提问来源于开源...
  • TP8【JSP 标准标签库jstl】
  • 东方编程基地 IUTMontpellier-Sète–部门信息 Cours: 支持 拥护者:( ,( ,( ,( ,( , Le de ce cours 有关隐私的问题。 Le en格式.pdf可收费且不可更改。 总检察长前锋,前总统储藏室自动分配配额: ...
  • TP复习8

    2019-07-17 16:22:29
    本节课大纲:一、模板的使用 (重点) a、规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl) 更换模板文件的后缀名(修改配置文件) ...

    #
    # ThinkPHP 3.1.2 视图
    #
    讲师:赵桐正
    微博:http://weibo.com/zhaotongzheng

    本节课大纲:
    一、模板的使用 (重点)
    a、规则
    模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl)
    更换模板文件的后缀名(修改配置文件)
    'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
    b、修改模板文件目录层次
    'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次
    c、模板主题
    'DEFAULT_THEME'=>'your',//设置默认模板主题
    需要在TPL下面新建一个your文件夹作为模板主题文件夹
    如何动态修改模板主题?
    1、在后台准备一个功能,修改config.php文件中的默认模板项
    2、通过url传递 t=主题 参数可以修改不同的模板
    'DEFAULT_THEME'=>'your',//设置默认模板主题
    'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
    'THEME_LIST'=>'your,my',//支持的模板主题列表

    二、输出模板内容 (重点)
    a、display
    1.display中没有参数
    $this->display();
    2.可以带参数
    $this->display(本模块文件夹下的其他模板文件);
    $this->display('index2');

    $this->display(其他文件夹下的模板文件);
    $this->display('Public:error');//注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可,不需要一定有Public模块

    $this->display(其他主题下的 文件夹下的 模板文件);//需要开启主题支持
    $this->display('my:Index:index');
    三、模板中的赋值 (重点)
    四、模板替换 (重点)

     

    配置 

    'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
    'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次  Index_index.html模块-方法名。html

     

     

    'DEFAULT_THEME'=>'your',//设置默认模板主题
    'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
    'THEME_LIST'=>'your,my',//支持的模板主题列表

     

    转载于:https://www.cnblogs.com/wangchuang/p/3573183.html

    展开全文
  • tp-lab-8-源码

    2021-03-16 08:24:19
    tp-lab-8
  • ESEO_TP_Server_S8-源码

    2021-03-20 05:06:04
    ESEO_TP_Server_S8
  • phpstudy8安装tp6

    2021-02-20 11:37:44
    thinkphp6出来了也好长时间了,一直也没有安装使用。...使用命令composer create-project topthink/think tp6 等待安装 出现上图情况安装成功 安装目录下如下图 5.访问如下图 ...

        thinkphp6出来了也好长时间了,一直也没有安装使用。趁着公司正好有一个项目安装一下用用。

    1.phpstudy的安装这里不再赘述(网上搜索下载)

    2.安装composer(点击安装)

    3.创建站点

    4.安装tp6

    点击管理选择composer

    点击确定

    使用命令composer create-project topthink/think tp6

    等待安装

    出现上图情况安装成功

    安装目录下如下图

    5.访问如下图

     

     

     

     

    展开全文
  • tp2041编程器固件8m

    2018-09-18 09:35:30
    TP2041 8M编程器固件不对第三方的发送到反倒是多少粉丝fs
  • BeastAll.NowLucid.gaIL8tP
  • 多皮WIN8TP

    2012-11-21 12:00:48
    WIN8 LOL反Tp软件,让你Win8玩lol不是问题!
  • HI8 WIN10 TP驱动

    2015-10-26 12:54:40
    TP驱动下载到桌面:SileadTouch Package 并且解压到桌面 2:鼠标在这界面点击右键会出现一些选项
  • TPLINK 841N V8 4M编程器固件,编程器下载备份的。已经恢复出厂设置了
  • tplink841v8编程器 固件.bin 编程器写入专用
  • tp5.0查询mysql8

    2018-09-18 15:23:49
    $fangtai_arr = db("t_wxroomstatus")->field("F_RoomType,count(*) as RoomNum,sum(case when F_RoomStatus='入住' then 0 else 1 end) as KongRoomNum,sum(case when F_RoomStatus='入住' then 1 else 0 end) ...
  • 8TP5.0 模型

    2018-11-02 13:08:49
    a、打开前台模块(C:\AppServ\www\tp5\application\index) 新建model目录 b、在model目录下 新建 User.php // 声明命名空间 namespace app\index\model; // 导入系统的数据模型 use ...

    1、模型(model)

    数据模型
    

    2、新建数据模型

    1) 手动新建
    
    	a、打开前台模块(C:\AppServ\www\tp5\application\index)
    
    		新建model目录
    
    	b、在model目录下 新建 User.php
    
    		// 声明命名空间
    		namespace app\index\model;
    
    		// 导入系统的数据模型
    
    		use think\Model;
    
    		// 声明user模型
    
    		class User extends Model{
    			
    		}
    
    2) 命令新建
    
    	1) 切换到项目目录
    
    		php think make:model app\index\model\Users
    
    
    3) 注意
    
    	1、数据模型的名字 建议大家跟数据库名一致
    
    	2、如果数据库名字和模型名不一致 可以设置表名
    
    		protected $table="";
    
    	3、如果表名(yzm_user),数据模型名 (YzmUser)
    

    3、模型的实例化

    1、调用静态方法
    
    	$res=User::get(1);
    	dump($res->toArray());
    
    2、实例化数据模型
    
    	$user=new User();
    	$res=$user::get(2);
    	dump($res->toArray());
    
    3、使用loader
    
    	$user=Loader::model("user");
    	$res=$user::get(3);
    	dump($res->toArray());
    
    4、使用助手函数
    
    	$user=model("user");
    	$res=$user::get(4);
    	dump($res->toArray());
    

    4、查询操作

    1、单条数据
    
    	// get方法
        	// 使用数字
        	$res=User::get(1); // 默认主键
        	// 使用数组
        	$res=User::get(["name"=>'yzmedu3']);  // 默认查找用户名
    
        	// 使用闭包函数
        	$res=User::get(function($query){
        		$query->where("id",15);
        	});
        // find方法
    
        	$res=User::where("id",13)->find();
    
    2、查询多条数据
    
    	// all
    		// 所有数据
    		$res=User::all();
    
    		// 字符串
    		$res=User::all("1,2,3");
    
    		// 数组
    		$res=User::all([5,6,7]);
    
    		// 数组
    
    		$res=User::all(['pass'=>'123']);
    
    		// 闭包
    
    		$res=User::all(function($query){
    			$query->where("pass","123")
    				->whereOr("pass","456")
    				->order("id","desc");
    		});
    
    	// select 和 all 基本类似
    
    		$res=User::select();
    		$res=User::limit(2)->select();
    
    3、获取某个字段和某列值
    
    	// 获取某个值
    	$res=User::where("id",5)->value("name");
    
    	// 获取某列值
    
    	$res=User::column("name","id");
    
    4、动态查询
    	// 查询出匹配到的第一条数据
    	// getBy字段名
    	$res=User::getByAge('44');
    	dump($res->toArray());
    

    5、增加操作

    1、设置属性
    	$user=new User();
    	$user->name="yzmedu21";
    	$user->pass="abc";
    	$user->age=18;
    	// 返回影响行数
    	$user->save();
    
    2、通过data方法
    	$user=new User();
    
    	$user->data([
    		"name"=>"yzmedu22",
    		"age"=>"22",
    		"pass"=>"qwe",
    		]);
    
    	// 返回影响行数
    	$user->save();
    
    3、实例化时
    
    	$user=new User([
    		"name"=>"yzmedu23",
    		"pass"=>'zxc',
    		"age"=>20
    		]);
    	// 返回影响行数
    	$user->save();
    	// allowField 屏蔽掉数据库中不存在的字段
    	$user->allowField(true)->save();
    	// 指定插入数据库的字段
    	$user->allowField(['name','age'])->save();
    
    4、获取自增的ID
    	// 获取插入数据ID
    	echo $user->id;
    
    5、增加多条数据
    
    	$user=new User();
    
    	$list=[
    		['name'=>"yzmedu33","age"=>33],
    		['name'=>"yzmedu34","age"=>34]
    
    	];
    
    	$user->saveAll($list);
    
    6、create方法
    	$user=User::create([
    		"name"=>"yzmedu35",
    		"age"=>35
    		]);
    

    6、删除操作

    // $user=User::get(1);
    // 返回影响行数
    // dump($user->delete());
    
    // 删除主键2
    $user=User::destroy(2);
    
    // 删除主键3,4,5
    $user=User::destroy("3,4,5");
    $user=User::destroy([6,7,8]);
    
    // 删除name
    
    $user=User::destroy(['name'=>"yzmedu23"]);
    
    // 删除多个条件
    
    $user=User::destroy(['name'=>'yzmedu33','age'=>33]);
    
    // 使用闭包
    
    $user=User::destroy(function($query){
    
        $query->where("id","<","15");
    });
    
    // 删除数据
    
    $user=User::where("id",">","19")->delete();
    
    dump($user);
    

    7、修改操作

    // 设置字段更新数据
    
       	$user=User::get(15);
    
       	$user->age=19;
    
       	$res=$user->save();
    
    // 直接数组修改
    
        $user=new User;
    
        $res=$user->save(
            [
                "pass"=>"qweasd",
                "age"=>16,
                
            ],["id"=>16]);
    
    // 修改数据
    
        $_POST['name']="yzmedu55";
        $_POST['pass']="pass55";
        $_POST['age']="55";
        $_POST['sex']="nan";
        $_POST['id']=17;
    
        $user=new User;
    
        $res=$user->allowField(['name','pass','age'])->save($_POST,['id'=>17]);
    
    // 批量更新
    
    
        $data=[
            ['id'=>15,'name'=>"abc",'pass'=>456],
            ['id'=>17,'name'=>"abc",'pass'=>456],
        ];
    
        $user=new User;
    
        $res=$user->saveAll($data);
    
        echo User::getLastSql();
    
    // 更新操作
    
        $user=new User;
    
        $res=$user->where("id",'>','17')->update(['age'=>18]);
    
        $res=User::where("id","<","18")->update(['pass'=>'zxc']);
    
    // 闭包更新数据
    
        $user=new User;
    
        $res=$user->save(['name'=>'yunzhimeng'],function($query){
            $query->where("id","15");
        });
    

    8、聚合

    // 统计数据条数
    $tot=User::count();
    
    dump($tot);
    
    // 条件判断
    $tot=User::where("age",">",18)->count();
    dump($tot);
    
    // 统计最大值
    
    $max=User::max('age');
    
    dump($max);
    
    // 统计最小值
    
    $min=User::min("age");
    
    dump($min);
    
    // 平均值
    $avg=User::avg('age');
    
    dump($avg);
    
    // 求和
    $sum=User::sum('age');
    dump($sum);
    

    9、获取器

    1、数据模型
    
    	// sex 的获取器
    	public function getSexAttr($val){
    		switch ($val) {
    			case '0':
    				return "未知";
    				break;
    			case "1":
    				return "男";
    				break;
    			case "2":
    				return "女";
    				break;
    		}
    	}
    
    
    2、控制器
    
    	// 获取ID为15 的数据
    	$user=User::get(17);
    
    	// 经过获取器的操作
    	dump($user->toArray()); 
    	dump($user->sex);
    
    	// 不经过获取器处理
    	dump($user->getData());
    
    
    3、注意
    
    	1、如果字段 user_status 修改器名字getUserStatusAttr
    	2、如果字段 status 修改器名字getStatusAttr
    

    10、修改器

    1、数据模型
    
    	// 用户密码的修改器
    
    	public function setPassAttr($val){
    
    		return md5($val);
    	}
    
    
    2、控制器
    
    	// 修改 ID 为15 的密码
    
    	$user=new User();
    
    	// 密码会实现自动加密
    	$res=$user->save(['pass'=>'456'],['id'=>15]);
    
    	dump($res);
    
    
    3、注意
    
    	1、修改器的触发条件是 save方法
    

    11、自动完成

    1、修改器和自动完成区别
    
        修改器:数据赋值的时候自动进行转换处理
        自动完成:没有手动赋值的情况下进行手动处理
    
    2、自动完成
    
    	// 增加和修改操作都会执行
    	protected $auto=[];
    	// 创建数据执行
    	protected $insert=['create_time'];
    	// 修改数据执行
    	protected $update=['update_time'];
    

    12、时间戳

    1、系统支持自动写入创建和更新的时间戳字段
    	1) 在配置文件中设置
    		// 自动写入时间戳字段
    		'auto_timestamp'  => true,
    
    	2) 在数据模型中设置
    
    		// 设置自动写入时间戳
    		protected $autoWriteTimestamp=true;
    
    2、可以设置字段默认值
    
    	// 增加时间的字段
    	protected $createTime='create_times';
    	// 更新时间的字段
    	protected $updateTime='update_times';
    
    3、取消更新时间戳设置
    
    	protected $updateTime=false;
    

    13、软删除

    1、作用:
    
    	实现假删除,可以进行恢复
    
    2、实现
    
    	<?php 
    		// 声明命名空间
    		namespace app\index\model;
    		// 导入系统的数据模型
    		use think\Model;
    		// 配合软删除
    		use traits\model\SoftDelete;
    		// 声明user模型
    		class User extends Model{
    			// 使用软删除
    			use SoftDelete;
    			// 设置删除的时间戳
    			protected $deleteTime="delete_times";
    
    		}
    
    3、控制器	
    
    
    	1、删除数据
    
    		$res=User::destroy(15);
    
    	2、获取数据
    
    		$res=User::get(15);
    		// 软删除 数据库数据存在,但是get获取不到
    
    	3、直接删除数据
    
       		$res=User::destroy(14,true);
    
       		$user=new User();
    
       		$res=$user->where("id",'5')->delete();
    
       	4、读取所有数据包含软删除数据
    
            $res=User::withTrashed()->find(15);
            $res=User::withTrashed()->select();
    
        5、仅仅读取软删除数据
    
            $res=User::onlyTrashed()->select();
            $res=User::onlyTrashed()->find(1);
    
    展开全文
  • tp商城(8)

    2016-04-20 01:45:16
    public function randStr($length = 8) {  $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456!@#$%^&*(';  $str = str_shuffle($str); //打乱  return substr($str, 0,$length); /...

    ______________________________________________________________________________

    直接注册 很简单

    public function zhuce() {
        if(!IS_POST) {
            $this->display('user_login');
        } else {
            $user = D('User');
            if(!$user->create()) {        //create为自动验证做准备///                                      //为什么create 可以补传参数直接add
                                          //去看手册 呵呵///
                echo $user->getError();
            } else {
                echo $user->reg();
            }

        }
    }
    ———————————————————————————————————————————————————————————————————————————————


    对密码加密?!!
    salt密码加盐
    ____________________
    思路 :
      生成一个随机的盐值
      生成之后把盐和密码拼到一起
      然后呢md5();
    ___________________

    model里 封装一个函数 专门的函数



    --------------/1/--生成一个随机的盐值-----------

    public function randStr($length = 8) {
        $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456!@#$%^&*(';
        $str = str_shuffle($str);   //打乱
        return substr($str, 0,$length);  /截取
    }

    --------------/2/-------------

    因为要调用add方法 来注册
    那在添加到数据库之前--是不是应该把加密之后的 密码和盐放到内部的data里边?
    怎么加进去?

    内存里顺序
    把盐先放到salt 自身的盐
    再把 pwd 和 salt 拼接 md5

    --------------/3/-------------

    把随机字符串先放到salt 自身的盐

    public function salt() {
        if(!isset($this->salt)) {
            $this->salt = $this->randStr();
        }
        return $this->salt;
    }

    --------------/4/-------------
    再把 pwd 和 salt 拼接 md5

    public function encPass() {
        $this->salt();
        //password  表单传递过来 create 得到的
        $this->password = md5($this->salt.$this->password);
    }
    --------------/5/-------------
    写入数据库
    public function reg() {
        $this->encPass();

        return $this->add();
    }



    --------------/5/-------------
    --------------/5/-------------
    --------------/5/-------------
    --------------/5/-------------
    --------------/5/-------------




    ______________________________________________________________________________
    namespace Home\Model;

    class UserModel extends \Think\Model {
        protected $_validate = array(
            // array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
            array('username','/^\w{5,16}$/','用户名由5-16字母数字下划线组成',1,'regex',3),
            array('username','','用户名已存在',1,'unique',3),
            array('email','email','email不合法',1,'regex',3),
            array('password','6,16','密码长度应在6-16位',1,'length',3),
            array('rpwd','password','两次密码不一致',1,'confirm',3),
        );

        // 授权,即发放cookie
        public function auth() {
            cookie('user_id' , $this->user_id);
            cookie('username' , $this->username);
            cookie('ccode' , encCookie($this->user_id , $this->username));
        }

        // 收回权限,即清除cookie
        public function revoke() {
            cookie('user_id' , null);
            cookie('username' , null);
        }

        public function checkPass($password) {
            // 当前的data
            /*array(
                'username'=>test3
                'password'=>'35ce76cdde2598e8476483edd5795a0b',
                'salt'=>'2*qBd$K5'
             )*/
            $realpass = $this->password;

            $this->password = $password; // 把密码修改为POST来的明文密码
            /*array(
                'username'=>test3
                'password'=>'111111',
                'salt'=>'2*qBd$K5'
             )*/

            $this->encPass();
            /*array(
                'username'=>test3
                'password'=>'13685jklhgfgf598e847dd777dd57',
                'salt'=>'2*qBd$K5'
             )*/


            return $realpass === $this->password;
        }

        public function reg() {
            $this->encPass();

            return $this->add();
        }

        public function encPass() {
            $this->salt();
            $this->password = md5($this->salt.$this->password);
        }

        public function salt() {
            if(!isset($this->salt)) {
                $this->salt = $this->randStr();
            }

            return $this->salt;
        }

        public function randStr($length = 8) {
            $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456!@#$%^&*(';
            $str = str_shuffle($str);
            return substr($str, 0,$length);
        }
    }




















    --------------------------------------------------------------------------------
    展开全文
  • 系统学习tp5框架,请点击下面的连接ORM是在M层(模型)中用的一种技术(工具,既然是工具它就有名字,它的名字就是Db类)orm即可以在C层直接使用,也可以在M层直接使用orm:对象关系模型映射,它把数据库中的每一张表...
  • 高通 8x12 添加 TP和按键

    千次阅读 2016-04-20 17:18:10
    tp的驱动文件中添加以下代码实现按键功能[plain] view plain copystatic ssize_t ft5x06_virtual_keys_register(struct kobject *kobj, struct kobj_attribute *attr, char *buf) { re
  • LOL的反tp补丁(win8

    2012-11-04 01:58:04
    大家都知道win8不能玩腾讯的游戏,都是因为万恶的tp。这个补丁安装以后可以在win8上玩LOL.
  • TP LINK WR841V8 DD固件

    2015-11-24 10:10:36
    841 V8 刷DD系统的编辑器固件,文档的片段填在这里,描述详细会获得我们的推荐,更容易被他人下载!
  • 2013年8月份过DNF TP驱动保护源码 VC2003编译
  • TP-LINK_841N_V8路由器硬改升级OpenWRT记
  • 自己通过编程器读出来的tplink wdr6500 v5固件,连续插拔3次,读取3次保存出来,md5值都是一致的。
  • 关于tp5 笔记 适合新手入门
  • TP 720N V3 8M flash 无TTL 刷回原厂教程-附件资源
  • [高通]8X16的TP笔记

    千次阅读 2016-07-11 10:11:52
    TP触摸屏,应该是驱动开发中比较简单并且适合新手入手的模块。不过虽然简单,但涉及到的内容还是比较多的,其中linux相关主要的机制: 1. input 机制 2. 中断、定时器 3. I2C 1.TP的原理:TP一般为电容或为电阻...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,407
精华内容 1,762
关键字:

tp8