Laravel3 学习笔记
2019獨角獸企業重金招聘Python工程師標準>>>
Web開發框最大的存在意義無疑是為開發者提供便利,這種被提供的便利不僅表現在對于整個應用接口上的梳理、組織和解耦,也表現在更多細微方 便,比如各種工具的提供。Laravel3為開發者提供了各種有關web開發的工具,讓開發者在開發應用時只需要關注于自身的業務,而不必在拘泥在其他外 延的糾纏。
跳轉
跳轉在Web應用中經常被用到,Laravel3提供豐富的實現跳轉的方法:
跳轉到特定uri:
return?Redirect::to('user/profile');?
附帶特定的狀態碼如301/302進行跳轉:
return?Redirect::to('user/profile',?301);?
發起https跳轉:
return?Redirect::to_secure('user/profile');?
返回應用根目錄:
return?Redirect::home();?
返回上一個動作uri的跳轉:
return?Redirect::back();?
跳轉到一個命名路由:
return?Redirect::to_route('profile');?
跳轉到某一個controller類中的方法:
return?Redirect::to_action('home@index');?
附帶參數可以這樣:
return?Redirect::to_route('profile',?array($username)); return?Redirect::to_action('user@profile',?array($username));?
附帶flash消息的跳轉:
return?Redirect::to('profile')->with('status',?'Welcome?Back!');?
可以這樣讀取msg內容:
$status?=?Session::get('status');laravel 并沒有使用php自帶的session $_SESSION 也同樣不能使用,laravel自己內建了全新的session
寫入session的方法是
Session::put('key','value');
僅僅這樣是不夠的,偶爾會丟失Session
你還需要在寫入Session的之后執行保存Session::save();
這樣就解決了session丟失的問題了。
錯誤響應返回
404錯誤返回:
return?Response::error('404');?
500錯誤返回:
return?Response::error('500');?
類庫的調用
對于經常使用的類庫可以將類庫文件放到application/libraries文件夾下,laravel用自動載入這些類庫,不必再手動顯 式載入調用,簡化了開發。比如我們建立一個application/libraries/printer.php類庫文件,其內容為:
class?Printer?{public?static?function?write($text)?{echo?$text;} }?
然后就可以在其他地方通過Printer::write()來調用類庫中的方法了。
文件下載
返回一個文件下載響應:
return?Response::download('file/path.jpg');?
可以對文件進行重命名:
return?Response::download('file/path.jpg',?'photo.jpg');?
資源管理
Laravel3在管理css和js資源文件方面提供了一些幫助,(個人感覺用處不大,如果不能很好的和backbone這樣的前端框架整合,這個功能意義真的不大)。
添加資源:
Asset::add('jquery',?'js/jquery.js');?
第一個參數是資源名,第二個參數是資源文件相對于public文件夾的位置。
我們知道不管是css還是js在前端加載的時候都需要有一定的順序,這就牽扯到了依賴,所以在添加資源的時候不能不考資源依賴的問題。
在添加資源的時候我們可以這樣處理:
//?jquery-ui?資源依賴?jqueryAsset::add('jquery-ui',?'js/jquery-ui.js',?'jquery');?
這樣,Laravel3 就會幫助我們自動處理好資源依賴問題了。
當某個資源依賴多個其他資源時,只需要將其他資源作為數組當做第三個參數傳入:
//?third?資源同時一來first資源與second資源Asset::add('third',?'js/third.js',?array('first',?'second'));?
然后在模板中調用Asset::styles()和 Asset::scripts()方法可以調用出已經添加的資源,即生成相應的html代碼在view中渲染:
如下:
echo?Asset::styles();echo?Asset::scripts();?
在blade模板中可以直接使用
{{Asset::styles();}}{{Asset::scripts();}}?
資源容器
往往我們需要粒度更細的資源管理,比如我們希望一部分js在網頁底部加載以提高網頁整體的加載速度。這時候我們可以使用資源容器來幫助我們再組織資源,以方便部分調用。
建立一個資源容器并且向其中添加資源:
//?建立容器名為footerAsset::container('footer')->add('example',?'js/example.js');?
這樣調用:
echo?Asset::container('footer')->scripts();?
如果是在Blade模板之中可以這樣:
{{Asset::container('footer')->scripts();}}?
對于bundle的資源,Laravel3也為我們提供了方案,只需將資源容器與bundle綁定:
Asset::container('foo')->bundle('admin');?
然后我們再往此容器中添加資源的時候,Laravel3將會自動為我們指向bundle所在public目錄,我們只需要填寫資源的相對路徑。
轉自:http://www.tuicool.com/articles/6VV7Nj
轉載于:https://my.oschina.net/u/2444569/blog/514993
總結
以上是生活随笔為你收集整理的Laravel3 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [HBase_3] HBase 命令
- 下一篇: pandas和 excel 尝试