美文网首页
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