您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Laravel開發(fā)實例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Laravel開發(fā)實例分析”吧!
準備開發(fā)環(huán)境
原教程使用官方推薦的Homestead開發(fā)環(huán)境。由于最近Docker開始流行,并且也有相應的Laravel對應的容器。所以本文以Laradock作為開發(fā)環(huán)境。
安裝Laradock
克隆Laradock倉庫到本地。
gitclonehttps://github.com/laradock/laradock.git
最終文件夾結構應該像這樣:
+laradock
+project-z
配置Laradock
復制配置文件
bashcdlaradockcpenv-example.env#復制配置文件
進入Workspace
bash#運行Laradockdocker-composeup-dnginx#進入LaradockWorkspacedocker-composeexec--user=laradockworkspacebash#ForGitBashwinptydocker-composeexec--user=laradockworkspacebash
配置國內(nèi)加速鏡像
#Workspace
composerconfig-gl#查看composer設置
composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/#設置國內(nèi)加速鏡像
構建頁面
創(chuàng)建應用
#Workspace
composercreate-projectlaravel/laravelweibo--prefer-dist"5.8.*"
配置Nginx域名
cpnginx/sites/laravel.conf.examplenginx/sites/weibo.conf
修改新復制出的配置文件里的路徑為將要創(chuàng)建的項目路徑。
修改Host
編輯C:/Windows/System32/Drivers/etc/hosts
增加一條127.0.0.1weibo.test
.env文件
.env文件包含了項目的一些設置,我們進行一些修改。
APP_NAME=Weibo
APP_ENV=local
APP_KEY=base64:nsvnM5l0N5cOzT/dFqfUoYlkYffhDPnKPuYU4AWMdPc=
APP_DEBUG=true
APP_URL=http://weibo.test
為了方便,我們在本地使用sqlite數(shù)據(jù)庫。
注釋掉原有DB相關設置,添加下面內(nèi)容
DB_CONNECTION=sqlite
DB_DATABASE=/database/database.sqlite
并且創(chuàng)建相應數(shù)據(jù)庫文件
touchdatabase/database.sqlite
使用Git管理代碼
cdweibo
gitinit
gitadd-A
gitcommit-m"Initialcommit"
上傳到Gitee
gitremoteaddorigingit@gitee.com:codingbit/weibo.git
gitpush-uoriginmaster
使用Heroku部署應用
需要先安裝heroku-cli工具。
創(chuàng)建HerokuApp
herokucreate
配置Procfile文件:
echoweb:vendor/bin/heroku-php-apache2public/>Procfile
gitadd-A
gitcommit-m"ProcfileforHeroku"
gitpush
herokubuildpacks:setheroku/php
生成AppKey
#Workspace
$phpartisankey:generate--show
base64:ta1aE+E8kuyDFlURbUrHEtL4HY71WtoffyNgUKldMWw=
#Host
herokuconfig:setAPP_KEY=base64:ta1aE+E8kuyDFlURbUrHEtL4HY71WtoffyNgUKldMWw=
推送到Heroku上
gitpushherokumaster
上傳成功,訪問地址https://cbit-weibo.herokuapp.com/即可看到效果。
統(tǒng)一代碼風格
通過編輯器的EditorConfig插件,統(tǒng)一代碼風格。
.editorconfig
root=true
[*]
charset=utf-8
end_of_line=lf
insert_final_newline=true
indent_style=space
indent_size=4
trim_trailing_whitespace=true
[*.md]
trim_trailing_whitespace=false
[*.yml]
indent_size=2
[*.{js,html,blade.php,css,scss}]
indent_style=space
indent_size=2
靜態(tài)頁面
架子搭好了,開始學習創(chuàng)建基礎靜態(tài)頁面。
新建分支
gitcheckoutmaster
gitcheckout-bstatic-pages
移除無用視圖
默認的welcome.blade.php視圖文件,沒有用,刪掉。
rmresources/views/welcome.blade.php
配置路由
routes/web.php
<?php
Route::get('/','StaticPagesController@home');
Route::get('/help','StaticPagesController@help');
Route::get('/about','StaticPagesController@about');
get方法有兩個參數(shù):1.訪問的URL;2.操作的控制器及對應的方法
在Laravel中我們較為常用的幾個基本的HTTP操作分別為GET、POST、PATCH、DELETE。
GET常用于頁面讀取
POST常用于數(shù)據(jù)提交
PATCH常用于數(shù)據(jù)更新
DELETE常用于數(shù)據(jù)刪除
其中,PATCH和DELETE是不被瀏覽器所支持的,我們可以通過在提交表單中做一些手腳,讓服務器以為這兩個動作是從瀏覽器中發(fā)出的一樣。
生成靜態(tài)頁面控制器
生成靜態(tài)頁面控制器:
phpartisanmake:controllerStaticPagesController
添加三個方法
classStaticPagesControllerextendsController
{
publicfunctionhome()
{
return'主頁';
}
publicfunctionhelp()
{
return'幫助頁';
}
publicfunctionabout()
{
return'關于頁';
}
}
添加靜態(tài)頁面視圖
控制器中渲染視圖,需要用到view方法,view方法接收兩個參數(shù),第一個參數(shù)是視圖的路徑名稱,第二個參數(shù)是與視圖綁定的數(shù)據(jù),第二個參數(shù)為可選參數(shù)。
app/Http/Controllers/StaticPagesController.php
classStaticPagesControllerextendsController
{
publicfunctionhome()
{
returnview('static_pages/home');
}
publicfunctionhelp()
{
returnview('static_pages/help');
}
publicfunctionabout()
{
returnview('static_pages/about');
}
}
默認情況下,所有的視圖文件都存放在resources/views文件夾下。
下面創(chuàng)建三個視圖。
resources/views/static_pages/home.blade.php
<!DOCTYPEhtml>
<html>
<head>
<title>WeiboApp</title>
</head>
<body>
<h2>主頁</h2>
</body>
</html>
resources/views/static_pages/help.blade.php
<!DOCTYPEhtml>
<html>
<head>
<title>WeiboApp</title>
</head>
<body>
<h2>幫助頁</h2>
</body>
</html>
resources/views/static_pages/about.blade.php
<!DOCTYPEhtml>
<html>
<head>
<title>WeiboApp</title>
</head>
<body>
<h2>關于頁</h2>
</body>
</html>
使用通用視圖
使用通用視圖避免代碼重復的問題。
resources/views/layouts/default.blade.php
<!DOCTYPEhtml>
<html>
<head>
<title>@yield('title','WeiboApp')-Laravel新手入門教程</title>
</head>
<body>
@yield('content')
</body>
</html>
Laravel的Blade模板支持繼承,這意味多個子視圖可以共用父視圖提供的視圖模板。
修改視圖模板。
resources/views/static_pages/home.blade.php
@extends('layouts.default')
@section('content')
<h2>主頁</h2>
@stop
resources/views/static_pages/help.blade.php
@extends('layouts.default')
@section('title','幫助')
@section('content')
<h2>幫助頁</h2>
@stop
resources/views/static_pages/about.blade.php
@extends('layouts.default')
@section('title','關于')
@section('content')
<h2>關于頁</h2>
@stop
Git代碼版本控制
接著讓我們將本次更改納入版本控制中:
gitadd-A
gitcommit-m"基礎頁面"
提交代碼
將Git切換到master分支,并合并static-pages分支上的修改:
gitcheckoutmaster
gitmergestatic-pages
最后將代碼推送到GitHub和Heroku上:
gitpush#推送到Gitee
gitpushherokumaster#上線到Heorku
到此,相信大家對“Laravel開發(fā)實例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。