所有的 Laravel 路由都在 routes 目录中定义,这些文件都由框架自动加载。routes/web.php 文件用于定义 web 界面的路由。...这里面的路由会被分配给 web 中间件组,它提供了会话状态和 CSRF 保护等功能。 定义在 routes/api.php 中的路由都是无状态的,并且被分配了 api 中间件组。...大多数的应用构建,都是以在 routes/web.php 文件定义路由开始的。可以通过在浏览器中输入定义的路由 URL 来访问 routes/web.php 中定义的路由。...在这个路由组中,将自动应用 /api URI 前缀,所以你无需手动将其应用于文件中的每个路由。你可以通过修改 RouteServiceProvider 类来修改前缀和其他路由组选项。...在app\Providers\RouteServiceProvider.php 中修改API路由的前缀Route::prefix('api') ?
我一直觉得编程都不是一件枯燥的事情,能够把一个复杂的逻辑用简洁清晰的代码呈现出来,是一件很棒的事情。但是奈何功力尚浅,有时候空有一个优雅的开头,却在之后越来越复杂的业务逻辑中迷失了初心。...新手第一次用Laravel,必须先掌握的一个知识点就是路由 —— Route, 因为之前在做iOS开发时,iOS的设计模式里也提出过路由的概念,我也大致的了解过,所以对于路由我并不陌生,熟悉了LaravelRoute...之后,诚实的说Laravel又一次提升了我对路由系统的认知,不由得感叹这个Laravel中路由系统的强大和优美,尤其当你把他和中间件结合起来看的时候。...不过由于学习Laravel时间过短,我所能感受到的也只是皮毛而已。...,上面的代码是Laravel中最基本的路由设置,get后面的'homepage'说明这个路由的跳转域名就是index/homepage,而返回的操作则是return view('welcome'),即为跳转到
this this指向只和调用函数的对象有关; 多层嵌套的对象,内部方法的this指向离被调用函数最近的对象(window也是对象,其内部对象调用方法的this指向内部对象, 而非window); function...原型链中的方法的this仍然指向调用它的对象; var o = { f : function(){ return this.a + this.b; } }; var p = Object.create...类的构造函数中,this 是一个常规对象,与构造函数的this一样; 类中所有非静态的方法都会被添加到 this 的原型中; (静态方法不是 this 的属性,它们只是类自身的属性。)...this 当this传入内联处理函数时,它的this指向监听器所在的DOM元素; 当this没有传入内联处理函数时,其this指向等同于 函数直接调用的情况,即在非严格模式指向全局对象window, 在严格模式指向...this setTimeout 和 setInterval中的普通函数this指向全局对象window; (如果传入的函数已绑定this或者是箭头函数,则不适用这条,需要继续往下看) function
js中的this指向 首先,js中的this指向是根据运行时确定的,而非定义时。...js中的this指向大致分为如下几种: 作为对象的方法调用 作为普通函数调用 构造调用 call、apply调用 作为对象的方法调用 var obj = { a: 1, getA: function...function(){ this.name = 'sven'; }; var obj = new MyClass(); alert ( obj.name ); // sven 一般情况下,构造调用时this指向...new后的对象,但是有种比较特殊,就是当构造函数return一个对象时(必须是对象,其余类型比如string请忽略)指向该对象。...指向: var obj1 = { name: 'sven', getName: function(){ return this.name; } }; var obj2 = { name
JS中this的指向 this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象。...console.log(this); }, t3: { // 测试对象中的对象 tt1: function() { console.log...(this); } }, t5: function(){ // 测试函数调用时箭头函数的this的指向,其指向了上一层对象的调用者 return {...,我们调用同一个方法,但是得到的this是不同的,要注意实际上this的最终指向的是那个调用它的对象 var s1 = { t1: function(){ console.log...由此,this指向了window 改变this指向 使用 apply、call、bind可以改变this的指向,可以参考 https://github.com/WindrunnerMax/EveryDay
本文继续讨论 this 指向 问题,今天讨论: 函数中的this 0 1 箭头函数 箭头函数忽略任何形式的this指向改变....当在严格模式下,test打印还是为window, test2 则打印undefined 箭头函数中的this ,不是谁调用就指向谁 示例2: obj.test=()=>{ console.log...); } t2(); } t1(); } obj.test(); 结果为:window 总结:箭头函数 this 作用域, 指向外层非箭头函数作用域的...总结: call、apply、bind 三个方法都可以改变函数中this 的指向 call、apply :立即执行 bind 返回一个新函数 var obj={ name:'sunshine',...{name:'Double yong'} 改变this obj.sayHi.call(obj2); obj.sayHi.apply(obj2); 上面的代码,将立即调用函数,且打印obj2.name中的
this指向问题 this应该是第一个让人对JavaScript困惑的问题了,但是实际上它的原理非常简单:函数的this在运行时绑定。 什么叫运行时绑定?...就是函数的this和你写在哪里无关,而是和谁调用它有关。谁调用这个函数,this就指向谁。 你现在大概会在想:原来这么简单,我精通了!...先问自己:谁调用的它?你应该一下看不出来,这明明就是直接调的啊!可能有的基础比较扎实的人会说是window,那真是非常的恭喜你了,但你要注意的是以上代码在严格模式下是undefined。...正解:brother call / bind / apply 此为3种干预this指向的操作,限于篇幅不展开讲。...箭头函数 箭头函数可以让你省很多事,因为它的this一般来说都是符合你的直觉的:它的this就是定义时候的this。
函数调用中的 this:当函数被作为一个方法调用时,this 将指向调用该方法的对象。...在独立函数调用中,this的默认绑定也指向全局对象。...实际应用中,常见的this指向问题 在嵌套函数中丢失this:当在一个函数内部定义另一个函数,并在内部函数中使用this时,this的指向会发生变化。...事件处理函数中的this:在事件处理函数中,this通常指向触发事件的元素。...对象方法中的this:在对象方法中,this通常指向调用该方法的对象。但是,如果将该方法赋值给一个变量,并通过变量来调用方法,this将指向全局对象。
全局上下文 非严格模式和严格模式中this都是指向顶层对象(浏览器中是window)。...指向为第一个参数的。...根据参数thisArg的描述,可以知道,call就是改变函数中的this指向为thisArg,并且执行这个函数,这也就使JS灵活很多。严格模式下,thisArg是原始值是值类型,也就是原始值。...非严格模式下,null和undefined,指向全局对象(浏览器中是window),其余值指向被new Object()包装的对象。 对象上的函数调用:绑定到那个对象。...这其实和 ES6 之前代码中的 self = this 机制一样。 DOM事件函数:一般指向绑定事件的DOM元素,但有些情况绑定到全局对象(比如IE6~IE8的attachEvent)。
一、引言this可以说是前端开发中比较常见的一个关键字,由于其指向是在运行时才确定,所以大家在开发中判断其方向时也会很模糊,今天就把this的指向问题拆开了,揉碎了,好好讲一讲。...在 getAction() then 后的箭头函数中的 this 指向什么?思考一下能判断出这两个this的指向吗?先卖个管子,等咱们再讲完this的相关原理后再来解答这两个问题。...这是因为 JavaScript 语言的作用域链是由词法作用域决定的,而词法作用域是由代码结构来确定的:this中的默认、隐式、显式和new的绑定规则箭头函数中的this指向问题二、什么是this?...正是因为this在运行中才得以确定其指向的上下文对象,所以为了规范和标准化this的指向方式,规定了一系列的绑定规则,来决定什么情况下this会绑定到哪个对象。...箭头函数中的 this 指向箭头函数中的this是在定义时确定的,它是继承自外层词法作用域。
基本路由// 接收一个 URI 和一个闭包Route::get('hello', function () { return 'Hello, Laravel';});// 支持的路由方法Route:...# 添加路由缓存php artisan route:cache# 移除路由缓存php artisan route:clear路由模型绑定隐式绑定// {user} 与 $user 绑定, 如果数据库中找不到对应的模型实例...应该在 RouteServiceProvider 类的 boot 方法中定义模型绑定:public function boot(){ parent::boot(); Route::model...('user', App\User::class);}定义一个包含 {user} 参数的路由:$router->get('profile/{user}', function(App\User $user..., 需要使用 Route::bind 方法, 传递到 bind 方法的闭包会获取到 URI 请求参数中的值, 并且返回你想要在该路由中注入的类实例:public function boot(){
前言 我的解析文章并非深层次多领域的解析攻略。但是参考着开发文档看此类文章会让你在日常开发中更上一层楼。 废话不多说,我们开始本章的讲解。...入口 Laravel启动后,会先加载服务提供者、中间件等组件,在查找路由之前因为我们使用的是门面,所以先要查到Route的实体类。...注册 第一步当然还是通过服务提供者,因为这是laravel启动的关键,在 RouteServiceProvider 内加载路由文件。...因路由文件中没有命名空间。...,依旧是Illuminate\Routing\Router 内有你所使用的所有路由相关方法,例如get、post、put、patch等等,他们都调用了统一的方法 addRoute public function
前言 最近在做一个项目的时候 关于class方法中 this 指向以及 外置prototype 的 this 指向 引发了我的思考! ?...image.png 经过打印我们发现 B 中的 this 指向的都是 B 这个类 那么问题来了,我们 都知道 react的 class 中需要绑定 this, 为什么需要?...// 如果我们将 constructor 中的那个 bind 去掉之后 // this.getme = this.getme.bind(this) // 执行到这里 this的指向就变化了...ES6class 注意点 译文 为什么需要在 React 类组件中为事件处理程序绑定 this 未解之谜 原生 class 中 如果方法改为箭头函数这种形式就会报错 但是在 react 的 class...this 指向定义时所在对象 定义的环境在 window 此时 this 指向 window 如果是 react 创建的组件 此时 this指向和类之外的 this 是一致的 (但不是
定义一个基础的类 class Person { constructor(name = '杜恒') { this.name = name } speak() {...console.log(this); } } 将上面的类实例出一个对象p,并调用p的speak方法 const p = new Person() p.speak() // Person {name...: "杜恒"} 上面的打印结果显示由类构造出的实例对象,因此this会指向由类构造出的实例对象 尝试将p实例对象身上的speak方法赋值给另一个变量进行调用 const test = p.speak...const test = function () { "use strict" console.log(this); } test() // undefined 由此可以得出,在class中,...定义的方法,class会默认在函数体内开启严格模式,严格控制this的指向
1、什么是this this一般指向的是调用它的对象,比如调用它的上下文是window对象,那就是指向window对象,如果调用它的上下文是某对象就是指向某对象…… //例如 console.log...(this) //window //这里调用者是全局对象window,所以this指向window ?...2、用来干嘛 this在一般情况下,是指向函数的上下文,可以处理一些作用域下的事件调用 如果想要引用某对象的方法,就不用写太多重复代码,直接用this调用某对象的方法 3、怎么在代码中使用 console.log...4.1引入call、bind、apply 4.1.1区别 共同点 都是函数的内置方法 都可以改变函数执行的上下文 注:改变上下文可以为程序节省内存空间,减少不必要的内存操作 通俗易懂解释改变上下文:...小张在公司有个快递要拿,刚好有事,自己拿不了,他就安排小王拿,这里小张本来是拿快递的执行上下文,因为有事,就改变拿快递的执行上下文,变成了小王,节约了小张的时间,他就不用另外安排时间去拿快递了 不同点
本文继续讨论 this 指向 问题,今天讨论: 类中的this 0 1 类上下文 this 在 类 中的表现与在函数中类似,因为类本质上也是函数,但也有一些区别和注意事项。...添加super方法即可,如下 constructor() { super() } 且注意: 在派生的类中, 在你可以使用'this'之前, 必须先调用super() 如下代码,也会报错 constructor...因为子类没有自己的 this 对象,而是继承父类的 this 对象,然后对其进行加工,而 super 就代表了父类的构造函数。...super 虽然代表了父类 Father 的构造函数,但是返回的是子类 Son 的实例,即 super 内部的 this 指的是 Son....调用了Fahter 的constructor 2. 生成this ,绑定Father中的属性(相当于new Father) 3. 返回Son的实例(即this)
前言 大家都知道Laravel 获取路由参数的方式有很多,并且有个小坑,现汇总如下,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...依赖注入 Request 实例,放在参数中什么位置都可以自动加载 @param mixed $arg2 要获取的路由参数 @param mixed $arg1 要获取的路由参数 */ public function...param2 的值 /** 方法二:按照路由参数名称来获取 注意:此处名称是 Route 中定义的参数名,非上面方法中的参数名 */ $request->route('param1'); //结果为...('param2'); //结果为 2 ,Laravel 5.4+ 可用 /** 注意:Laravel 在处理动态属性的优先级是,先从请求的数据(POST/GET)中查找,没有的话再到路由参数中找。...获取路由参数的 5 种方法。
在setInterval和setTimeout中传入函数时,函数中的this会指向window对象。...// 原因:在setInterval和setTimeout中传入函数时,函数中的this会指向window对象 window.setTimeout(this.declare, 2000); //...推荐用下面两种写法 将bind换成call,apply也会导致立即执行,延迟效果会失效 window.setTimeout(this.declare.bind(this), 2000); 使用es6中的箭头函数...,因为在箭头函数中this是固定的。...// 箭头函数可以让setTimeout里面的this,绑定定义时所在的作用域,而不是指向运行时所在的作用域。
this指向是js开发中必须掌握的知识,今天我们就用一道题目来看看你的基础。 ? 各位认为会输出什么呢?请大家先思考不要直接去运行看答案。 实际上会输出:5和2。...(1):第一行fn(),这个毫无疑问,this指向的是window,所以length自然输出5,大家不要看到fn()在obj对象里面调用,就把this认为指向了obj,这是非常错误的; this指向谁,...是在于函数执行时的环境对象,fn()在执行时,他的环境对象依然是window,这里的fn()大家可以理解为window.fn(),是这样进行执行的。...所以,这里大家可以理解为:arguments[0]()=arguments.fn(); this对象就是指向了arguments,length也自然是2了。...大家明白了吗,这道题对于this指向还是比较经典的题目,如果这道题可以独立做出来,证明this指向这块,你基本上是过关的。
Laravel中的服务容器 我们已经了解了服务容器是个什么东西,也知道了依赖、依赖注入、控制反转以及最终的服务容器的概念和它们要解决的问题。...今天,我们就来一起学习一下 Laravel 中的服务容器是怎么使用的,大家一起来看看它是不是和我们上回学习到的服务容器是一样的。...使用 Laravel 中的服务容器 在 Laravel 中使用服务容器非常简单,我们首先还是定义那几个测试的类,不过这次我们把它们分开到不同的文件中存储。...下一篇文章中我们再看源码,不过 Laravel 中的源码可比我们自己定义的那个要复杂多了。然而,万变不离其宗,思想毕竟都是一致的。...总结 今天我们简单地入门了解了一下在 Laravel 框架中如何使用服务容器以及服务提供者这两个非常核心的组件。
领取专属 10元无门槛券
手把手带您无忧上云