摘要:創建,的引入運行會自動加載,在服務提供器或者新建提供器的方法中調用啟動所有應用服務也可使用共享數據片段視圖視圖合成器是當視圖被渲染時的回調函數或類方法,如果你每次渲染視圖時都要綁定視圖的數據,比如用戶登陸信息。
視圖間共享數據
視圖門面 share() 方法
視圖門面 composer() 方法
tips:都是使用 View 門面來訪問 IlluminateContractsViewFactory 的底層實現視圖share()
有時需要在所有視圖之間共享數據片段,這時候可以使用視圖門面的 share 方法。
1,一般情況下,我會在apphttpControllersxx下創建一個基礎控制器 BaseController.php,
initViewShare(); //視圖共享數據 } /** * 視圖共享數據方法 */ public function initViewShare() { view()->share("action_name",get_action_name()); //當前URL的方法器名 } } //視圖使用 //共享視圖一般都是在layout中 {{ $action_name }}
get_action_name() 是自定義的一個函數。tips:
創建 appHelpersExtmanFun.php , composer.json的autoload引入
"files":[ "app/Helpers/ExtmanFun.php" ]
運行 composer dump-autoload 會自動加載
2,在 AppServiceProvider 服務提供器(或者新建提供器) 的boot方法中調用share()
share("name","共享數據片段"); } }視圖composer()
視圖合成器是當視圖被渲染時的 回調函數 或 類方法 ,如果你每次渲染視圖時都要綁定視圖的數據,比如用戶登陸信息。可以使用composer() 將邏輯組織到一個多帶帶的地方。
本例中,我們將在AppServiceProvider服務提供器中注冊視圖合成器,
提供器代碼如下:
composer( //"*", "AppHttpViewComposersAuthComposer" //["extman.home, welcome"], "AppHttpViewComposersAuthComposer" ["extman.*"], "AppHttpViewComposersAuthComposer" ); //使用基于回調函數 view()->composer("*",function($view){ $view->with("user",array("name"=>"test","avatar"=>"/path/to/test.jpg")); }); } other code }
如果創建一個新的服務提供器來包含視圖composer 注冊,需要添加該服務提供者到配置文件 config/app.php 的 providers 數組中
到此已經注冊了視圖合成器,每次渲染 extman目錄下所有視圖時都會執行 AuthComposer@compose 方法。
定義視圖合成器類 AppHttpViewComposersAuthComposer.php
users = $users; } //綁定數據到視圖 public function compose(View $view) { $user_info = Auth::user(); $view->with("motto", $user_info); $view->with("count", $this->users->count()); } }
視圖被渲染前,AuthComposer類的 compose 方法被調用,同時 IlluminateViewView 實例被注入該方法,從而可以使用其 with 方法來綁定數據到視圖。
所有的視圖合成器都會通過 服務容器 進行解析,所以你可以在視圖合成器的構造函數中類型提示需要注入的依賴項。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30764.html
摘要:最后一定一定要記住要把組件寫在一個為的中否則永遠無法渲染哦這是大坑坑了我一宿最后打包打包成功后切記刷新有時候這里也是大坑緩存根本不出最后刷新頁面組件渲染成功 首先安裝laravel集成環境,不在多余贅述,直接開始配置1.打開layout目錄,這里是視圖層公用文件,名字隨便起,只要你能引入到非公用視圖文件中就好,我這里拿main.blade.php為例showImg(https://se...
摘要:新增一篇新聞新增失敗輸入不符合要求請輸入標題請輸入內容新增文章上面代碼中的是為了防攻擊的,每個表單都必須存在。 本文我將結合簡單例子,完成laravel框架下的增刪改查,希望會對大家有所幫助。在進行之前,大家應該保證自己的數據庫鏈接無誤,artisan命令能正常使用,路由鏈接無問題。 一、創建控制器、路由避免影響其他路由,我們先注釋掉之前聯系時編寫的所有路由。因為上一章我們已經學會建立...
摘要:正在開發的另一種測試方法是將電子郵件呈現給瀏覽器,以便您可以進行快速更改并獲得幾乎即時的反饋。 這個是即將在Laravel5.5中發布的新特性 當您構建自定義HTML電子郵件模板時,通常會對所有電子郵件客戶端進行測試,并一并測試通常是一件麻煩事。有幾個像Litmus這樣的工具可以幫助解決這個問題,但服務是昂貴的。 正在開發的另一種測試方法是將電子郵件呈現給瀏覽器,以便您可以進行快速更改...
摘要:完成簡單的在這篇文章中,我想和大家分享如何在框架中使用來創建應用程序。在這個例子中,您可以學習如何為應用程序構建設置,我還使用請求,獲取請求,放入請求和刪除請求來插入更新刪除應用程序。 laravel5.5 + react完成簡單的CRUD 在這篇文章中,我想和大家分享如何在PHP Laravel框架中使用js來創建crud(Create Read Update Delete)應用程序...
摘要:打開瀏覽器輸入,如無意外,將出現如下圖,表示框架安裝成功。四系統內部后臺管理系統這個是框架自帶的后臺登錄管理系統,只需要簡單的命令即可運行。出現上圖即為,創建模型成功。 在PHP個各種web開發框架中,laravel算是一款簡潔、優雅的開發框架,本人也剛剛接觸到laravel,通過學習大神們的一些文章,下面是我的一些心得體會,希望可以給初學者一些幫助,大家一起進步。言歸正傳: 本人環境...
閱讀 917·2021-11-08 13:22
閱讀 2841·2021-09-29 09:45
閱讀 2824·2021-09-09 11:52
閱讀 2257·2019-08-30 13:20
閱讀 3740·2019-08-29 13:28
閱讀 1356·2019-08-29 12:32
閱讀 2720·2019-08-29 11:10
閱讀 1644·2019-08-26 13:34