成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Tinker來(lái)調(diào)試Laravel應(yīng)用程序的數(shù)據(jù)以及使用Tinker一些總結(jié)

simon_chen / 3493人閱讀

摘要:不過(guò)除了使用加密,還可以使用原文鏈接使用來(lái)調(diào)試應(yīng)用程序的數(shù)據(jù)以及使用一些總結(jié)參考資料參考資料使用來(lái)調(diào)試你的參考資料框架填充中文數(shù)據(jù)測(cè)試數(shù)據(jù)

使用Tinker來(lái)調(diào)試Laravel應(yīng)用程序的數(shù)據(jù)以及使用Tinker一些總結(jié)

[toc]

今天我們將討論如何使用Laravel的一些鮮為人知的功能來(lái)快速讀取Laravel應(yīng)用程序中的數(shù)據(jù)。我們可以使用Laravel的手工內(nèi)置php artisan tinker工具來(lái)處理數(shù)據(jù)庫(kù)中的應(yīng)用程序和事物。

Laravel artisan的tinker程序是一個(gè) REPL (read-eval-print-loop)。repl翻譯為read-eval-print-loop(交互式命令行界面),它是一個(gè)交互式語(yǔ)言shell。它可以讓你輸入一段代碼去執(zhí)行,并把執(zhí)行結(jié)果直接打印到命令行界面里。

快速簡(jiǎn)便的方式查看數(shù)據(jù)庫(kù)中的數(shù)據(jù)

輸入下面命令行,可以直接看到結(jié)果

// see the count of all users
AppUser::count();

// find a specific user and see their attributes
AppUser::where("username", "samuel")->first();

// find the relationships of a user
$user = AppUser::with("posts")->first();
$user->posts;

使用php artisan tinker,我們可以很快做到這點(diǎn)。Tinker是Laravel自帶的repl,基于PsySH。它使我們能夠與我們的應(yīng)用程序進(jìn)行交互,dd()die()停下來(lái)。我們中的很多人都知道當(dāng)我們的代碼中存在print_r()dd()時(shí)發(fā)生的痛苦。

在使用Tinker之前,我們先創(chuàng)建一個(gè)演示項(xiàng)目。我們稱之為ScotchTest。如果您的計(jì)算機(jī)上安裝了laravel安裝程序,請(qǐng)運(yùn)行此命令。

laravel new ScotchTest

對(duì)于那些在他們的計(jì)算機(jī)上沒(méi)有Laravel安裝程序的人,可以使用composer來(lái)創(chuàng)建一個(gè)新的Laravel項(xiàng)目。

composer create-project laravel/laravel ScotchTest --prefer-dist
或者指定laravel版本
composer create-project laravel/laravel=5.3 ScotchTest --prefer-dist
1. 數(shù)據(jù)庫(kù)設(shè)置:運(yùn)行遷移

安裝我們的演示Laravel項(xiàng)目后,我們需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)并設(shè)置遷移。對(duì)于本文我們將使用默認(rèn)的Laravel遷移。因此我們將.env文件配置為指向您為此測(cè)試創(chuàng)建的數(shù)據(jù)庫(kù)。默認(rèn)遷移包括創(chuàng)建一個(gè)users表和一個(gè)password_resets表。

php artisan migrate

遷移我們的數(shù)據(jù)庫(kù)后,我們應(yīng)該看到類似的信息

2. 填充我們的數(shù)據(jù)庫(kù)

默認(rèn)情況下,Laravel提供了一個(gè)模型工廠model factory我們可以使用它來(lái)為我們的數(shù)據(jù)庫(kù)創(chuàng)建種子。

現(xiàn)在讓我們開始使用Tinker。

php artisan tinker

這條命令會(huì)打開一個(gè) REPL 窗口供我們使用。剛才我們已經(jīng)執(zhí)行過(guò) migration, 現(xiàn)在我們可以直接在 REPL 中使用模型工廠來(lái)填充數(shù)據(jù)。

factory(AppUser::class, 10)->create();

十個(gè)新用戶的集合應(yīng)顯示在您的終端上。然后我們可以檢查數(shù)據(jù)庫(kù)以查看用戶是否真正創(chuàng)建。

AppUser::all();

為了讓我們的數(shù)據(jù)庫(kù)中的用戶總數(shù),我們可以直接調(diào)用countUser模型。

AppUser::count();

在執(zhí)行完 AppUser::all()AppUser::count()
之后,我的輸出是這個(gè)樣子的,你們的輸出應(yīng)該和我差不多,僅僅是生成的內(nèi)容不同。

3. 創(chuàng)建一個(gè)新用戶

通過(guò) REPL,我們還可以創(chuàng)建一個(gè)新用戶。你應(yīng)該已經(jīng)注意到,我們?cè)?REPL 使用的命令跟我們?cè)?laravel 中所寫的代碼是一樣的。所以創(chuàng)建一個(gè)新用戶的代碼:

$user = new AppUser;
$user->name = "imax";
$user->email = "[email protected]";
$user->password = bcrypt("12345");
$user->save();

現(xiàn)在輸入 $user,可以看到

4. 刪除一個(gè)用戶

要?jiǎng)h除 id 為 1 的用戶:

$user = AppUser::find(1);
$user->delete();
5. 查閱某個(gè) 類/方法 的注釋文檔

通過(guò) tinker,你可以在 REPL 中查看某個(gè) 類/方法 的注釋文檔。但是文檔內(nèi)容取決于這個(gè) 類/方法 是否有一個(gè)文檔注釋塊(DocBlocks)。

doc  # replace  with function name or class FQN

比如,查閱 dd 的注釋文檔

6. 查看源碼

我們還可以在repl使用過(guò)程中檢查一個(gè)函數(shù)或類的源代碼

show 

例如,調(diào)用show在dd此給我們。

7. 總結(jié)

Laravel Tinker是一款工具,可以幫助我們輕松地與我們的應(yīng)用程序進(jìn)行交互,而無(wú)需啟動(dòng)本地服務(wù)器。想想你想從你的項(xiàng)目中刪除的幾行文字中測(cè)試一個(gè)簡(jiǎn)單的功能,只需要使用php artisan tinker就可以了。

8. 遇到的一些問(wèn)題和解決辦法 8.1 關(guān)于使用tinker使用中文報(bào)錯(cuò)的問(wèn)題

如果你用的是Laravel的5.3的版本, 想要插入中文的測(cè)試數(shù)據(jù),會(huì)發(fā)生如下的報(bào)錯(cuò)信息

解決辦法

1.修改
~/www/laravel/vendor/fzaninotto/faker/src/Faker/Factory.php
const DEFAULT_LOCALE = "en_US";
改為const DEFAULT_LOCALE = "zh_CN";

2.復(fù)制
~/www/laravel/vendor/fzaninotto/faker/src/Faker/Provider/en_US/Text.php

到zh_CN目錄下

3.并把對(duì)應(yīng)的命名空間的名稱修改為namespace FakerProviderzh_CN;
4.我們重新執(zhí)行php artisan tinker,用工廠模型創(chuàng)建10條數(shù)據(jù)看一下。

php artisan tinker
factory(AppUser::class, 10)->create();

再次驗(yàn)證一下

$user = new AppUser();
$user->name = "大熊貓";

8.2 關(guān)于windowscmd終端Tinker中文亂碼的問(wèn)題
# 將終端改成UTF8字符
先輸入 CHCP 65001
然后打開【屬性】,將字體改為【Lucida Console】
8.3 Tinker對(duì)于修改器仍然有效
    // 在User模型設(shè)置修改器
    public function setNameAttribute($value)
    {
        $this->attributes["name"] = strtolower($value);
    }

8.4 Tinker為后臺(tái)添加管理員

一般后臺(tái)管理平臺(tái),都是禁用掉注冊(cè)功能的。
那怎么添加一個(gè)管理員賬號(hào)呢。

參考步驟三其實(shí)就可以了。

不過(guò)除了使用bcrypt()加密,
還可以使用Hash::mark()

$user->password = Hash::make("serct");

原文鏈接 使用Tinker來(lái)調(diào)試Laravel應(yīng)用程序的數(shù)據(jù)以及使用Tinker一些總結(jié)
參考資料[1] Tinker with the Data in Your Laravel Apps with Php Artisan Tinker
參考資料[2] 使用 Php Artisan Tinker 來(lái)調(diào)試你的 Laravel
參考資料[3] Laravel框架填充中文數(shù)據(jù)測(cè)試數(shù)據(jù)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28345.html

相關(guān)文章

  • Laravel學(xué)習(xí)筆記七-創(chuàng)建博客

    摘要:本節(jié)將使用用戶創(chuàng)建博文來(lái)學(xué)習(xí)數(shù)據(jù)模型關(guān)聯(lián)的有關(guān)知識(shí)。我們發(fā)現(xiàn)為我們生成的時(shí)間是英文的,如果要使用中文時(shí)間,則需要對(duì)進(jìn)行本地化設(shè)置。動(dòng)態(tài)屬性讓你能夠訪問(wèn)關(guān)聯(lián)函數(shù),就像他們是在模型中定義的屬性會(huì)假設(shè)對(duì)應(yīng)關(guān)聯(lián)的外鍵名稱是基于模型名稱的。 本節(jié)將使用用戶創(chuàng)建博文來(lái)學(xué)習(xí)數(shù)據(jù)模型關(guān)聯(lián)的有關(guān)知識(shí)。 一、Laravel常用知識(shí)總結(jié) 1.提示信息漢化 如果用Laravel原生的表單提示錯(cuò)誤信息,則是英文...

    icyfire 評(píng)論0 收藏0
  • Composer & Laravel 包本地開發(fā)

    摘要:本文參考超哥寫的基于的模塊化開發(fā)的詳細(xì)實(shí)踐版。包本地開發(fā)本地開發(fā)一個(gè)包做法基本與包開發(fā)一樣,簡(jiǎn)單過(guò)一下吧。首先創(chuàng)建一個(gè)新的項(xiàng)目在項(xiàng)目中創(chuàng)建如下目錄為我們要發(fā)布的包,對(duì)應(yīng)為,對(duì)應(yīng)為項(xiàng)目名。 showImg(https://segmentfault.com/img/remote/1460000010891977); 本文參考超哥寫的 基于 Composer 的 PHP 模塊化開發(fā) 的詳細(xì)實(shí)...

    levius 評(píng)論0 收藏0
  • 深入解析阿里Android熱修復(fù)技術(shù)原理

    摘要:不過(guò)它確實(shí)各方面都做了大量的優(yōu)化,本文中的很多知識(shí)點(diǎn)也來(lái)源于阿里的熱修復(fù)技術(shù)原理一書,本書值得一讀,里面就是基于框架來(lái)編排的。 前言;本文框架什么是熱修復(fù)?熱修復(fù)框架分類技術(shù)原理及特點(diǎn)Tinker框架解析各框架對(duì)比圖總結(jié)通過(guò)閱讀本文,你會(huì)對(duì)熱修復(fù)技術(shù)有更深的認(rèn)知,本文會(huì)列出各類框架的優(yōu)缺點(diǎn)以及技術(shù)原理,文章末尾簡(jiǎn)單描述一下Tinker的框架結(jié)構(gòu)。 一、什么是熱修復(fù)?1.正常開發(fā)流程showI...

    番茄西紅柿 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<