【Laravel入門】教會你如何用Laravel快速在3分鐘內生成網頁後台
Hahow平台重量級Laravel課程 Laravel5.8 從入門到實戰,基礎知識篇單元10 Voyager套件簡介 為什麼你該學Voyager? 掌握它能幫你做什麼! 想了解Voyager或者是了解課程內容的朋友,都歡迎參考此課程:
https://hahow.in/cr/goblinlab-laravel58
各位學員,我是哥布林老師,歡迎來到基礎概念篇的Voyager套件簡介單元。
在這個單元,首先要和大家聊聊 為什麼你該學Voyager?
(自拍:拿起一罐啤酒,打開來...)
有那麼一天,你拿起一罐啤酒,即將要來動手作一個超酷的商品頁。上面有滿滿的漂亮商品,搭配著優雅的版型,又支持手機裝置。想像一下,你在投資人面前一邊示範如何在後台新增一個商品,然後前台重新載入之後,商品立刻上架。 彷彿這個平台明天就能上線,你對未來充滿了熱情...
(自拍:喝完一口啤酒,上黑白濾鏡,凍結)
回到現實,你發現當你想要做出這個超酷的網頁,等著你的卻是建立商品以及分類資料表.並且完成新增.刪除.修改.查詢等功能及其操作介面。更別提還有後面煩人的除錯。當你喝完一口啤酒,那種苦澀讓熱情瞬間冷了下來,你想想等以後有空再說...
這時候你就需要Voyager來幫助你...
(larval-new.com的介紹網頁) Voyager是生成後台功能與介面的解決方案,就知名評論網站laravel-new.com看來,在視覺化這個區塊,Voager做到最好。所謂的視覺化,意味者大部分時候你不需要開啟檔案去撰寫程式碼,就能實現大部分你所需要的功能。
換句話說,Voyager能夠為你快速生成後台功能,並讓你用圖形化的操作介面進行修改。
接著,來聊聊Voyager主要提供哪些功能:
第一.BREAD
這個功能類似於CRUD,Voyager稱其為BREAD。分別為檢視多筆(Bread).檢視單筆(Read).編輯(Edit).新增(Add).刪除(Delete)。你能夠輕易的為你的表格加入功能完備的管理視圖,比如想要為你的購物商城建立一個商品表格,對應視圖立馬擁有。除此之外,BREAD還可以結合角色,設定對應的權限,比如像是一般使用者只能使用檢視的功能而不能作新增.編輯或刪除。
第二.資料庫管理員(Database Manger)
這個功能超狂,你再也不需要phpMyAdmin或者是使用SQL工具去作遠端操作,Voyager讓你能夠直接進後台去操作資料庫。不管你要新增.刪除.修改資料表都行。除此之外,當建立一個新表的時候也能夠一併建立對應的模型(model),要注意的是網頁伺服器的檔案系統權限必須打開。
第三.選單生成器(Menu Builder)
這個功能很有趣,Voyager能夠輕易的讓你為網站建立選單,並編輯每一個選項。實際上Voyager後台裡的選單就是用Menu Builder打造而成。內建雖然只有一個選單,但你能夠輕易的新增更多選單,並加入選項,還能夠讓它們以你想要的方式顯示在前台。
第四.媒體管理員(Media Manager)
這個功能也很酷,Voyager具備一個非常完整的媒體管理功能,允許你去查看.編輯.刪除被你上傳到storage資料夾的圖片,甚至是新增資料夾來組織這些圖片,所有在你應用裡的圖片將能輕易的被重複利用,並被存放在統一的位置,且相容於本地或AWS的S3。
第五.設定管理員(Setting Manager)
這個功能我個人覺得很好用。我作網站的時候需要使用到很多的參數。設成參數的目的是為了移出html檔,方便進行修改。舉凡網站的logo.顏色色碼,是否發送信件的布林值,臉書ID,甚至是複雜點的JS腳本等等。在使用Voyager之前,我需要建立一個檔案,在裡頭建立常數來存放參數以供程式取用。因為需要改程式碼所以要修改的時候只能自己處理,不能交給小編。而Voyager提供了設定頁面,把這些參數用標籤來加以分類,讓你能輕鬆管理,參數設定支援文字.圖片.程式碼.下拉選單等等多種模式。
第六.指南針(Compass)
這個功能有點雜,但也很強大。這個頁面包含了三塊,首先它提供了內建icon列表,讓你的選項可以加入漂亮的icon。其次它提供Laravel Console,讓你不需要透過SSH可以從後台直接執行Artisan指令。除此之外,它也提供Log查詢介面,讓你不需要進到FTP去查看log檔案,可以直接到後台輕鬆瀏覽。
第七.本地化(Localized)
這個功能官網並沒有特別介紹,但當你的網站需要製作本地化的時候,這個功能會對你很有幫助。它提供的是表格資料的本地化。比如說當你的網站需要同時支援中英雙語,而最新消息文章儲存在資料庫,就有必要同時提供中英兩個欄位來儲存,並且要有使用者介面來提供小編進行編輯。當需提供的語系愈多,那開發工作就越繁瑣。而Voyager的視覺化設計提供你一個方便的解決方案。你只需要告訴Voyager哪些欄位需要支援本地化,其他的讓它幫你解決。
不知道上面說的這麼多功能,有沒有一個或者是多個是你苦苦追尋的。如果有的話,接下來聊聊Voyager套件的優點和缺點。
優點1.擁有亮眼並好用的使用者介面,而且免費
你開發的網站後台通常不是給自己使用,而是交給小編或者是行政美眉。那麼介面好不好看,操作起來方不方便往往就與客戶的滿意度息息相關。我覺得介面好用,對每個開發者來說是很重要的。 套件免費,意味者不管你作多小的案子,你都能不考量成本來使用它。
優點2.擁有龐大社群,官方持續維護並釋出文件
截自目前,Voyager套件已經獲得了超過9200個星,以及將近450個關注。官方後續也規劃使用Laravel Hook的機制來讓社群為它開發外掛。幾乎每個月都有更新或修正。當一個套件夠多人使用,作者比較會有意願 持續維護。畢竟導入套件雖然方便,最害怕的就是套件爛尾,導致自己的專案後續維護出現問題。所以套件的社群足夠龐大,對每個開發者來說也同等重要。
優點3.更好管理上傳圖片
在沒有媒體管理員以前,我的網頁應用就像貔貅一樣,只進不出。提供管理員上傳圖片或檔案的功能,但沒有管理的介面。導致重複的圖片或檔案擠在單一個資料夾裡面,長久下來顯得雜亂。現在Storage資料夾內能夠方便的建立多個資料夾來存放圖片,而已有的圖片可直接利用,多餘的圖片也能夠隨時刪除。除非你開發的網站應用不需要長久維護,否則絕對需要。
優點4.能從後台直接管理資料庫
這個優點應該算是懶人福音,能夠進後台改資料庫架構真的很方便。你不需要使用自己的開發電腦而能夠使用任何一台電腦,只要有瀏覽器就能夠進後台進行調整,類似mini-phpMyAdmin。至於是否必要,就要看你的開發習慣而論,沒有一定。
不過,沒有什麼是完美的。Voyager同樣有一些缺點或問題:
缺點1.直接修改資料庫,不符合Migration設計
這個缺點和優點4是相對的。有了光也就有了影子。Laravel的資料表修改流程是先建立Migration檔案,接著執行migrate來進行表格變更,才能把資料表格變更透過程式碼來進行版本控管,方便隨時還原。使用Voyager內建表單就像是用phpMyAdmin來進行變更,必然會讓表格結構與開發時有所不同,協同開發時也會造成其他開發端無法取得一致的資料表結構。
針對這個問題,我的作法是於每次修改後運用套件將新的資料表結構輸出Migration檔案,就能夠協同開發並進行版本控管。
缺點2.非官方套件,不保證是否會長期維護
這個套件是由The Control Group進行維護,並非Laravel官方。所以Voyager套件是有可能停止維護的,這跟每一個非官方的套件都有一樣的缺點。不過以Voyager的社群規模以及它發行正式V1.0的時間也只在1年半以前,短時間來看應該不會停止更新。
缺點3.編輯輸入項種類不夠多
Voyager套件的競爭對手,有些提供多樣化的編輯輸入項。確實相較之下,Voyager所提供的內建輸入項比較少,不過Voyager有提供自定義輸入項設計,讓你能夠自行開發輸入項。比如我自己就寫了一個能夠從設定區抓取選項的下拉選單,搭配視覺化設定,就能夠讓我的這個自定義輸入項重複利用,達到模組化。
所以輸入項不夠多的問題,在有自定義輸入項的設計之下,不太需要擔心。
缺點4.中文教學稀少,官方教學簡略
最後的缺點,可能對多數人來說,這才是最大的缺點。當你在Google搜尋引擎打上”laravel voyager”。 你會發現只有不到10筆的中文資料,甚至還有一篇是勸退的。事實上官方有提供教學影片與教學文件,但全部都是英文的,更慘的是連英文字幕都沒有。 哥布林當初也是靠著自己的破聽力,重複聽著影片,搭配官方教學文件來了解Voyager的使用方法。除此之外,官方文件也沒有詳細說明每個類別裡頭的成員變數以及用法,很多比較進階的東西還是需要自己去看原代碼來進行學習。
我覺得這個缺點應該才是大家不敢導入Voyager的關鍵原因。所以哥布林學苑才會設計這套課程,希望把這一年所學到的所有關於Voyager的知識,整理成一個實戰教學課程。相信大家學完這堂課程之後,對於Voyager官方教學文件的理解,將會大幅提升。日後遇到問題也可以到留言區詢問又或者是到社團來與大家討論。
希望大家不要因為語言的問題,而放棄使用這麼好的一個後台生成套件。
附帶一點說一下,Voyager套件內建測試資料,讓應用能夠安裝完立即啟用。
在安裝Voyager套件的時候,你能夠順便生成測試資料。讓你在安裝完套件之後,就有一個帶資料的網站和後台能夠進行測試。對初學者來說,是非常方便的。但上到正式環境時,千萬別這麼作,除非你想讓每個訪客都進到後台寫到此一遊。
最後總結一下這堂課程的內容:
到底Voyager能幫你作什麼?
- Voyager能夠為你快速生成後台功能,並讓你用圖形化的操作介面進行修改。
而Voyager提供你哪些主要功能呢?
- BREAD資料存取介面
- 資料庫可視化管理介面
- 選單可視化管理介面
- 上傳圖片可視化管理介面
- 設定參數可視化管理介面
- 指南針提供Artisan指令與Log可視化操作介面
- 本地化可視化操作介面
那麼選擇用Voyager的優缺點對應策略: 優點部分:Voyager作為一個強大的視覺化後台生成套件,而且可免費商業授權使用,不管各種規模的專案都適合使用 缺點部分:Voyager提供的編輯與顯示元件較少,但可利用自定義結合模組化的作法,做出適合自己需求的後台
(自拍:對著鏡頭說話) 有多少美好的創業構想,因為寫不出後台的表格管理功能,而被擱置? 而當你學會使用Voyager,開發那些令人驚嘆的電子商務平台,立刻開始。
上完這堂課,你是否也和我一樣,對學習Voyager套件感到期待呢? 接下來,我們將在Laravel實戰篇的Voyager實戰詳細為你說明如何使用Voayger,我們到時見,等你喔。



