一、相关配置
1、配置文件:config/config.php
<?php
return [
// 是否开启路由
'url_route_on'           => true,
];
?>

2、获取配置项
<?php
namespace app\index\controller;
use think\Controller;
use think\Config;
class Index
{
public function index()
{
//return config('site_name');配置方法获取
return dump(Config::get('database'));//get获取,推荐使用这种
}
}

//设置配置
Config::set('abc',123);
Config::set($arr)
二、路由设置
config/route.php
<?php
// think\Route::rule('demo/:class','sam/test/demo','GET',['ext'=>'html'],['class'=>'\w{1,10}']); //单个设置
//数组方式设置(推荐)
return [
'index'=>'sam/test/index',
'demo/:class'=>['sam/test/demo',['method'=>'GET','ext'=>'html'],'class'=>'\w{1,10}'],
];
?>

-----默认值(接上面)-------------
http://tp5.cn/demo/yan/javascript.html
public function demo($name,$class='php')
{
return '这是'.$name.'老师的正在学习'.$class;
}

think\Route::rule('demo/:name/[:class]/','sam/test/demo','GET',['ext'=>'html'],['class'=>'\w{1,10}','name'=>'\w{3,8}']);

return [
'index'=>'sam/test/index',
'demo/:name/[:class]/'=>['sam/test/demo',['method'=>'GET','ext'=>'html'],['class'=>'\w{1,10}','name'=>'\w{3,8}']],
];

-----------

路由参数规则route.php
(1)分开写
think\Route::pattern([
'name'=>'[a-zA-Z]+',
'age'=>'\d{2}'
]);
think\Route::get('demo/:name/:age','sam/test/demo');

(2)合并写
return [
'__pattern__'=>[
'name'=>'[a-zA-Z]+',
'age'=>'\d{2}'
],
'demo/:name/:age'=>'sam/test/demo'
];

 

依赖注入,向类中的方法传递对象的方法
class Temp
{
private $name;
public function __construct($name='Sam')
{
$this->name=$name;
}
public function setName($name)
{
$this->name=$name;
}
public function getName()
{
return '方法是:'.__METHOD__.'属性是:'.$this->name;
}
}

----------
public function getMethod(\app\common\Temp $testtemp)
{
// 方法里的 \app\common\Temp $testtemp等价于下面这行
// $testtemp = new \app\common\Temp;
$testtemp->setName('SamC');
return $testtemp->getName();
}

//绑定一个类到容器
public function bindClass()
{
//把一个类放到容器中(注册到容器)
\think\Container::set('temp','\app\common\Temp');
//使用助手函数bind()
//bind('temp','\app\common\Temp');
//将容器里的类实例化并取出来
$temp = \think\Container::get('temp',['name'=>'Samphp']);
//或 
//$temp = app('temp',['name'=>'Samphp']);
return $temp->getName();
}

//绑定一个闭包到容器(理解为匿名函数)
public function bingClosure()
{
\think\Container::set('demo',function($domain){
return '微语录的网址是:'.$domain;
});
//将容器里的闭包取出来用
return \think\Container::get('demo',['domain'=>'www.top789.cn']);
}

转载于:https://www.cnblogs.com/samphp/p/8576074.html

ThinkPHP5 相关知识重点笔记相关推荐

  1. Spring:Spring相关知识介绍笔记

    1.Srping概念 Spring属于开源框架,Spring是于2003年流行起来的一个轻量级的Java开发基础框架,它是为了解决企业应用开发的复杂性而提供的解决方案.该框架的主要优势之一就是其实现分 ...

  2. 【JavaScript】相关知识学习笔记

    JavaScript笔记 定义: ​ JavaScript是一种基于对象和事件驱动的,并具有安全性能的脚本语言. 特点: ​ 01.向HTML页面中添加交互行为 ​ 02.脚本语言,语法跟java类似 ...

  3. cuda,显卡,pytorch三者配置相关知识--学习笔记

    系统的Nvidia Driver决定着系统最高可以支持什么版本的cuda和cudatoolkit,Nvidia Driver是向下兼容的(数据可能会更新,请查看:Release Notes :: CU ...

  4. PE结构、SEH相关知识学习笔记

    原文:http://www.pediy.com/kssd/index.html -- 病毒技术 -- 病毒知识 -- Anti Virus专题 PE结构的学习 原文中用fasm自己构造了一个pe,这里 ...

  5. (二)操作系统设计技术知识重点笔记

    一.内核导论 文件子系统:负责管理文件包括:分配文件空间.管理空闲空间,控制对文件的存取,为用户检索数据. 进程控制子系统: 进程同步;进程间通信;存储管理;进程调度. 硬件控制:负责处理中断及与机器 ...

  6. 网络技术基础知识点整理,计算机基础知识重点笔记

    0.本章思维导图: 1.网络层提供的两种服务 *网络层提供服务的特点:网络层向上只提供简单的.无连接的.尽最大努力交付的数据报服务,不保证可靠通信 虚电路服务:保证可靠通信,必须建立连接 思路:可靠通 ...

  7. 计算机专业知识笔记,事业单位计算机专业知识重点笔记

    (2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口. 67数组 数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式.这些按序排列的同类数据元素的 ...

  8. prooerties mysql_mysql数据库操作相关知识--读书笔记分享

    =================== 数据库软件: 数据库: 保存特定类型数据的容器 表: 特定类型数据的结构化清单 模式: 关于数据库和表的布局及特性的信息 列: 表中的一个字段, 行: 表中的一 ...

  9. SQLServer子查询相关知识笔记

    今天给大家介绍以下SQLServer子查询相关知识,希望对大家能有所帮助! 1.子查询概念介绍 子查询可以嵌套在SELECT.INSERT.UPDATE.DELETE语句或其他子查询语句中的查询,子查 ...

最新文章

  1. matlab中antoine方程应用,五参数antoine方程
  2. c语言转汇编语言 vs,C语言转换成汇编语言
  3. C实现二叉树的先序遍历,中序遍历,后序遍历
  4. install npm 到某个文件下执行_如何将npm安装到指定目录?
  5. correlated subquery and non-correlated subquery
  6. 响应其他应用程序的系统菜单消息 insertmenu_「DDD」跟我一起学WCF(1)——MSMQ消息队列...
  7. 重新配置oralce dbconsole
  8. dp合集 广场铺砖问题硬木地板
  9. andorid月总结
  10. 【鱼眼镜头2】[鱼眼畸变模型]:评估了五个模型:radial,division,FOV,多项式(如双三次]和rational模型。
  11. 带约束的遗传算法代码优化
  12. 计算机网络 MOOC 哈尔滨工程大学 pdf课件
  13. 如何系统学习Android开发?一线互联网内部整理的Android学习路线图是时候拿出来了
  14. android手机如何截屏,安卓手机怎么截图? (全文)
  15. “消费盲返”的商业模式,你知道多少?
  16. 京东3元无门槛优惠券变京豆
  17. 前端代码是怎样智能生成的
  18. ChatGPT账号注册,中国手机号为什么不行?
  19. 如何连接学校计算机机房的网络,学校计算机机房网络管理和维护.doc
  20. ModuleNotFoundError: No module named gensim.corpora

热门文章

  1. 阿里技术协会(ATA)11月系列精选文集
  2. PHP读取微信超时,'curl出错,错误码:28'
  3. C# winform开发:Graphics、pictureBox同时画多个矩形
  4. selenium如何解决IE自动填充表单问题
  5. NSString ,NSMutableString用法以及一些常用方法
  6. 无工具arp病毒检测
  7. 在JBOSS中开发SESSIONBEAN和MSGBEAN
  8. 如何更加进一步的找到相关的信息呢?
  9. the next journal submission for mechanism should be at this journal
  10. what should you do at the new arrival of the place