亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

輕松學會Laravel-高級篇

難度高級
時長 1小時42分
學習人數
綜合評分9.67
62人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.6 邏輯清晰
  • 創建新數據表

    查看全部
  • 介紹:

    laravel隊列服務為各種不同的后臺隊列提供了統一的API

    允許推遲耗時任務(例如郵件發送)的執行,從而大幅提高web請求速度

    主要步驟:

    1、遷移隊列需要的數據表

    2、編寫任務類

    3、推送任務到隊列

    4、運行隊列監聽

    5、處理失敗任務

    配置文件在config/queue.php

    修改.env文件QUEUE_DRIVER=database? 改為數據庫驅動

    1、生成遷移隊列需要的數據表

    ? php artisan queue:table (創建了遷移文件job,而且里面已經有了表的結構)

    ? php artisan migrate? (生成了jobs)

    2、編寫任務類(樣例是要做個郵件發送任務)

    ? php artisan make:job SendEmail (在app文件夾下生成了Jobs文件夾,里面有SendEmail.php文件)

    這樣一個任務類就寫完了

    http://img1.sycdn.imooc.com//5dbf0c6200019e7511730615.jpg


    http://img1.sycdn.imooc.com//5dbf0c250001ee9d11580636.jpg

    3、推送任務到隊列中

    一調用這個queue()這個方法,數據庫jobs表就多了一條記錄,這個記錄就是我們的任務,也就是所謂的隊列

    我們已經把任務推送到隊列中了,但是還沒有執行

    http://img1.sycdn.imooc.com//5dbf06e800012a3511610385.jpg

    4、運行隊列監聽器

    php artisan queue:listen

    (報錯了,其實沒問題,只是測試多了163郵箱給屏蔽了,于是改了SendEmail.php文件)

    再次訪問了控制器,就是重新推送一個任務大到隊列中

    日志文件中也多了一條記錄。這樣隊列就已經成功了

    5、處理失敗任務

    任務執行失敗會保存到一個表,但是那個表還沒有創建,這個表在php artisan list的queue下面可以看到

    php artisan queue:failed-table

    php artisan migrate

    php artisan queue:failed 查看執行錯誤的隊列

    php artisan queue:retry 1? 重新執行失敗的隊列,try后面跟的是id

    php artisan queue:retry all 重新執行所有的錯誤隊列

    錯誤的隊列再次執行在failed_jobs表里id會變(應該是自增)

    查看執行錯誤的隊列php artisan queue:failed? (也可以在數據庫查看)

    php artisan queue:forget 4 刪除那條記錄

    php artisan queue:flush 刪除所有的錯誤記錄

    http://img1.sycdn.imooc.com//5dbf0d890001a4b508200248.jpg


    查看全部
  • Debug模式? HTTP異常? 日志

    Debug模式

    ????配置:config.php

    ? ? 進行本地開發時,應該配置APP_DEUG環境變量為true,在上線環境,這個值應該永遠為false

    ?看debug模式是否開啟,config.app.php 里面的debug方法,結果還是到.env文件下看app_debug=true;關閉改為false

    HTTP異常:就是給resources/views/errors下面添加比如403.blade.php這樣和錯誤對應的模板

    日志:

    http://img1.sycdn.imooc.com//5dbef6e50001232510660428.jpg在 .env文件添加APP_LOG=single

    http://img1.sycdn.imooc.com//5dbef86e0001d83409040212.jpg

    就運行了一下這三個函數,日志文件在storage/logs文件夾下。如果改為daily,那么日志每天生成一個,文件名包含當天日期

    http://img1.sycdn.imooc.com//5dbef8e100010a3104490111.jpg

    查看全部
  • 就是將幾個緩存常用函數運行看了一下,默認的是文件緩存,在storage/framework/cache下

    添加緩存: put() add()? 有返回值bool? ?forever()

    獲取緩存:get() pull()獲取了會刪掉

    刪除緩存:forget()



    查看全部
  • 需要修改配置文件:config/mail.php和.env文件

    http://img1.sycdn.imooc.com//5dbeed120001585711590638.jpghttp://img1.sycdn.imooc.com//5dbeed740001769911710646.jpghttp://img1.sycdn.imooc.com//5dbeedc2000158d411560629.jpg

    查看全部
  • 配置 config/filesystem.php? (在控制器里面的系統函數不用死記硬背,有提示的)

    http://img1.sycdn.imooc.com//5dbedf5a0001cdfd11410633.jpg


    http://img1.sycdn.imooc.com//5dbee24600012bc711410619.jpg

    http://img1.sycdn.imooc.com//5dbee2eb000152bc11430593.jpg$bool = Storage::disk('uploads')->put($file,$file_get_contents($realPath))

    http://img1.sycdn.imooc.com//5dbee4a60001dc1311960668.jpg

    查看全部
  • php artisan make:seed UserTableSeeder

    在app/database/seeds/StudentTableSeeder.php

    的run()方法中添加DB::table("Student")->insert([......數據]);

    ①執行數據填充php artisan db:seed --class StudentTableSeeder

    或者②在DatabaseSeeder.php的run方法里面添加 $this->call(StudentTableSeeder::class);

    然后執行php artisan db:seed

    查看全部
  • php ?artisan (list) 查看用法列表

    ?php artisan ?make:{type} ?{name} 創建類文件

    ?php artisan ?make:auth ? ? 創建登錄注冊?

    php artisan ?migrate ? ? ? ?生成用戶表

    查看全部
  • composer的使用

    查看全部
    0 采集 收起 來源:使用Composer

    2019-08-27

  • 包管理器

    Java Maven

    NodeJS NPM

    PHP Pear

    查看全部
    0 采集 收起 來源:Composer簡介

    2019-07-23

  • php?artisan?make:controller?StudnetController


    查看全部
  • 執行 php artisan migrate 命令時出現:

    QLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max

    key length is 1000 bytes...錯誤

    解決辦法:在app/Providers/AppServiceProvider中的public function boot()方法添加

    Schema::defaultStringLength(191);

    即可


    查看全部
  • Laravel執行seeder命令出現 Class StudentTableSeeder does not exist.

    解決辦法:在控制臺中執行`composer dump-autoload`,然后再執行`php artisan db:seed`命令.


    查看全部
  • Phpstudy運行Laravel5.8項目 報500錯誤 。最后查看日志是:No application encryption key has been specified。查看目錄文件后發現少了.env和.env.example文件。于是拷貝了Laravel5.6的這兩個文件,問題完美解決。



    查看全部
  • form表單需要加上:enctype="multipart/form-data"屬性

    查看全部

舉報

0/150
提交
取消
課程須知
1、掌握《基礎篇》和《表單篇》的知識 2、掌握基本的HTML相關知識 3、熟悉PHP語言,了解面向對象、命名空間、Traits等特性 4、熟悉關系型數據庫Mysql,了解數據庫的表、記錄、列等概念。
老師告訴你能學到什么?
1、安裝和使用Composer 2、使用Composer安裝和管理Laravel的依賴包 3、掌握Laravel中的用戶認證(Auth)、數據遷移和數據填充的使用 4、掌握文件上傳、郵件、緩存、錯誤&日志和隊列的使用

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!