溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel開發(fā)實例分析

發(fā)布時間:2022-03-15 15:01:03 來源:億速云 閱讀:150 作者:iii 欄目:web開發(fā)

本篇內(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ù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI