美文网首页
ThinkPHP5.0

ThinkPHP5.0

作者: Pretty_Boy | 来源:发表于2018-01-29 14:42 被阅读73次

    1.安装
    3种方式:

    1. github下载
    2. 官网下载
    3. Composer安装

    2.配置
    //前提
    在public目录下的index.php中配置 所需要应用配置的路径

    define('CONF_PATH', _DIR_ . '/../config')
    以下此目录代表根目录下config目录
    

    此目录下config.php用来覆盖thinkphp下的convertion.php 在不改变默认配置的情况下应用自己配置

    //场景配置
    此目录下home/office 为场景配置。用来针对不同环境下对同一项目的编写

    //扩展配置
    在此目录下添加extra目录,其子文件名称为添加到配置中的key,文件中return的数组为配置中key对应的value

    此目录下database.php也是扩展配置

    //动态配置
    在app目录下,类中添加方法

    public function _construct()
    {
        config('before', 'beforeAction');
    }
    

    此方法在任何方法执行前都会执行。所以任何方法都会应用此配置
    如果在方法中设置 config('after', 'afterAction');
    则该配置只会在此方法中生效。

    //模块配置

    //文件夹名称应该于app中的文件夹名对应

    //即所设置的配置只应用到app中同名的类中

    //环境变量设置
    $_ENV 为系统中环境变量
    在php根目录下添加 .env文件。文件中设置新的环境变量
    可利用.env文件实现场景配置。

    在config文件中
    use think\Env  //Env类配置环境
    'app_status' => Env::get('app_status', 'dev')
    第二个参数为若未设置,则使用的默认设置。
    

    //助手函数
    目录为 thinkphp/helper.php


    3.入口文件绑定

    1. 直接绑定模块
    public/index.php内
    define(''BIND_MODULE', 'admin/index');
    

    此时在网页中访问localhost/admin/index/xxx可直接简化为localhost/xxx

    注意:一但绑定则所有路径前均带有该路径

    1. 自动绑定
    在上述的config.php文件中设置
    'auto_bind_module'       => true,
    

    自动对应模块。若不存在模块则进入默认,而不报错。


    4.路由
    thinkphp5 中默认开启路由功能
    在config目录下创建 route.php

     config.php
    <?php
      return [
        'url_route_on'      =>  true,
        'url_route_must'  =>  false      //所有路径必须配置过路由
      ];
     route.php
    <?php
      return [
        'new/:id'   =>  'xxx/xxx/bbb/id/aa '
      ];
    

    设置完成后当访问到bbb方法时传递的id=aa参数,在url路径上为new/aa


    5.请求对象
    1. 请求对象的获取

    use think\Request;
    class Index
    {
      public function index()
      {
        $request = Request::instance();   //  单例模式的对象
      }
    }
    
    use think\Request;
    class Index
    {
      public function index(Request $request)
      {
        
      }
    }
    推荐使用
    
    class Index
    {
      public function index()
      {
        $request = request();
      }
    }
    

    2.请求对象参数的获取

    $request->domain();      //获取域名
    $request->pathinfo();     //'?'前域名后的所有部分   baseUrl()
    $request->path;             //不含后缀名
    
    $request->method();      //获取请求类型
    $request->isGet();
    $request->isPost();
    $request->isAjax();
    
    $request->get();             //获取?后的值
    $request->post();
    $request->param();        //获取所有参数
    
    $request->session();
    $request->cookie();
    可以通过传参,来获取指定的值。第二个参数表示默认值。
    
    $request->module();        //获取当前模块
    $request->controller();     //获取当前控制器
    $request->action();          //获取当前方法
    
    所有方法在thinkphp/library/think/Request.php中描述
    

    可以使用
    input助手函数

    改变响应格式
    config.php中

    default_return_type  =>   'json'
    

    或者在需要的类下动态设置

    Config::set('default_return_type','json');
    

    相关文章

      网友评论

          本文标题:ThinkPHP5.0

          本文链接:https://www.haomeiwen.com/subject/cyaaaxtx.html