温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Laravel开发实例分析

发布时间:2022-03-15 15:01:03 来源:亿速云 阅读:144 作者:iii 栏目:web开发

本篇内容主要讲解“Laravel开发实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Laravel开发实例分析”吧!

  准备开发环境

  原教程使用官方推荐的Homestead开发环境。由于最近Docker开始流行,并且也有相应的Laravel对应的容器。所以本文以Laradock作为开发环境。

  安装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

  配置国内加速镜像

  #Workspace

  composerconfig-gl#查看composer设置

  composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/#设置国内加速镜像

  构建页面

  创建应用

  #Workspace

  composercreate-projectlaravel/laravelweibo--prefer-dist"5.8.*"

  配置Nginx域名

  cpnginx/sites/laravel.conf.examplenginx/sites/weibo.conf

  修改新复制出的配置文件里的路径为将要创建的项目路径。

  修改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数据库。

  注释掉原有DB相关设置,添加下面内容

  DB_CONNECTION=sqlite

  DB_DATABASE=/database/database.sqlite

  并且创建相应数据库文件

  touchdatabase/database.sqlite

  使用Git管理代码

  cdweibo

  gitinit

  gitadd-A

  gitcommit-m"Initialcommit"

  上传到Gitee

  gitremoteaddorigingit@gitee.com:codingbit/weibo.git

  gitpush-uoriginmaster

  使用Heroku部署应用

  需要先安装heroku-cli工具。

  创建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/即可看到效果。

  统一代码风格

  通过编辑器的EditorConfig插件,统一代码风格。

  .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

  静态页面

  架子搭好了,开始学习创建基础静态页面。

  新建分支

  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方法有两个参数:1.访问的URL;2.操作的控制器及对应的方法

  在Laravel中我们较为常用的几个基本的HTTP操作分别为GET、POST、PATCH、DELETE。

  GET常用于页面读取

  POST常用于数据提交

  PATCH常用于数据更新

  DELETE常用于数据删除

  其中,PATCH和DELETE是不被浏览器所支持的,我们可以通过在提交表单中做一些手脚,让服务器以为这两个动作是从浏览器中发出的一样。

  生成静态页面控制器

  生成静态页面控制器:

  phpartisanmake:controllerStaticPagesController

  添加三个方法

  classStaticPagesControllerextendsController

  {

  publicfunctionhome()

  {

  return'主页';

  }

  publicfunctionhelp()

  {

  return'帮助页';

  }

  publicfunctionabout()

  {

  return'关于页';

  }

  }

  添加静态页面视图

  控制器中渲染视图,需要用到view方法,view方法接收两个参数,第一个参数是视图的路径名称,第二个参数是与视图绑定的数据,第二个参数为可选参数。

  app/Http/Controllers/StaticPagesController.php

  classStaticPagesControllerextendsController

  {

  publicfunctionhome()

  {

  returnview('static_pages/home');

  }

  publicfunctionhelp()

  {

  returnview('static_pages/help');

  }

  publicfunctionabout()

  {

  returnview('static_pages/about');

  }

  }

  默认情况下,所有的视图文件都存放在resources/views文件夹下。

  下面创建三个视图。

  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开发实例分析”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI