溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Laravel 6.2 中添加可調(diào)用容器對(duì)象

發(fā)布時(shí)間:2021-05-18 17:26:39 來源:億速云 閱讀:152 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)怎么在Laravel 6.2 中添加可調(diào)用容器對(duì)象,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

首先,Container::call 現(xiàn)在支持可調(diào)用對(duì)象。下面是pull請(qǐng)求的測(cè)試,它演示了它的工作原理:

class ContainerCallCallableStub
{
 public function __invoke(ContainerCallConcreteStub $stub, $default = 'jeffrey')
 {
  return func_get_args();
 }
}

$container = new Container;
$callable = new ContainerCallCallableStub;
$result = $container->call($callable);
$this->assertInstanceOf(ContainerCallConcreteStub::class, $result[0]);
$this->assertSame('jeffrey', $result[1]);

接下來,框架身份驗(yàn)證中間件添加了一個(gè) unauthenticated 的方法。每個(gè) Laravel 項(xiàng)目都有一個(gè)擴(kuò)展框架中間件的 Authenticate 中間件類,使您能夠覆蓋unauthenticated 行為:

接下來,

class Authenticate extends Middleware
{
 /**
  * 獲取用戶未通過身份驗(yàn)證時(shí)應(yīng)重定向到的路徑。
  *
  * @param \Illuminate\Http\Request $request
  * @return string
  */
 protected function redirectTo($request)
 {
  if (! $request->expectsJson()) {
   return route('login');
  }
 }

 protected function unauthenticated($request, array $guards)
 {
  // 自定義未經(jīng)驗(yàn)證的邏輯
 }
}

在測(cè)試套件中添加了一個(gè)新的便捷的 partialMock() 方法:

// 之前
$this->instance(Abstract::class, Mockery::mock(Abstract::class, function ($mock) {
 $mock->shouldReceive('call')->once();
})->makePartial());

// 之后
$this->partialMock(Abstract::class, function ($mock) {
 $mock->shouldReceive('call')->once();
});

您可以在下面查看新功能和更新的完整列表,以及github上6.1.0 and 6.2.0 之間的全部區(qū)別。當(dāng)然你也可以在 GitHub v6 changelog上查看Laravel 6.0的完整發(fā)行說明:

v6.2.0

新增

  • 在 Container::call() 中添加了對(duì)可調(diào)用對(duì)象的支持` (#30156)

  • 為 postgreSQL 添加 multipolygonz 類型 (#30173)

  • 在 auth 中間件中添加 "unauthenticated" 方法 (#30177)

  • 添加 partialMock 速記 (#30202)

  • 允許 Storage::put 接受 PSR 流接口 (#30179)

  • 實(shí)現(xiàn)新的密碼規(guī)則和密碼確認(rèn) (#30214)

更新

  • 刪除了傳遞給updatePackageArray方法的不必要參數(shù) (#30155)

  • DatabaseUserProvider添加了可選的連接名稱 (#30154)

  • 刪除了 php artisan serve URL周圍的括號(hào) (#30168)

  • 將限制應(yīng)用從集合移到了數(shù)據(jù)庫(kù) (#30148)

  • 允許在嵌套查詢中使用作用域 (#30127)

  • 添加數(shù)組到sqlite的json轉(zhuǎn)換 (#30133)

  • 使用policies()方法代替屬性策略 (#30189)

  • 拆分hasValidSignature方法 (#30208)

既定

validateDimensions() 處理 image/svg  (#30204)

Laravel 是什么

Laravel 是一套簡(jiǎn)潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡(jiǎn)潔、富于表達(dá)力。

看完上述內(nèi)容,你們對(duì)怎么在Laravel 6.2 中添加可調(diào)用容器對(duì)象有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI