国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

我最喜歡 Laravel 5.6 的三個功能

Little_XM / 2152人閱讀

摘要:比較常見的一個例子是,一個布爾類型的字段在數據庫中的存儲的和,但是在應用中需要轉換為布爾類型。這個屬性將被轉換為原生的布爾類型提醒查看所有的屬性類型轉換請見文檔。討論請前往知識社區我最喜歡的三個功能

昨天,就在 Laracon 線上會議開始之前, Taylor Otwell 發布了 Laravel 5.6 。在維也納,我們參與了一個小型會議,一起愉悅地觀看了所有演講。在其中一個演講過程中, Taylor 帶我們瀏覽了 Laravel 的新功能,我將列出其中我最喜歡的三個。

1. Collision

Collision?是 Nuno Maduro 制作的包,現在已經是 Laravel 開發依賴的一部分。它是一個針對命令行應用的錯誤處理框架,構建于 Whoops 包之上。 Whoops 負責瀏覽器的錯誤處理邏輯,能夠提供一份漂亮的發生事件概覽。 Collision 完成同樣的任務,只不過針對的是命令行應用。

簡單的樣例

假設我正在創建一個新的 Laravel 命令,用于刪除一些舊的備份數據。現在這個命令的具體用途并不重要,它被命名為 BackupFlush,調用它的命令信號為 backupflush:doit

doIt();
    }
}

在命令的處理方法中,調用了一個不存在的方法 doIt 。我們將使用這個語句觸發一個錯誤。讓我們調用這個命令,看看會發生什么。

php artisan backupflush:doit

在使用 Collision 之前,輸出的內容如下所示。

事實上,這里的錯誤信息已經相當具有描述性了。難道這還不夠嗎?對于我們這個小樣例而言是足夠的,但這是因為我們故意放置了這個錯誤,并且知道它的存在。否則,尋找被調用方法的位置將會非常困難。因此,這就是 Collision 能夠幫助我們的地方,它將輸出更漂亮的彩色輸出。

響應值包含了拋出異常的更多信息,將幫助我們更容易地進行調試。

2. 動態訪問控制

在 Laravel 中,你可以限制某些路由的請求頻率。下面是一段文檔中的例子。

Route::middleware("auth:api", "throttle:60,1")->group(function () {
    Route::get("/user", function () {
        //
    });
});

在上面的例子中,用戶對該分組下的路由每分鐘只能請求 60 次。這個非常棒的功能是通過 throttle 中間件實現的。但是,某些情況下這種控制還不夠,特別是你想通過其他的條件來控制頻率的時候。而這,正是動態訪問控制大展身手的時候。下面是來自文檔中的另一段示例代碼:

Route::middleware("auth:api", "throttle:rate_limit,1")->group(function () {
    Route::get("/user", function () {
        //
    });
});

同樣的,也使用 throttle 中間件,同時將頻率設置為 1。但是,實際的請求計數并不依賴于這里的設置,而是傳遞一個屬性名稱。在這個例子中,rate_limit 是你用戶表的的一個字段,它被用于計算最大請求計數。這樣,就能實現針對不同用戶來設置不同的請求頻率。例如:你需要為不同訂閱計劃的用戶分配不同的頻率。

3. Eloquent 日期轉換器

從 Laravel 5.6 版本開始你可以轉換 Eloquent 屬性。比較常見的一個例子是,一個布爾類型的字段在數據庫中的存儲的 0 和 1,但是在應用中需要轉換為布爾類型(true or false)。通過在模型中設置轉換器就能實現這個功能。

 "boolean",
    ];
}

提醒:?查看所有的屬性類型轉換?請見文檔。

現在 Laravel 5.6 也能夠很好的轉換日期類型了:

protected $casts = [
    "is_admin" => "boolean",
    "released" => "date:Y",
];

首先將需要被轉換的字段定義為屬性名稱。然后定義日期函數(date 或者 datetime),緊接著,在分號后面定義日期格式。在我的例子中,我想轉為換只顯示年份,所以我的轉換器定義是?date:Y

以前,模型修改器?可以實現類似的功能,但在以后會被日期轉換器代替。所以,建議你現在就開始使用的方案來實現這類功能,因為它非常的強大而實用。

結語

事實上,與其他版本相比,5.6 版本的版本變化相對較小。盡管如此,它還是帶來了許多不錯的功能,我希望你和我一樣對這里提到的這三個功能感到興奮。非常感謝 Taylor 和所有的貢獻者對工作的支持。可以通過 推特 告訴我你最喜歡的功能。

討論請前往 Laravel 知識社區: 我最喜歡 Laravel 5.6 的三個功能

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/28436.html

相關文章

  • PHP / Laravel 月刊 #23

    摘要:大刀闊斧的改造在學習了兩遍之后,基于教程開發的校園二手書交易平臺熊能本周閱讀清單紙牌屋弗蘭克知道的太晚了實現微信紅包拆分算法聊聊最近求職發生的故事無銘更多現代化知識,請前往知識社區 showImg(https://segmentfault.com/img/bV8ctF?w=1650&h=1100); 最新資訊 Laravel 5.6 中文文檔翻譯完成,譯者 60 人,耗時 10 天...

    klinson 評論0 收藏0
  • PHP 5.6,7.0,7.1,7.2 和 HHVM 運行效率比較

    摘要:測試運行多次并取平均值。文章數量測試的基準測試基準測試結果基準測試結果基準測試結果基準測試結果基準測試結果基準測試結果不支持再次成為冠軍請注意的運行環境需要或以上。同時,再次不能正常工作并拋出錯誤。 showImg(https://segmentfault.com/img/remote/1460000013690286); 我們每年都會嘗試深入了解不同版本的 PHP 和 HHVM 在各...

    cnTomato 評論0 收藏0
  • Laravel 5.6 正式發布(文檔翻譯工作將在春節后啟動)

    摘要:默認的應用哈希驅動通過新增的配置文件來控制。你可以在我們的文章中學習到更多的關于密碼哈希算法的內容方法在類中引入了兩個新的生成唯一的方法引入了兩個新的方法來生成。 showImg(https://segmentfault.com/img/remote/1460000013229904?w=1400&h=708); Laravel 5.6 Laravel 5.6正式成為laravel框架...

    Kross 評論0 收藏0
  • Laravel 5.6 中文文檔翻譯完成,譯者 60 人,耗時 10 天

    摘要:圖片來自的文檔地址文檔頁面總結文檔翻譯完成,總共耗時天,參與用戶人。我們翻譯過,這是效率最高的一次。譯者所有的參與的用戶都已添加上譯者身份,感謝這些勤勞的譯者。 showImg(https://segmentfault.com/img/remote/1460000013674606); 圖片來自 laravel-news.com Laravel 5.6 的文檔地址: Laravel 5...

    MAX_zuo 評論0 收藏0
  • 分享一些簡單 Laravel 編碼實踐

    摘要:關于,它使用起來簡單且舒適適用于編寫產品代碼,并能極大的推動開發過程。這里有一些在開發中值得記住的簡單建議最大限度的使用你的文件不要破壞框架核心,不要編輯文件夾中的文件,你可以選擇繼承相關函數來實現。 showImg(https://segmentfault.com/img/remote/1460000018416776?w=808&h=449); 將任何 PHP 框架稱為最好的框架都...

    cyixlq 評論0 收藏0

發表評論

0條評論

Little_XM

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<