精华内容
下载资源
问答
  • tp5的主要目录:├─application 应用目录(存放自定义模块,如前台,后台的模块) ├─extend 扩展类库目录(可定义) ├─public 网站对外访问目录(存放公用的文件例如css,js等文件) ├─runtime 运行时目录...
      tp5的主要目录:
    
    ├─application     应用目录(存放自定义模块,如前台,后台的模块)
    ├─extend          扩展类库目录(可定义)
    ├─public          网站对外访问目录(存放公用的文件例如css,js等文件)
    ├─runtime         运行时目录(可定义)
    ├─vendor          第三方类库目录(Composer)
    ├─thinkphp        框架核心目录
    ├─build.php       自动生成定义文件(可以用bulid.php文件生成application目录下的模块)
    ├─composer.json   Composer定义文件
    ├─LICENSE.txt     授权说明文件
    ├─README.md       README 文件
    ├─think           命令行工具入口

     默认应用目录的详情:

    ├─application           应用目录(可设置)
    │  ├─admin              模块目录(可创建其他模块目录)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录
    |   |   |—validate 存放验证机制(对后台接收到的数据进行校验,tp5新增的机制)
    │  │  ├─model           模型目录
    │  │  └─view            视图目录
    
    │ ││ ├─command.php 命令行工具配置文件
    │ ├─common.php 应用公共文件
    │ ├─config.php 应用配置文件
    │ ├─tags.php 应用行为扩展定义文件
    │ ├─database.php 数据库配置文件
    │ └─route.php 路由配置文件

     其中validate中存放的对数据的验证规则: 
    

    <?php
    namespace app\admin\validate;
    use think\Validate;
    class Category extends Validate {
       //对接收到的数据进行校验
        protected  $rule = [
            ['name', 'require|max:20', '用户名不能为空|用户名不能超过20个字符'],
            ['parent_id','number'],
            ['id', 'number'],
            ['status', 'number|in:-1,0,1','状态码必须是数字|状态范围不合法'],
            ['listorder', 'number'],
        ];
    
        /**场景设置**/
        protected  $scene = [
            'add' => ['name', 'parent_id', 'id'],// 添加
            'listorder' => ['id', 'listorder'], //排序
            'status' => ['id', 'status'],
        ];
    }

    在控制器调用如下:

           $validate=Validate('Category');
            if(!$validate->check($data)){
                $this->error($validate->getError());
            }
    核心的目录详情:
    ├─thinkphp 框架系统目录
    │  ├─lang               语言包目录
    │  ├─library            框架核心类库目录
    │  │  ├─think           think 类库包目录
    │  │  └─traits          系统 traits 目录
    │  ├─tpl                系统模板目录
    │  │
    │  ├─.htaccess          用于 apache 的重写
    │  ├─.travis.yml        CI 定义文件
    │  ├─base.php           框架基础文件
    │  ├─composer.json      composer 定义文件
    │  ├─console.php        控制台入口文件
    │  ├─convention.php     惯例配置文件
    │  ├─helper.php         助手函数文件(可选)
    │  ├─LICENSE.txt        授权说明文件
    │  ├─phpunit.xml        单元测试配置文件
    │  ├─README.md          README 文件
    │  └─start.php          框架引导文件

    tp5主要有以下的一些新特性:

       1.tp5的访问路径做了小的改动,tp3的访问路径一般是:http://localhost/thinkphp/index.php?m=Admin&c=Login&a=index 。tp5改动后的访问路径是:http://localhost/thinkphp5/public/index.php,tp5也可以通过端口号访问。

     2.自定以模块:

        在application模块下创建自定义模块有两种方式:第一种通过手动创建自定义模块,直接复制其他模块,改名即可。第二种方法是通过build.php文件创建自定义模块,如admin模块:
        在application模块下创建build.php文件,然后输入以下内容,然后在根目录下执行php think build 就可以创建新的自定义模块了。

    return[
      'admin' => [
    		'__dir__' => ['controller','view',validate],
    		'controller' => ['Index'],
    		'view' => ['index/index'],
                    'validate'=>[Index],
    	],
    ];

    3.tp5的分页机制:

     在model层直接调用paginate方法即可,然后在页面中调用render方法,代码如下:

    后台代码:

    public function test()
    	{
    	$data = [
                'id' => 1,
            ];
    
            $order = [
                'id' => 'desc',
            ];
    
            return $this->where($data)
                             ->order($order)
                              ->paginate();
    	}

    前台页面代码:

    <div>{$category->render()}</div>

    tp5的分页机制默认显示15条数据你,也可自定义显示条数,在application目录下的config.php文件中可自定义。

    tp5还有许多新的特性,可参考tp5使用文档:https://www.kancloud.cn/manual/thinkphp5/118003







    展开全文
  • TP5TP6版本之间的差异: ThinkPHP6.0运行环境要求PHP7.1+,不支持5.1的无缝升级 ThinkPHP6.0基于精简核心和统一用法两大原则在5.1的基础上对底层架构做了进一步的优化改进,并更加规范化 1 目录结构的异同 tp5核心...

    TP5和TP6版本之间的差异:

    ThinkPHP6.0运行环境要求PHP7.1+,不支持5.1的无缝升级

    ThinkPHP6.0基于精简核心和统一用法两大原则在5.1的基础上对底层架构做了进一步的优化改进,并更加规范化

    1 目录结构的异同 tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink

    2 安装方式不同,tp6仅能通过composer方式安装

    3 类自动加载方式不同 tp6使用composer方式实现类自动加载, tp5 composer+自己实现了一套

    4 tp6使用了php7严格模式

    5 TP6支持更多的PSR规范 https://learnku.com/docs/psr

    6 TP6组件的独立 ORM 模板引擎

    7 TP6中间件改进 TP6开始使用了管道模式来实现中间件,比起之前版本的实现更加简洁,有序

    8 TP6引入Filesystem

    TP6新特性:

    采用PHP7强类型(严格模式)
    支持更多的PSR规范
    多应用支持
    ORM组件独立
    改进的中间件机制
    更强大和易用的查询
    全新的事件系统
    支持容器invoke回调
    模板引擎组件独立
    内部功能中间件化
    SESSION机制改进
    缓存及日志支持多通道
    引入Filesystem组件
    对Swoole以及协程支持改进
    对IDE更加友好
    统一和精简大量用法

    展开全文
  • ThinkPHP5在保持快速开发和大道至简的核心理念不变的同时,PHP版本要求提升到5.4,对已有的CBD模式做了更深的强化,优化核心,减少依赖,基于全新的架构思想和命名空间实现,是ThinkPHP突破原有框架思路的颠覆之作,...
  • TP塑料特性

    2012-04-07 15:47:18
    TP塑料特性TPX (聚4-甲基戊烯) 一、TPX(4-methylpentene-1)为4-甲基戊烯的聚合物; 密度:0.82-0.83; 吸水率:0.01%; 熔点:240℃; 维卡软化点160℃~170℃; 收缩率:1.5%~3.0%; 透光率:90%~92%(目前已...
  • 最新基于TP5通用后台Auth权限管理系统,对于学习TP5的同学,能尽快的熟悉和上手了解TP5特性
  • ThinkPHP5在保持快速开发和大道至简的核心理念不变的同时,PHP版本要求提升到5.4,对现有的CBD模式使得更深的强化,优化核心,减少依赖,基于全新的架构思想和命名空间实现,是ThinkPHP突破实质框架思路的颠覆之作,...
  • tp6新特性综述

    千次阅读 2019-10-23 10:54:27
    1、新增类的返回类型说明: 2、实例类的新写法:

    1、新增类的返回类型说明:
    在这里插入图片描述
    2、实例类的新写法:
    该写法可以在安装guzzle后实现于其他框架或php   安装:composer require guzzlehttp/guzzle
    在这里插入图片描述

    展开全文
  • 点击进入视频教程tp5控制器一个样例明白控制器的定义及使用;use think\Controller;/** * Class User * @package app\index\controller * @author weiyongqiang * 其实tp5中可以不集成Contr

    点击进入视频教程


    tp5控制器

    一个样例明白控制器的定义及使用

    <?php
    
    namespace app\index\controller;
    
    use think\Controller;
    
    /**
     * Class User
     * @package app\index\controller
     * @author weiyongqiang <hayixia606@163.com>
     * 其实tp5中可以不集成Controller但是我们使用了Controller中的方法所以要集成
     */
    class User extends Controller
    {
        /**
         * @var array
         * 我来定义前置操作,所谓前置操作就是在我配置的操作执行之前执行我
         */
        protected $beforeActionList = [
            'checksession', //在任何操作执行前执行checksession方法
            'islogin' =>  ['except'=>'login'],   //在除login之外的其他方法执行前先执行islogin方法
            'removesession'  =>  ['only'=>'logout'],   //在logout执行前先执行removesession
        ];
    
        /**
         * @param $name
         * 如果在本控制器中找不到该操作那就运行我
         */
        public function _empty($name)
        {
            echo $name.'这个操作不存在';
        }
    
        /**
         * 我是控制器初始化方法,执行此控制器的任何操作之前必须先执行我
         */
        public function _initialize()
        {
            Logs::write(time().'访问'.$_SERVER['PHP_SELF']);
        }
    
        /**
         * @return bool
         * 我是前置操作
         */
        public function checksession()
        {
            return empty(session('USERINFO'));
        }
    
        /**
         * @return bool
         * 我是前置操作
         */
        public function islogin()
        {
            $userInfo = session('USERINFO');
           return $userInfo.expires > time();
        }
    
    
        /**
         * @return bool
         * 我是前置操作
         */
        public function removesession()
        {
            return session('USERINFO', null);
        }
    
        /**
         * 用户登录操作
         */
        public function login()
        {
            if(用户已经登录了){
                $this->redirect('Home/index', 302);
              //或者使用助手函数
              //redirect('Home/index');
           }
    
            if(用户信息没有问题){
                $this->success('登录成功', 'Home/index');
           }else{
                $this->success('出错了请稍后再试');
    
           }
        }
    
        /**
         * 用户退出操作
         */
        public function logout()
        {
            redirect('Home/index');
        }
    }
    

    以上样例中涉及到的知识有:
    1. 控制器的定义
    2. 控制器的初始化方法:_initialize()
    3. 前置操作: 配置protected $beforActionList
    4. 跳转和重定向:success和error重定向为redirect
    5. 空操作:_empty()当你访问的方法不存在时就执行

    关于以上的特性大家可以在使用中得到更为深刻的认识。

    展开全文
  • 4、tp6使用严格模式而tp5没有使用 5tp6支持更多的PSR规范 6、组件独立,(tp6将orm独立出来)(模板引擎) 7、中间件改进 tp6开始使用了管道模式来实现中间件 比之间的版本实现更加简洁,有序 8、引入...
  • 特性 RESTful API AES加密处理 接入 七牛云,ueditor(图片自动上传七牛云) 接入 阿里云短信,极光推送 接口文档编写 接口文档地址: 安卓体验包与安卓源码下载地址: 加密方面,登陆的密码都是使用md5加盐加密,sign跟...
  • ThinkPHP V5.0是一个为API开发而设计的高性能框架——是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API...重新理解TP5
  • TP5 路由三种设置方式

    千次阅读 2019-08-19 09:09:44
    但仍然可以通过操作方法的参数绑定、空控制器和空操作等特性实现URL地址的简化。 可以设置url_param_type配置参数来改变pathinfo模式下面的参数获取方式,默认是按名称成对解析,支持按照顺序解析变量,只需要更改...
  • tp5多语言切换

    万次阅读 2018-04-20 12:45:48
    语言的使用是通过设置cookie来实现的,由于cookie的特性,所以设置后需要刷新才能成功 模板发送ajax请求成功后刷新页面 <script src="http://libs.baidu.com/jquery/1.10.2/jquery.js"></script> $('.n').click...
  • 本扩展包是tp5的rbac包,使用了部分tp5特性实现了关系型数据库中特殊数据结构的处理。 安装方法先安装composer如果不知道怎么安装使用composer请自行百度。 打开命令行工具切换到你的tp5项目根目录composer ...
  • 关于tp5如何加载外部类的方法

    千次阅读 2018-06-30 11:05:46
    在项目开发时我们总会需要引入第三方类库,在技术群里面经常有初学者问这样的问题,原因是对tp5的文档还不够了解,这里我总结一下,在tp5中,我们是如何引入第三方类库。 上一篇文章我写了关于composer的安装使用,...
  • tp5Auth权限实现

    万次阅读 2018-01-23 11:08:01
    * 功能特性: * 1,是对规则进行认证,不是对节点进行认证。用户可以把节点当作规则名称实现对节点进行认证。 * $auth=new Auth(); $auth->check('规则名称','用户id') * 2,可以同时对多条规则进行认证,并设置...
  • ThinkPHP5.1对逐步架构做了进一步的改进,减少了依赖,其主要特性包括: 采用容器统一管理对象 支持门面 注解路由支持 路由跨域请求支持 配置和路由目录独立 取消系统常量 助手函数增强 类库别名机制 增加条件查询 ...
  • 4. 安装tp5的队列扩展 composer require topthink/think -queue GitHub地址 5. 安装taskPHP扩展使用php的cli模式(不超时也可定时执行程序) composer require taskphp/taskphp dev -master ...
  • ThinkPHP5的安装使用/tp5快速入门

    万次阅读 2017-07-24 22:09:36
    因为ThinkPHP5的小版本的更新比较快,所以5.0.0和5.0.1的差别还是有点儿大,比如5.0.0的部分功能在后续版本中会废弃或者改变使用方法等。所以在看本手记时需要保证你所使用的ThinkPHP的版本为5.0.1,本记录的流程非...
  • TP5之事务回滚

    千次阅读 2019-09-27 17:34:48
    熟悉mysql的应该都知道MySQL innodb的事务及其他的四大特性,持久性,隔离性,原子性,一致...事务的原子性在很多场景都需要用到,如进行一组多对多关系的数据表时,而在tp5中也仅需几行代码就可以解决。 Db::start...
  • 基本需求就是:我输入账号密码和验证 通过登陆的验证之后 进入后台,此时我登陆的这个账号信息就会保存到session 之后我在后台进行退出登陆 相关信息的session清除 接下来 ... ... 框架版本tp5.0.10 ...
  • tp2852_reference_v1r1.pdf

    2020-10-10 17:34:26
    TP2852四通道AHD高清视频解码芯片,支持多种高清模拟信号的编解码,具有低成本、高效率,高稳定性的各种特性,市场应用广泛
  • tp5.0 $request= \think\Request::instance(); $module = $request-&gt;module();//模块名 $controller = $request-&gt;controller();//控制器名 $action = $request-&gt;action()//方法名 ps::...
  • tp5-rbac-api-源码

    2021-03-12 19:09:34
    ThinkPHP5在保持快速开发和大道至简的核心理念不变的同时,PHP版本要求提升到5.4,对现有的CBD模式使得更深的强化,优化核心,减少依赖,基于全新的架构思想和命名空间实现,是ThinkPHP突破实质框架思路的颠覆之作,...
  • ThinkPHP5简易商城

    2018-09-09 16:42:41
    特性: 比较简单的实现商城功能,例如支付宝扫码支付,游客可以先购买后,再注册保存订单等。 使用方法: 下载源码后,导入sql数据库。支付宝、qq登录、短信发送等涉及接口的需要修改为自己申请的相应秘钥。
  • 针对凝胶型阳离子交换树脂对TP5的吸附行为,研究了间歇反应中TP5水溶液的吸附热力学与动力学特性。热力学研究表明,TP5在所用树脂上的吸附平衡数据符合Langmuir吸附等温方程。在283.15~303.15K之间。TP5的质量浓度...
  • tp6新特性 tp5tp6异同之处 1 目录结构的异同 tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink 2 安装方式不同,tp6仅能通过composer方式安装 3 类自动加载方式不同 tp6使用composer方式实现类...
  • TP5 获取JSSDK微信功能开发步骤

    千次阅读 2019-04-01 19:36:48
    所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,526
精华内容 9,010
关键字:

tp5的特性