学习Laravel中创建数据表命令引发的对闭包的学习
来源:互联网 发布:感触最深的一句话知乎 编辑:程序博客网 时间:2024/06/08 10:25
Laravel中创建数据表命令中第一个参数为数据表的名称,第二个参数为一个闭包,此闭包会接受一个用于定义新数据表的 Blueprint
对象:
Schema::create('users', function (Blueprint $table) { $table->increments('id');});
什么是闭包呢?
百度、google、知乎后,自己理解闭包就是一个代码+数据的块(匿名函数),闭包执行后是一堆数据,但是这堆数据自带了执行的方法。
上文的 function(Blueprint $table) {$table->increments('id');}
是一个闭包,PHP中叫匿名函数(Anonymous functions),也叫闭包函数(closures),Blueprint是一个类,类中有很多方法如increments,可以用来把定义不同的数据类型,使之成为能够注入的语句。
首先Blueprint 声明 $table 是 Blueprint 这个类的,然后利用 Blueprint 类中的方法将想要注入的数据按照类型转变成Mysql可以识别的语句,然后用 create 方法就可以将表插入数据库了。
所以说闭包看上去是代码,其实是数据,或者说是数据和代码的结合,但其实代码就是一种数据
参考的链接
闭包(计算机科学)是什么?
Javascript闭包——懂不懂由你,反正我是懂了
设计闭包(Closure)的初衷是为了解决什么问题?
0 0
- 学习Laravel中创建数据表命令引发的对闭包的学习
- springmvc学习,包冲突引发的ClassNotFound
- MySql学习--数据表的基本操作--创建数据表
- C#学习记录-------创建数据表的规则
- MySql学习笔记_数据表的创建。
- 对js闭包的学习
- 个人对学习闭包的理解
- Laravel 框架的学习
- laravel的学习历程
- 学习laravel的教程
- 学习过程中交流引发的思考
- DDX_CHECK引发的学习
- 由A*的学习引发对bfs, dijkstra的思考
- MySQL数据库学习02-数据表的基本操作:创建
- 我的Laravel学习之路之Laravel Forms 使用,illuminate/html包
- 关于 Juniper Networks 引发的route命令的学习
- laravel获取数据表中所有的字段名
- 我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
- 【java】java集合list与set、map集合的区别、用法详解
- Leetcode 22. Generate Parentheses
- 计算机视觉基础(三)——对极几何中的基本矩阵F和本质矩阵E
- Force.com Apexの「Describe」でできること
- Java集合类型详解
- 学习Laravel中创建数据表命令引发的对闭包的学习
- Servlet获取表单数据
- Camel:软负载管理中间件 通过界面及接口管理Nginx集群
- Charles Petzold《Code》----2017.1.5 读7章
- 安卓快速排序与冒泡排序
- 计算机网络一些概念的定义分析
- Altium Designer快捷键失效恢复方法
- 老婆上班时拿出300块钱放在桌子上
- MyEclipse下安装FreeMark插件