thinkphp_thinkphp 安全 - CSDN
thinkphp 订阅
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。 [1]  ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。 展开全文
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。 [1]  ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。
信息
定    义
一个开源轻量级PHP框架
诞    生
于2006年初
原    名
FCS
外文名
ThinkPHP
thinkphp发展历史
ThinkPHP发展历程,无数TPer一起见证了ThinkPHP的成长:2006年01月15日, ThinkPHP的雏形版本FCS0.6.0发布;2006年02月12日,(元宵节)发布FCS 0.6. 1 版本,Google讨论组成立;2006年03月15日, FCS 0.7.0版本发布;2006年05月07日, FCS 0.8版本发布;2006年10月25日, FCS 0.9.0版本发布;2006年12月25 日,SF项目和Google网站ThinkPHP项目申请完成;2007年01月01日, FCS正式更名为ThinkPHP;2007年01月08日, ThinkPHP 0.9.5版发布同期官方网站开通;2007年02月21日, TOPThink社区暨新版ThinkPHP官方网站开通,并提供社区支持;2007年02月25日, 发布ThinkPHP 0.9.6版本,完成FCS到ThinkPHP的正式迁移;2007年04月29日, ThinkPHP发布0.9.7版本;2007年07月01日, ThinkPHP发布0.9.8版本;2007年10月15 日,ThinkPHP发布1.0.0RC1版本,完成PHP5的重构;2007年12月15 日,ThinkPHP发布1.0.0正式版本标志着ThinkPHP步入轨道;2008年10月01日, ThinkPHP发布1.0.3正式版本;2008年12月25 日,ThinkPHP发布1.5正式版本并启动商业化支持服务,ThinkPHP进入稳定发展;2009年05月01日, ThinkPHP 发布1.6.0RC1版本;2009年10月01日, ThinkPHP发布2.0版本完成新的重构和飞跃,这是一次划时代的版本;2012年04月05日, ThinkPHP发布3.0版本 庆祝ThinkPHP发布6周年;2012年10月08日, ThinkPHP发布3.1版本;2012年11月11日, ThinkPHP3.1.2扩展包;2013年05月09日,ThinkPHP发布3.1.3完整版;2013年12月18日,ThinkPHP发布3.2正式版;2014年10月31日,ThinkPHP发布3.2.2完整版 [2]  ;2015年12月11日,ThinkPHP 5.0 Beta 发布;2017年02月27日,Thinkphp5.0.5完整版正式发布 [3]  ;2018年05月02日,Thinkphp5.1.0RC版本发布; [4]  2019年04月22日,Thinkphp6.0RC2版本发布 [5]  ;2019年08月16日,Thinkphp6.0RC4版本发布 [6]  ;2019年12月24日,Thinkphp6.0.1版本发布 [7]  ;
收起全文
精华内容
参与话题
  • thinkPHP框架学习(速成,一天)

    万次阅读 2018-10-15 21:34:30
    一。TP框架介绍与配置 第一个是最开始沿用的一种结构,它有一个致命的缺点:比如说如果后端程序员在编写的过程中,前端程序就不能做修改,一旦修改了,那么肯定会有冲突。...后来大家进行了改进----把前端脱离...

    一。TP框架介绍与配置

    第一个是最开始沿用的一种结构,它有一个致命的缺点:比如说如果后端程序员在编写的过程中,前端程序就不能做修改,一旦修改了,那么肯定会有冲突。

    后来大家进行了改进----把前端脱离出来。

    再后来又进行了改进,把逻辑和业务分离,也就出现了MVC结构。

    MVC不是一种新的技术,而是在原有代码的基础上,帮我们把业务逻辑理的更清晰而形成的代码分层编写的一种结构。

    1.下面分别介绍三层:

    ThinkPHP简介

     

     

     

     

     

     

     

     

    展开全文
  • ThinkPHP5.0框架开发

    千人学习 2019-06-28 14:21:43
    ThinkPHP V5.0是一个为API开发而设计的高性能框架——是一个和重构版本,采用... ThinkPHP5是一个全新的里程碑版本,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级。
  • thinkphp5的简单介绍与使用

    万次阅读 多人点赞 2019-10-10 11:06:36
    前言: ...随随便便写个网页界面,再把数据库内容弄一弄,貌似就没什么难度了。当初的小编也是这样傻fufu的认为做个网站也就仅此而已——-just so so( ̄_, ̄ )。然而随着学习的不断深入,猛然发现事实并非如此,再...

    此文章适用于刚学过php但还没接触过框架的小伙伴。
    前言
    不知大家是否有这样的感觉,经过一段时间的php学习发现这门语言并不是很难,而且很容易上手。随随便便写个网页界面,再把数据库内容弄一弄,貌似就没什么难度了。当初的小编也是这样傻fufu的认为做个网站也就仅此而已-------just so so( ̄_, ̄ )。然而随着学习的不断深入,猛然发现事实并非如此,再回想当初的念头,只能默默地感叹自己too young too simple。就小编而言,一开始学的内容是PHP的入门阶段知识,简而言之就是把代码往那一堆,然后调数据库显示实现功能就完事了。随着想写的的功能的增加,小编渐渐发现写个设计要写20多个页面,改个代码就要半天,but小编当时还并没有框架这一概念。直到学习了java EE的Struts2框架,小编才意识到自己是如此的菜----瞬间原地爆炸。为了强化php的学习,小编就花了些时间来研究php众多框架中的一个—>thinkPHP5。
    后序
    小编写这篇文章旨在做一个学习笔记,顺便给想要学习thinkphp5的小伙伴一个简单地浅显地介绍,置于数据库的操作小编就不介绍了,因为真的很多,不过开发手册上有较为详细的解释,写的不好的地方请大神纠正。此外小编个人觉得tp5的快速入门手册也是值得一看的(付费)。
    1.什么是thinkphp5框架?(这是废话)
    在介绍thinkphp5之前,我们先来谈一谈什么是框架。简言之,别人帮你建好了房子但尚未装修,你需要在别人设计好的户型里去装修,省去你搬砖的重复性操作。(对于框架的深入理解大家可以自行百度)。
    ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,自2006年诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用和API开发提供了强有力的支持。(对于初学者而言了解概念小编认为并没什么用,还不如直接在做项目中感受一下)

    2.前期准备工作
    (1)编程工具的选择:开放工具:phpStorm + 服务器工具:phpStudy
    对于工具的选择主要看个人的喜好,但最好选择主流的编辑工具。
    phpstrom 下载及安装教程地址:http://www.php.cn/xiazai/gongju/122
    phpStudy下载及安装教程地址:http://www.php.cn/xiazai/gongju/845
    如果没有用过phpstudy可以链接上面的地址去学习一下phpsyudy的基本操作方法
    *下面这一步暂时用不到
    搭建PhpStorm+PhpStudy开发环境:https://blog.csdn.net/u012861467/article/details/54692236

    (2)下载安装thinkphp5
    下载地址:http://www.thinkphp.cn/donate/download/id/1155.html
    安装方法:将压缩包解压放phpStudy/ww的在项目下就可以
    这里写图片描述
    这里写图片描述
    输入网址:localhost/thinkphp_5/public/ 出现下面界面则安装成功
    这里写图片描述
    (3)学习thinkphp5所要具备的知识
    php入门阶段的知识+php面向对象的程序设计(==》命名空间那部分可以先看看)+mvc设计模式
    3.thinkphp5的基本使用方法
    (1)参考资料: thinkphp5完全开发手册: https://www.kancloud.cn/manual/thinkphp5/118003 开发手册内容有很多没有必要直接看下来,对于初次接触tp5的小伙伴而言,你需要用到哪部分知识就去查找哪部分。

    (2)目录结构:(大致了解即可)
    这里写图片描述
    tp5的目录文件有很多,这里我们着重讲一下划线的部分,其他部分大家可以参考开发手册。首先说一下application,简单地说这个部分就是我们编写代码的地方。如上图所示,index模块为前端,而我们一般会自己创建admin模块及后端管理员。
    这里写图片描述
    这里写图片描述
    index模块和admin模块下是我们熟悉的MVC,datebase.php为配置数据库的文件,application下的config.php是影响全部模块的配置文件,而index和admin的config.php只影响自己模块下的文件。public下的static是放静态资源的文件,index.php为入口文件,即只能通过这一文件访问。
    (3)MVC
    Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
       通常模型对象负责在数据库中存取数据。
    View(视图)是应用程序中处理数据显示的部分。
       通常视图是依据模型数据创建的。
    Controller(控制器)是应用程序中处理用户交互的部分。
       通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
    这里写图片描述

    Model(模型)
    a: 数据库的配置:
    打开database.php,一般要改动的就是划线部分。另外在thinkphp5.0完全开发手册中,我们在基础目录下可以看到开发规范,这是我们需要了解的。
    这里写图片描述
    b: 建立模型:(这部分在开发手册中也有更详细的解读)

    	   <?php
    	namespace app\admin\model;
    	use think\Model;
    	
    	class User extends Model
    	{
    	
    	}
    	?>
    

    大多情况下,我们无需为模型定义任何的属性和方法即可完成基础的操作。模型会自动对应一个数据表。规范是:数据库前缀+当前的模型类名(不含命名空间)因为模型类命名是驼峰法,所以获取实际的数据表的时候会自动转换为小写+下划线命名的数据表名称,所以只要建立一个与数据表同名的model就可以。如果你的数据表不是像tp_user这样以前缀加下划线命名可以在model中指定数据表。

    	    <?php
    	namespace app\admin\model;
    	use think\Model;
    	use think\Db;
    	class Swe extends Model
    	{
    	    // 设置完整的数据表(包含前缀)
    	    protected $table = 'swe';
    	}
    

    下面用一个例子来解释:
    首先在admin模块下建立以下几个文件,在controller下建立User.php ,Model下建立User.php ,在view下建立user文件夹,在user文件夹下建立user.html
    并建立user表 字段有id,clickname,email,birthday
    代码如下:
    controller下的User.php

    <?php
    namespace app\admin\controller;
    use think\Controller;
    use app\admin\model\User as UserModel;
    class User extends Controller
    {
    //    // 创建用户数据页面
    //    public function create()
    //    {
    //        return $this->fetch('user');//加载模板,会自动找到view下的user的user.html并显示
    //    }
    
    // 创建用户数据页面
        public function create()
        {
            return view('user');//加载模板,会自动找到view下的user的user.html
        }
    // 新增用户数据
        public function add()
        {
            $user = new UserModel;
            if ($user->allowField(true)->save(input('post.'))) {//input('post.'))为表单提交的数据
                return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
            } else {
                return $user->getError();
            }
        }
        // model的助手函数新增用户数据
        public function add3()
        {
            // 使用model助手函数实例化User模型
            $user = model('User');
    // 模型对象赋值
            $user->data([
                'nickname'  =>  'SWE',
                'email' =>  'thinkphp@qq.com'
            ]);
            if ($user->save()) {
                return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
            } else {
                return $user->getError();
            }
        }
      
    

    Model下的User.php

    <?php
    namespace app\admin\model;
    use think\Model;
    
    class User extends Model
    {
    
    }
    

    user.html

    <!doctype html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>创建用户</title>
        <style>
        </style>
    </head>
    <body>
    <h2>创建用户</h2>
    <FORM method="post" class="form" action="{:url('admin/user/add')}">
        昵 称:<INPUT type="text" class="text" name="nickname"><br/>
        邮 箱:<INPUT type="text" class="text" name="email"><br/>
        生 日:<INPUT type="text" class="text" name="birthday"><br/>
        <input type="hidden" name="__token__" value="{$Request.token}" />
        <INPUT type="submit" class="btn" value=" 提交 ">
    </FORM>
    </body>
    </html>
    

    url:localhost/tp5/public/index.php/admin/user/create 执行user.php下的create方法
    return $this->fetch(‘user’); //加载模板,会自动找到view下的user的user.html并显示

    user.html提交数据到add方法
    实例化Model类 ,$user->allowField(true)->save(input(‘post.’))提交数据到数据库

    展开全文
  • ThinkPHP6实战开发电商系统

    千人学习 2020-06-13 08:42:40
    课程功能亮点:本次电商系统涵盖了ThinkPHP6常见的大部分功能知识点,多应用、中间件、视图渲染、助手函数、图片上传、验证码、数据库、模型、异常等。 电商系统界面参考早期的小米商城官网,包含:商品SKU、库存、...
  • ThinkPhp5---实现后台登录界面

    千次阅读 2019-05-04 13:18:38
    1.解压"tp5"压缩包到"thinkphp_5.0.24_with_extend\"(E); 2.把解压好的"tp5文件夹"—>改名"demo(可以起其它的名字)"->把demo文件夹拷贝到WWW目录; 3.在浏览器中输入"http://127.0.0.1/demo/public"—>...
    1.解压"tp5"压缩包到"thinkphp_5.0.24_with_extend\"(E);
    
    2.把解压好的"tp5文件夹"—>改名"demo(可以起其它的名字)"->把demo文件夹拷贝到WWW目录;
    
    3.在浏览器中输入"http://127.0.0.1/demo/public"—>查看tp5是否可以使用;
    
    4.创建或导入一个数据库(我是导入的);
    
    5.在application文件夹中—>创建admin文件夹—>在admin文件夹中—>分别创建controller、
    
    model、view文件夹—>在controller文件夹中—>创建Login.php;
    
    D:\phpStudy\WWW\demo\application\admin\controller\Login.php
    内容
    <?php
    namespace app\admin\controller;
    use think\Controller;
    use app\admin\model\Login as Log;
    class Login extends Controller
    {
        public function index()
        {
            // $linkres= \think\Db::name('link')->paginate(3);
            // $this->assign('linkres',$linkres);
            if(request()->isPost()){
                $login=new Log;
                $status=$login->login(input('username'),input('password'));
                if($status==1){
                    return $this->success('登录成功,正在跳转!','Index/index');
                }elseif($status==2){
                    return $this->error('账号或者密码错误!');
                }else{
                    return $this->error('用户不存在!');
                }
            }
            return $this->fetch('login');
        }
    
        public function logout(){
            session(null);
            return $this->success('退出成功!',url('index'));
        }
    
    
    }
    6.在model文件夹中—>创建Login.php文件
    D:\phpStudy\WWW\demo\application\admin\model\Login.php
    内容:
    <?php
    namespace app\admin\model;
    use think\Model;
    class Login extends Model
    {
        public function login($username,$password){
            $admin= \think\Db::name('admin')->where('username','=',$username)->find();
            if($admin){
                if($admin['password']==md5($password)){
                    \think\Session::set('id',$admin['id']);
                    \think\Session::set('username',$admin['username']);
                    return 1;
                }else{
                    return 2;
                }
    
            }else{
                return 3;
            }
        }
    }
    7.在view文件夹中—>创建Login文件夹—>在Login文件夹中—>创建login.html文件
    D:\phpStudy\WWW\demo\application\admin\view\Login\login.html
    内容:
    <!doctype html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>后台登录</title>
        <link href="__PUBLIC__/static/admin/css/admin_login.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div class="admin_login_wrap">
        <h1>后台管理</h1>
        <div class="adming_login_border">
            <div class="admin_input">
                <form action="" method="post">
                    <ul class="admin_items">
                        <li>
                            <label for="user">用户名:</label>
                            <input type="text" name="username" value="admin" id="user" size="35" class="admin_input_style" />
                        </li>
                        <li>
                            <label for="pwd">密码:</label>
                            <input type="password" name="password" value="admin" id="pwd" size="35" class="admin_input_style" />
                        </li>
                        <li>
                            <input type="submit" tabindex="3" value="提交" class="btn btn-primary" />
                        </li>
                    </ul>
                </form>
            </div>
        </div>
    </div>
    </body>
    </html>
    8.D:\phpStudy\WWW\demo\application\config.php
    // 应用调试模式
     'app_debug'              => false,  	
    
    修改成:
    
    'app_debug'              => true,
    
    就能看到Bug了!
    http://www.iheyu.com/demo/public/index.php/admin/login
    ***************************************************************************************
    模板文件不存在:D:\phpStudy\WWW\demo\public/../application/admin\view\login\login.html
    view下的login文件名不对!!!*在controller和model下Login.php要大写Login,
    在view下login.html要小写login!
    *****************************************************************************************
    SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)出现Bug是没有链接数据库的
    
    D:\phpStudy\WWW\demo\application\database.php
    填写内容
    return [
        // 数据库类型
        'type'            => 'mysql',
        // 服务器地址
        'hostname'        => '127.0.0.1',
        // 数据库名
        'database'        => 'youme', //你创建或导入的数据库名
        // 用户名
        'username'        => 'root',
        // 密码
        'password'        => '****',
        // 端口
        'hostport'        => '',
        // 连接dsn
        'dsn'             => '',
        // 数据库连接参数
        'params'          => [],
        // 数据库编码默认采用utf8
        'charset'         => 'utf8',
        // 数据库表前缀
        'prefix'          => 'ym_',  // 你创建或导入数据库表名的前缀
    
    
    *****************************************************************************************
      SQLSTATE[42S02]: Base table or view not found: 1146 Table 'youhe.admin' doesn't exist(Bug)
    D:\phpStudy\WWW\demo\application\admin\model\Login.php
    <?php
    namespace app\admin\model;
    use think\Model;
    class Login extends Model
    {
        public function login($username,$password){
    //        $admin= \think\Db::name('admin')->where('username','=',$username)->find();
            $user= \think\Db::name('user')->where('username','=',$username)->find();
    //        if($admin){
            if($user){
    //            if($admin['password']==md5($password)){
                if($user['password']==$password){
    //                \think\Session::set('id',$admin['id']);
                    \think\Session::set('id',$user['id']);
    //                \think\Session::set('username',$admin['username']);
                    \think\Session::set('username',$user['username']);
                    return 1;
                }else{
                    return 2;
                }
    
            }else{
                return 3;
            }
        }
    }
    
    http://www.iheyu.com/demo/public/index.php/admin/login
    

     

    展开全文
  • thinkphp5.0框架的简单博客项目,帮助学习和理解php网站开发,熟悉MVC设计模式
  • ThinkPHP框架 - 是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。
  • ThinkPHP_3.2.2完整版

    2020-07-29 14:20:11
    ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发 布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体 验和易用性,并且拥有...
  • 1. ThinkPHP大事记 2017年4月27日,ThinkPHP5.1-beta.1发布 2017年12月31日, ThinkPHP5.1.0发布,标志着快速进入迭代期 2019年3月3日, ThinkPHP5.1已更新迭代到第35个版本(5.1.35) 2019年3月22日, ....

    http://www.php.cn/wenda/159638.html

     

    1. ThinkPHP大事记

    • 2017年4月27日,ThinkPHP5.1-beta.1发布

    • 2017年12月31日, ThinkPHP5.1.0发布,标志着快速进入迭代期

    • 2019年3月3日, ThinkPHP5.1已更新迭代到第35个版本(5.1.35)

    • 2019年3月22日, ThinkPHP5.2的 dev 开发版本也发布了

    现在告诉大家一个好消息,一个坏消息, 先听哪个?

    先说坏消息: 江湖上再也不会有ThinkPHP5.2啦!

    好消息: ThinkPHP5.2已正式更名为ThinkPHP6.0啦


    2. 核心功能与主要特征

    • 全面支持采用PHP7强类型特性

    • 全面支持几乎所有PSR开发规范

    • 实现了多应用支持

    • 全面引入事件系统替代行为

    • 全新的应用服务架构

    • 视图和模板引擎分离,项目配置更灵活

    • IDE助手,使编辑器智能提示更准确

    • 对原来版本的一些函数和类方法进行了统一和精简


    3. 环境要求与源码下载

    3.1 环境要求:  PHP 7.1+

    2.2 源码下载

    众所周知, 从ThinkPHP5.1开始, 官方网站已不再提供框架源码下载啦

    所以, ThinkPHP6.0(以下简称TP6)当然也不能从官网下载

    从哪里下载呢?二个途径

    Composer 和 Git 

    参考

    Composer下载与安装教程:http://www.php.cn/code/30828.html

    Git教程:http://www.php.cn/tool/git/

    下面以最常用,也是官方推荐的Composer方式来下载框架源码

     


     

    4. Composer 下载与安装

    4.1 Mac / Linux

    1

    2

    3

    4

    5

    // 1. 下载composer.phar:

    curl -sS https://getcomposer.org/installer | php

     

    // 2. 将 composer 命令移动到bin目录,使之全局可用

    mv composer.phar /usr/local/bin/composer

    注: MacOS 10.14, user/local/bin文件夹不存在,需要手工创建

    1

    2

    3

    4

    5

    // 3. 设置中国全量镜像,提升访问速度

    composer config -g repo.packagist composer https://packagist.phpcomposer.com

     

    // 如果上面错误存在问题,请使用这个镜像地址

    composer config -g repo.packagist composer https://packagist.laravel-china.org

    4.2 Windows

    打开 https://www.phpcomposer.com/: 下载 setup.exe 安装程序即可

    4.3 测试

    终端中输入: composer 命令,看到命令提示信息,表示安装成功

    Jietu20190408-134842.jpg

    4.4 更新版本

    1

    composer selfupdate  // 终端执行该命令将composer更新到最新版


     

    5. TP6 框架源码下载

    (1) 打开Composer官网:https://www.phpcomposer.com/

    Jietu20190408-133547.jpg

     

     

    打开安装包列表, 这时会发生一个跳转, 会转到https://packagist.org/

    输入搜索关键字: topthink, 在下面会列出与ThinkPHP框架相关的组件包

     

    Jietu20190408-133742.jpg

     

    打开之后, 可以看到ThinkPHP6.0的版本标签与安装指令

    Jietu20190408-134356.jpg

    以下是详细的框架源码下载过程:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    // 打开终端,执行指令:

    composer create-project topthink/think tp6 6.0.*-dev

     

    /**

      * 指令中各个参数的解释:

      * `create-project`: 是composer中的项目创建命令

      * `topthink/think`: ThinkPHP的组件包

      * `tp6`: 是当前的项目目录(如果没有创建, 该命令会自动创建的)

      * `6.0.*-dev`: 要下载的版本标签

      */

       

    // 以下是源码的下载中的提示信息

    Installing topthink/think (6.0.x-dev 9ea8d9fd39a1aac440fd355cf8b4361130267bce)

    - Installing topthink/think (6.0.x-dev 9ea8d9f):

    Cloning 9ea8d9fd39

    - Installing topthink/think (6.0.x-dev 9ea8d9f): Downloading (100%)

    Created project in tp

    Loading composer repositories with package information

    Updating dependencies (including require-dev)

     

    Package operations: 9 installs, 0 updates, 0 removals

    - Installing topthink/think-installer (v2.0.0): Downloading (100%)

    - Installing opis/closure (3.1.6): Downloading (100%)

    - Installing psr/simple-cache (1.0.1): Downloading (100%)

    - Installing psr/log (1.1.0): Downloading (100%)

    - Installing psr/container (1.0.0): Downloading (100%)

    - Installing psr/cache (1.0.1): Downloading (100%)

    - Installing topthink/framework (6.0.x-dev e9af162): Downloading (100%)

    - Installing topthink/think-template (v2.0.1): Downloading (100%)

    - Installing topthink/think-view (v1.0.5): Downloading (100%)

    Writing lock file

    Generating autoload files

     

    > @php think service:discover

    Succeed!

    > @php think vendor:publish

    Succeed!

    下载完成后, 打开项目目录,例如: tp6, 可以看到如下的目录结构:

     

    Jietu20190408-140009.jpg

     


     

    6.框架测试

    • 这里使用框架内置的 think 命令测试

    • 该命令会启动一个本地的临时Web服务器,功能与  php -S localhost:8000 是一样的

     

    详细步骤如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    // 1. 打开终端工具, 切换到当前的Web目录下面

     

    // 2. 进入tp6项目目录

    cd tp6

     

    // 3. 创建本地服务器, 启动框架

    php think run

     

    // 提示用户在本机的8000商品开启了一个Web服务

    ThinkPHP Development server is started On <http://127.0.0.1:8000/>

    You can exit with `CTRL-C`

    根据提示打开浏览器, 在地址栏输入:

    127.0.0.1:8000  或者 localhost:8000 ,显示如下界面

    Jietu20190408-140846.jpg

    恭喜, ThinkPHP6 框架已经安装成功~~

     

    想现在就体验TinkPHP6吗? 下载源码狠戳这里: http://www.php.cn/xiazai/code/5685

    相关参考推荐:
    1. ThinkPHP6.0版本正式发布,全面拥抱组件化开发趋势

    2. ThinkPHP6.0极速入门(视频教程)

    3. ThinkPHP6.0完全开发手册(官方版)

    展开全文
  • ThinkPHP5 ---基础篇(安装)

    万次阅读 2018-06-12 10:54:53
    一、ThinkPHP简介i. ThinkPHP是一个免费开源 快速简单 面向对象 轻量级的PHP开发框架ii. 创立于2006年初 遵循Apache2开源协议发布iii. 秉承简洁实用的设计原则 注重易用性iv. 支持composer(包管理工具)方式安装 ...
  • 使用ThinkPHP框架快速开发网站(多图)

    千次阅读 2017-12-09 14:38:33
    使用ThinkPHP框架快速搭建网站    这一周一直忙于做实验室的网站,基本功能算是完成了。比较有收获的是大概了解了ThinkPHP框架。写一些东西留作纪念吧。如果对于同样是Web方面新手的你有一丝丝帮助,那就更...
  • 如何查看thinkphp的版本号

    万次阅读 2018-08-08 10:36:20
    方法一:在thinkphp文件夹下找到base.php文件,第12行就是它的版本号 或在 thinkphp文件夹下找到thinkphp.php找到THINK_VERSION就是它的版本号。 方法二:随便找一个控制器,编写代码 echo THINK_VERSION;在浏览器...
  • thinkphp5输出执行的sql语句

    万次阅读 2017-11-17 16:08:42
    thinkphp5中如果使用框架现有的数据库操作方法,很容易出错,但是不知道具体的出错信息,这时候我们可以打印出来执行的sql语句,查看一下是否有问题://前面需要加上引用的类库 use think\Db; //打印语句 echo Db:...
  • thinkphp操作mysql之打印sql语句

    千次阅读 2017-08-30 11:27:58
    thinkphp操作mysql之打印sql语句echo M()->getLastSql();
  • Thinkphp框架输出sql语句

    千次阅读 2018-09-19 16:05:09
    Thinkphp3.2版 echo D(‘user’)-&gt;getLastSql(); Thinkphp5.0版 //前面加上引用的类库 use think\Db; //输出语句 echo Db::table(‘table_name’)-&gt;getLastSql(); Laravel框架 DB::connection()-&...
  • thinkphp5精讲与项目使用

    千人学习 2018-10-22 21:38:10
    thinkphp5的使用可谓是非常非常方便,而且thinkphp5中添加了很多新的特性来支持api友好型开发。配合thinkphp5强大的路由功能让开发变得非常快捷,简单。而且thinkphp5是国内很多开发公司选择的框架。
  • thinkphp5中foreach遍历循环

    万次阅读 2017-12-06 14:30:16
    循环输出role表中的rolename值,并且当用户表中的角色值与角色表中的id值相等时,选中此角色。
  • 漏洞验证 命令执行 getshell 工具下载 https://download.csdn.net/download/fly_hps/10848910 免责声明 该工具只能授权验证网站漏洞和...禁止用于未授权测试,非法入侵,否则一切后果自负,和作者无关...
  • thinkphp项目禁止直接访问public目录

    千次阅读 2016-12-21 10:00:00
    直接访问http://localhost/public会直接在浏览器中显示出public文件夹的内容?如何避免? apache的httpd.conf中把 Options Indexes FollowSymLinks # 修改为: Options FollowSymLinks
  • thinkphp检查数据表是否存在

    千次阅读 2017-04-26 10:04:17
    老规矩,直接上句子:$exist = Db::query('show tables like "tp_article"'); 注:tp_article 换成你想检测的表
1 2 3 4 5 ... 20
收藏数 64,551
精华内容 25,820
关键字:

thinkphp