Laravel建站04--建立後臺文章管理

来源:http://www.cnblogs.com/timeismoney/archive/2017/05/16/6861503.html
-Advertisement-
Play Games

路由配置 路由組 允許共用路由屬性,例如中間件和命名空間等,我們沒有必要為每個路由單獨設置共有屬性,共有屬性會以數組的形式放到 Route::group 方法的第一個參數中。 中間件('middleware' => 'auth'),驗證用戶是否登錄。 命名空間 ('namespace' => 'Ad ...


路由配置

Route::group(['middleware' => 'auth', 'namespace' => 'Admin', 'prefix' => 'admin'], function() {

Route
::get('/', 'HomeController@index'); // 匹配包含 "/admin/" 的 URL Route::resource('article', 'ArticleController');// 匹配包含 "/admin/article" 的 URL
Route::post('/upload', 'UploadController@index');// 匹配包含 "/admin/upload" 的 URL
});

路由組 允許共用路由屬性,例如中間件和命名空間等,我們沒有必要為每個路由單獨設置共有屬性,共有屬性會以數組的形式放到 Route::group 方法的第一個參數中。

中間件('middleware' => 'auth'),驗證用戶是否登錄。

命名空間 ('namespace' => 'Admin') ,指定組內所有控制器公共的 PHP命名空間。

路由首碼 ('prefix' => 'admin'),可以給每個路由組中的路由加上指定的 URI 首碼。這裡我們給路由組中所有的 URI 加上路由首碼 admin 。

資源路由 (Route::resource), 可以匹配一組URI。匹配的詳情如下。

動作URI操作路由名稱
GET /article index article.index
GET /article/create create article.create
POST /article store article.store
GET /article/{article} show article.show
GET /article/{article}/edit edit article.edit
PUT/PATCH /article/{article} update article.update
DELETE /article/{article} destroy article.destroy

 

 

 

 

 

 

 


 controller

php artisan make:controller Admin/HomeController
php artisan make:controller Admin/UploadController
php artisan make:controller Admin/ArticleController

執行以上三條命令,建立後臺使用的controller。第一個是後臺首頁,第二個是處理上傳,最後一個是管理文章。

在ArticleController里需要建立與資源路由匹配的各種方法才能實現資源路由的各種功能。

public function index()
{
    $articles = DB::table('articles')
            ->select('id', 'body', 'title')
            ->orderBy('id', 'desc')
            ->paginate(5);
    return view('admin/article/index', ['articles' => $articles]);
}

以上是文章列表功能,這裡指定了表名、列、排序和分頁。然後取出的數據放到view里顯示。

這裡集成了七牛實現上傳到雲的功能。

執行以下命令可以安裝七牛PHP的SDK

composer require qiniu/php-sdk

把從七牛申請的密鑰寫在.env里,然後controller里可以用env函數來讀取。這樣可以保證發佈的版本不會泄露自己的重要信息。


 

view

在resources/views 目錄下建立admin目錄,然後建立home.blade.php,用來顯示後臺首頁。然後admin目錄下建立article子目錄,併在其中建立create.blade.php 、edit.blade.php 、index.blade.php 三個文件。用來實現新建文章、編輯文章和文章列表。

要點:

  • 前臺顯示文章正文有兩種方法:{!! $article->body !!} 和 {{  $article->body  }},前面的可以原樣輸出正文的HTML,而後面的會把HTML轉義,從而在瀏覽器前臺輸出HTML代碼,而不是讓瀏覽器解析HTML。
  • ajax提交圖片上傳時,一定要在header中附加上X-CSRF-TOKEN,否則後臺如果沒收到的話,會報錯。寫法參考:'X-CSRF-TOKEN': '{{ csrf_token() }}'

 

挑選了各環節的一些要點寫出來在博客中,源代碼可以在我的GitHub上獲取到。歡迎交流。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先點擊代碼模板右鍵新建一個模板 把這串代碼粘貼保存。 使用方法: 1.先點擊我們剛纔新建的模板 2.點擊生成代碼按鈕 生成的代碼是這樣子的 ...
  • 第一種:使用 Microsoft.Office.Interop.Excel.dll 首先需要安裝 office 的 excel,然後再找到 Microsoft.Office.Interop.Excel.dll 組件,添加到引用。 public void ExportExcel(DataTable d ...
  • Java通過Executors提供四種線程池,分別為:newCachedThreadPool創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。newFixedThreadPool 創建一個定長線程池,可控制線程最大併發數,超出的線程會在隊列中等待。newS ...
  • 一、Map用法 ...
  • 數組排序演算法:冒泡排序法、選擇排序法、直接插入排序法、快速排序法 ...
  • 雲服務 子系統:後臺管理系統、Restfu服務系統、Dubbo服務/管控/監控中心 Zookeeper註冊中心、報表分析系統、日誌記錄系統、定時調度系統 搜索引擎系統、分散式文件系統、消息系統、SSO單點登錄系統 SOA管控平臺、UI組件系統、OA辦公系統、CMS新聞發佈系統 支付系統、資料庫配置系 ...
  • dropzone.js預設是Ajax上傳圖片給伺服器,那麼如何獲取到圖片名呢?其實我們是可以通過dropzone的success函數獲取到伺服器返回的數據 dropzone.js在HTML的配置如下; ...
  • ———————————————————————————————————————————— 實驗7.4:RS232串口應用實例 設計要求: 通過串口發送接收數據(串口工作方式1) 實現思路: 定時器設置 串口設置 工作方式 波特率 開啟定時/計數器 串口執行 接收數據 發送數據 串口設置 工作方式 波 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...