【www.5929.com】支付环境搭建,开始使用

壹 、Laravel环境搭建

此前学习过一段时间的 Laravel ,换 mac 后直接没空做相关的事务,而且刚使用
mac
有点不习惯,怕坑太多,所以环境搭建就平素延宕了下来。终于今天有三个比较完整的年华,一狠心就把那件事做了。一共花了差不离5 个钟头,回头看看实际依旧非凡简单的,紧借使因为事先在 win
上面搭建环境的阅历有一对先入为主的错误想法还有网上资料时效性导致绕了部分弯路。

一 、安装浏览器 Chrome

  • 介绍:谷歌(Google) Chrome,是一款由 谷歌(Google) 集团费用的网页浏览器。

  • 下载:https://www.google.cn/chrome

  • 版本:菜单 – 帮助 – 关于

  • 升级:菜单 – 帮助 – 关于

那是连串作品的上马,是开创网站的率先步,那有个别的情节大家将下载并配备
Laravel 本地开发条件。创设博客应用,它会包罗首要的 HTML
结构,大家可以经过当地开展浏览访问。

① 、window环境下环境搭建请参见以下链接:

homestead 是什么

Laravel 官方推荐使用 homestead 搭建环境,那么那几个 homestead
毕竟是如何鬼?相信广大和自身同一不是特别搞服务器的同室看过各样质感后还会有点迷糊。刚开端看了部分介绍后小编觉着
homestead 是贰个构成了 Nginx + PHP + MySQL + Composer 还有其余 Laravel
要求环境的安装包加管理器的概念,类似 win 平台上的 wnmp
之类的东西。可是装50%就意识完全是另一遍事。
实在 homestead
是一台虚拟机的原型,类似大家买电脑后预装的系统,只是那几个连串预装了百分百Laravel 必要的事物。而大家首先开展的手续安装 VirtualBox 和 Vargrnt
实际上就是安装了虚拟机。那象征实际上 homestead 安装到位后我们的 mac
上并从未也不须求安装 PHP、Nginx、MySQL
等等的东西,全体东西都安装在另一台机器上(虚拟机)。

www.5929.com 1

homestead 配置步骤

二 、安装命令行工具 Git for Windows

  • 介绍:Git 是眼前世界上开端进的分布式版本控制系统(没有之一)。

  • 下载: Git
    官网

    【www.5929.com】支付环境搭建,开始使用。gitforwindows

  • 版本:git --version

  • 晋升:Git for Windows 直接下载最新版本安装;虚拟机 VirtualBox 里
    Homestead 自带的 Git 则晋升 Homestead 即可。

安排开发条件

  开发条件搭建 – Windows | 《Laravel
开发条件安排》 | PHP / Laravel 社区文档

安装VirtualBox、Vargrant

VirtualBox下载地址
Vagrant下载地址
这一步相当简单,官网都有 dmg 安装包,寻常安装即可。
声明是不是安装成功在极端应用以下命令行,呈现版本消息就 OK 了。

vagrant -v

③ 、安装代码编辑器 SublimeText

  • 介绍:以下是六款格外杰出和流行的代码编辑器,首推 SublimeText,其次
    Atom。

    • Atom
    • SublimeText
    • PHPStorm
    • Visual Studio
    • Vim
    • Eclipse
  • 下载:

软件官网下载。安装后添加环境变量,方便命令行工具调用编辑器:

自己的总计机 > 属性 > 高级系统装置 > 环境变量 >
修改用户变量或系统变量中的 Path > 新建 > 添加变量地址,如
C:\Atom > 一路规定,重启电脑。

测试:> atom --version

  • 版本:帮助 – 关于

  • 升迁:软件官网下载最新版安装。

合龙开发条件 XAMPP

支出条件的搭建格局有众多,比如
Homestead
开发条件,为了让新手能十分的快搭建开发条件,大家选取了集成开发环境那种不难飞快上手使用的方案,假若您曾经通晓其余的艺术或有精力去探讨,欢迎查阅其他小说,这里然则多解说。

XAMPP(Apache+MySQL+PHP+PEPAJEROL)是2个功效强大的建站集成软件包。它可以在
Windows、Linux、Solaris、Mac
OS X
等多样操作系统下安装使用,辅助多语言:英文、简体粤语、繁体汉语、乌克兰语、俄文、日文等。

Windows 下还足以用 WAMP 集成开发包,和 XAMPP
类似,有必要话也足以展开问询

您可以在那边下载适合您系统的版本:
https://www.apachefriends.org/zh\_cn/download.html

安装完毕后,你可以经过控制面板运营相应的服务,控制面板如下:

Mac 系统中控制面板如下,Windows 系统与之聊城小异。

www.5929.com 2

Mac 下的控制面板

在您运转那 MySQL, Apache 那 1个服务后,你就足以由此上面的地址来拜访数据库:

http://localhost/phpmyadmin/

phpMyAdmin
是二个以PHP为底蕴,以Web-Base情势架构在网站主机上的MySQL的数据库管理工具,让官员可用Web接口管理MySQL数据库。

您通过页面签到即可访问并管理数据库

小心:XAMPP 暗中同意安装时设定的 MySQL 账户 root 密码为空

  

安装 Homestead Vagrant Box

一向输入以下命令行:

vagrant box add laravel/homestead

下一场会唤醒采纳版本,拔取 virtualbox 版本相应序号即可。
那么些手续也等于下载虚拟机的预装系统,文件当先1G,全程最耗时的步子,请挂 VPN,你懂的。别的实在可怜也足以考虑对
homestead.box 直接举办下载,并且手动导入。由于自家本身是挂了 VPN
直接下了,手动导入的始末就不多说,文末会付给相应课程链接。

肆 、安装版本管理软件 Git

  • 注:安装了命令行工具 Git for Windows 就专擅认同安装好 Git
    ,无需重复安装。虚拟机里面 Homestead 也自带 Git,无需再一次安装。

数据库配置

由于项目中须要用到数据库,那里大家先创设项目的数量库 larablog

www.5929.com 3

创制数据库

 

安装 Homestead

#切换到用户文件夹
cd ~
#克隆homestead项目 到 home/Homestead 文件夹
git clone https://github.com/laravel/homestead.git Homestead

git 项目克隆成功后,切换来 Homestead 文件夹,创造连锁安顿文件:

#切换到homestead目录
cd ~/Homestead
# Mac / Linux...
bash init.sh

伍 、安装虚拟机 VirtualBox

  • 介绍:VirtualBox 是 Oracle 公司的开源虚拟机软件。VirtualBox号称是最强的免费虚拟机软件,它不仅作用齐全,而且品质也很特出!VirtualBox扶助超越二分一风行的连串,如:Mac, Windows, Linux 等。

  • 下载:VirtualBox官网下载

  • 版本:帮助 – 关于

  • 升级:官网下载最新版安装

营造利用

贰 、需要小心难题

编辑 Homestead.yaml

走完下边步骤后 Homestead 文件夹里会现出八个 Homesstead.yaml
配置文件。这一个文件可以安排 mac 与虚拟机的共享文件夹、Nginx
站点、数据库等等、虚拟机使用 cpu 数、内存等等。
今后大家的目标是先安装并运营 Laravel
就行了,先利用其预设值即可,先不开展改动。可是我们需求按照其预设值对 mac
进行局地操作。
开拓 Homesstead.yaml,先看一眼 folders 的值:

folders:
    - map: ~/Code
      to: /home/vagrant/Code

folders 决定了 mac 与虚拟机的共享文件夹,以上预设值指:mac 的 ~/Code
目录与虚拟机的 /home/vagrant/Code 是映射的涉嫌。那时我们的 mac
上并从未 ~/Code【www.5929.com】支付环境搭建,开始使用。 这么些目录,自行新建即可。

#切换到用户目录
cd ~
#创建文件夹
mkdir -p code/lexing

陆 、安装虚拟机管理工具 Vagrant

  • 介绍:Vagrant 是用来管理虚拟机的工具,帮助当前主流的虚拟机系统如
    VirtualBox、VMware、AWS 等。Vagrant 的要紧成效是由此编制一个Vagrantfile 文件提供三个可陈设、可移植和复用的软件条件。

  • 下载:Vagrant
    官网下载

  • 版本:vagrant --version

  • 升迁:官网下载最新版本

创设应用

首先,通过命令行工具进入你的 Web 目录下:

Web 目录即 XAMPP 安装目录下的 htdocs 目录

小编们那里经过 Composer 成立项目,执行如下命令:

composer create-project laravel/laravel larablog --prefer-dist "5.1.*"

Laravel 5.1 LTS 是 Laravel 历史上首先个提供 LTS(长时间支撑 - long-time
support)
扶助的本子。由于不一致版本本性之间的分别那里没办法详细讲解,所以大家那里选择了
LTS 版,了然三个经久稳定的本子相对来说很有须要。

以下皆为按暗中同意搭建环境下的操作

编辑 /etc/hosts 文件

那儿大家再看一看 Homesstead.yaml 的 ip 和 sites 两项:

ip: "192.168.10.10"
......
sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
......

ip 是指 Homestead 的 ip,sites
则是钦命域名去对应虚拟机的文件目录。记住那三个值,相应的去 /etc/hosts
文件最终添加如以下格式内容即可。此外提一下 etc 文件夹使用 Fider
的前往文件夹,输入/etc/ 就足以进入了。

192.168.10.10  homestead.app

到那里准备工作就已经到位了,大家得以运行虚拟机了。

7、安装 Vagrant 盒子 Laravel Homestead

  • 介绍:

Laravel 为开发者提供了一套完善的份额级本地开发条件 —— Laravel
Homestead。 Laravel Homestead 实际是3个打包好各个 Laravel
开发所需软件和工具的 Vagrant 盒子。Homestead 包蕴了三个东西:

  • Homestead Vagrant Box 虚拟机盒子;
  • Homestead 管理脚本。

Homestead Vagrant Box 虚拟机盒子是提前打包好的 Vagrant Box虚拟机盒子,里面预装了装有你在采取 Laravel 开发时所要求接纳的各类软件。

Homestead 脚本使用 Ruby 和 Shell 脚本编写而成。原理是对 Vagrantfile
文件做定制。将从~/Homestead/Homestead.yaml 读取的配备消息,在 provision
时,解析为 Vagrant 命令并开展对虚拟机的安插。

  • 下载:

homestead
管理脚本

Homestead Vagrant
Box

  • 安装

    • 导入 Homestead Vagrant Box:把 Homestead Box解压到非中文路径,运营以下命令导入
      Box:vagrant box add metadata.json

    • 设置 homestead 管理脚本

> cd ~
> git clone https://github.com/laravel/homestead.git ~/Homestead 

进入 Homestead 目录,使用 Git 检出大家要求的 Homestead 版本:

> cd ~/Homestead
> git checkout v5.4.0

初始化 Homestead:

> bash init.sh

  • 版本:

    • Homestead Vagrant Box:vagrant box list
    • Homestead 管理脚本:(不领悟)
  • 升级:

更新 Homestead 只要求多个简易步骤。首先,运维 vagrant box update 更新
Vagrant box :

vagrant box update

接下来,更新 Homestead 源代码。假若你是运用 git
克隆仓库安装的,你可以在仓房目录下运营 git pull origin master 命令。

就算您是通过项目 composer.json 文件安装的,你需求创新 Homestead 倚重为
“laravel/homestead”: “^7″,然后运营:

composer update

布署项目的数量音讯

Laravel 安装后会在目录下生成名为 .env
的布局文件,经常大家不会该文件纳入版本管理工具(比如
git),大家在本土开发和生产服务器上差异环境的配备音讯也是分别于此。在档次目录下还有四个
.env.example 文件,是当做配置模板而留存。

让我们来编辑 .env 文件,设置数据库新闻:

本条文件里陈列的不在少数已经设定好的布署,默许用于位置开发条件,即便是生产环境,某些配置须求调动,那里大家最紧如若设置数据相关的配备。

找到如下一些,对故事情节展开变更:

DB_DATABASE=larablog
DB_USERNAME=root
DB_PASSWORD=

那里,数据库的称呼使用的是从头创设的 larablog,同时数据库密码为空。

一 、下载下来的Laravel项目,登录数据库

开端虚拟机

是因为进入虚拟机就都要用命令行干活了,那里推荐一下得以应用
iTerm
这几个命令行工具。
在mac命令行中输入
cd ~/Homestead,切换成homestead项目所在到目录,然后输入
vagrant up,运转画面如下图:

www.5929.com 4

起始虚拟机

8、配置 Homestead.yaml 文件

Homestead.yaml 文件在 ~/Homestead
文件夹里,是重中之重配备音讯文件,大家得以在此文件中安排 Homestead
的站点和数据库等音讯。

专断认同结构表明

多少个新装置的 Laravel 根目录包罗众八个文件夹:

app 目录,如您所料,那之中包蕴应用程序的基本代码。

bootstrap 目录包含了多少个框架运营跟自动加载设置的文本。以及在 cache
文件夹中蕴藏着一些框架在开行质量优化时所生成的文书。

config 目录,顾名思义,包括全数应用程序的安插文件。

database
目录包蕴数据库迁移与数据填充文件。如果您愿意的话,你也足以在此文件夹存放
SQLite 数据库。

public 目录包蕴了前者控制器和财富文件(图片、JavaScript、CSS,等等)。

resources 目录包括了视图、原始的财富文件 (LESS、SASS、CoffeeScript)
,以及语言包。

storage 目录包涵编译后的 Blade 模板、基于文件的
session、文件缓存和其它框架生成的文书。此文件夹分格成
appframework,及 logs 目录:

  • app 目录可用于存储应用程序使用的其余公文。
  • framework 目录被用于保存框架生成的公文及缓存。
  • logs 目录包蕴了应用程序的日记文件。

tests 目录包括自动化测试。这有三个现成的
PHPUnit 例子。

vendor 目录包括你的
Composer
依赖模块。

homestead / secret

SSH 登入虚拟机

开首成功将来,输入vagrant ssh 登陆到 vagrant 虚拟机,如下图所示:

www.5929.com 5

ssh登入虚拟机 注意命令行行首已经化为 vagrant

神速打开:

> atom ~/Homestead/Homestead.yaml

路由

在类型中 app/Http/routes.php
是用用程序的路由文件,请求的处理都经过此处展开进行安顿。

暗中认同如下:

<?php

Route::get('/', function () {
    return view('welcome');
});

此处配置的路由音信是,访问网站根路径是,突显视图 welcome 的内容。

视图 welcome 位于 resources/views/welcome.blade.php

贰 、通过vagrant驱动虚拟机

在虚拟机中设置 Laravel

事业有成登入后使用以下命令在虚拟机中应用 Composer(虚拟机中曾经预装好了)
下载 Laravel。当然,VPN 不可以停。假诺运用 VPN
依然要命的话大概须求挂国内镜像,网上有局部材质相比较陈旧,导致镜像网址
https 少了个 s,注意确认。
镜像用法点小编!

cd Code
composer create-project laravel/laravel Laravel --prefer-dist

此间切换来的 Code 目录就是预设与 mac 用户目录下 Code
文件夹映射的文书夹。Composer 会在 Code
里新建贰个 Laravel 文件夹,下载 Laravel 所需文件。也刚好和
Homesstead.yamlsites 指定的公文路径切合。
–prefer-dist: 意思是下载用于 distribution
的平稳版本,而不是付出中的版本。

下载完结后就大功告成了,浏览器里输入 homestead.app
(预设值的域名),出现以下画面就没难点了。

www.5929.com 6

Laravel 安装成功

到那边大家的条件就曾经搭建完结了。上边再补偿一下 Homestead
的关机等必须清楚的操作,还有就是大家要运转自个儿的种类必须要运用到的数据库连接和
Nginx 新增站点的操作。

配置项目

Homestead.yaml 里的陈设几乎可以分为以下几种:

  1. 虚拟机设置;
  2. SSH 秘钥登录配置;
  3. 共享文件夹配置;
  4. 站点布局;
  5. 数据库配置;
  6. 自定义变量。
运作项目

在档次所在目录下,通过命令行执行 php artisan serve
运维应用,操作如下:

➜  larablog php artisan serve
Laravel development server started on http://localhost:8000/

Laravel 的操纵台命令运维了 PHP
内置服务器,让大家可以不须要单独设立虚拟站点也可以访问应用。是一种很迅猛方便的运作格局。

说美赞臣(Meadjohnson)下,本人大家通过 XAMPP 内置的 Apache
也得以陈设虚拟站点举办访问,因为那种运营 PHP
内置服务器的措施相对更便宜,所以就一直不提及它。那里关键为了防止新手学习重大的始末时被部分麻烦事的题材所苦恼,中期本身可以精通哪些安插虚拟站点来运转应用,特别是当使用了
Homestead 这样的付出环境。

好了,如果您通过浏览器打开页面 http://localhost:8000/
将会看出如下页面:

www.5929.com 7

welcome

cd ~/Homestead && vagrant up

关闭/删除/重建 Homestead

Homestead
相当于另三个种类,所以自然也是1个功耗小棋手,所以不用的时候千万要记得关闭。以下是退出登陆并关闭虚拟机命令。

# 命令行工具退出对虚拟机系统登陆
eixt
# 虚拟机关机(位置要在 Homestead 文件夹)
vagrant halt

下次须求拔取时,从 vagrant up 步骤开端即可。

在测试中因为各个缘由促成虚拟机坏掉的时候,只需求对虚拟机进行删减、重建即可,卓殊便宜。

# 删除当前虚拟机(需要在 Homestead 文件夹下)
vagrant destroy --force
# 重建虚拟机
vagrant up

只顾删除指的是去除 vagrant up 建立的虚拟机,和删除全体 Homestead
是例外定义。要是完全不想采用 Homestead 了,想要删除可以参照上面链接。
删除 Homestead
与须知

虚拟机设置

Homestead 辅助大家对虚拟机的 IP,内存,CPU,虚拟机的暗中同意提供者进行布署。

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
尝试增添部分内容

接下去,大家品尝增添一些简易的始末,感受一下。

app/Http/routes.php 中添加四个路由配置:

Route::get('/hello/{name}', function($name) {
    return 'Hello '. $name;
});

咱俩安顿了1个路由用于出口欢迎内容。

访问 http://localhost:8000/hello/larablog 即可看到如下内容:

Hello larablog

叁 、Bash 登录虚拟机

接连数据库

其实在虚拟机中已经为 MySQL 和 Postgres 配置好了1个开箱即用的数额库
homestead 。Laravel 中的 .env 文件的专擅认同值正是利用了这些数据库。
数据库既然有了,那难点是怎么总是上吧?将来大家看一看刚才我们运维的
Laravel 项目原型中的 .env 文件中有关数据库的始末。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

可以观看接二连三指向了本机地址的 3306 端口,数据库名为
homestead,账号密码分别是 homestead /
secret。有了那些消息,大家就能三番五次上数据库了,相比不难的意况下大家只必要修改数据库名为我们协调创设的数目库名。
假如想要从您主机上的数据库客户端连接 MySQL 或 Postgres,可以经过
127.0.0.1 来行使端口 33060(MySQL) 或 54320(Postgres) 连接。
瞩目是端口是 33060,不是文本上的 3306。小编要好是使用 Workbench
连接数据库,少了1个 0 貌似连不上。

www.5929.com 8

行使 Workbench 连接数据库

SSH 秘钥登录配置

authorize
选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地方,虚拟机开头化时,此文件里的始末会被复制存储到虚拟机的
/home/vagrant/.ssh/authorized_keys文件中,从而完成 SSH 免密码登录。

authorize: ~/.ssh/id_rsa.pub

keys 是数组选项,填写的是本机的 SSH
私钥文件地点。虚拟机初叶化时,会将那里填写的具有 SSH
私钥文件复制到虚拟机的 /home/vagrant/.ssh/
文件夹中,从而使虚拟机能共享主机上的 SSH
私钥文件,使虚拟机具备同样主机的地位认证。

将公钥和私钥一起手拉手到虚拟机中:

keys:
    - ~/.ssh/id_rsa
    - ~/.ssh/id_rsa.pub

生成 SSH Key,先检查主机上是还是不是早已生成过 SSH Key:

> ls -al ~/.ssh

如果不设有 id_rsa 和
id_rsa.pub
的话,使用以下形式来生成 SSH Key,请将
your_email@example.com
替换为您的邮箱:

> ssh-keygen -t rsa -C "your_email@example.com"

一声令下行会指示让你内定秘钥的名目,按回车键将 SSH Key
保存到暗中同意文件名即可:

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

接下去会驾驭你为 SSH Key 设置密码,按回车键即可,暗中同意为空密码:

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

接下来一起 Enter 键即可,如图:

www.5929.com 9

image

再使用:

> ll ~/.ssh

查看的话,可旁观多少个文件:

SSH 秘钥的多少个文本:

  • id_rsa —— SSH 秘钥的 私钥 (Private Key)
  • id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)

模板引擎

在我们对 Laravel
营造利用有个基础精晓后,我们先从沙盘开端营造站点的结构。Laravel 使用了
Blade 作为模板引擎。

Blade 是 Laravel 所提供的二个简约且强大的模版引擎。相较于任何知名的
PHP 模板引擎,Blade 并不会限制你无法不得在视图中运用 PHP 代码。全数Blade 视图都会被编译缓存成一般的 PHP
代码,一贯到它们被更改甘休。那意味 Blade
基本不会对您的应用程序生成负担。

Blade 视图文件使用 .blade.php 做为扩张名,经常保存于
resources/views 文件夹内。

vagrant ssh 

新增站点

运用 Homestead 的一大好处就是不用去折腾 Nginx
配置文件。要添加额外的网站,只需将网站添加到您的 Homestead.yaml 文件中:

 sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: test.com
      to: /home/vagrant/Code/test/public

然后在 /etc/hosts 文件中添加相应内容:

192.168.10.10  homestead.app
192.168.10.10  test.com

接下来在 Homestead 文件夹下,使用 vagrant reload --provision
命令就水到渠成了。网上有部分材质说这几个命令会损毁仁同一视复创立现有的数据库,提出手动去修改
Niginx
的配备文件。作者自身试了弹指间是未曾那几个情状出现的,不亮堂是因为版本如故自个儿知道错误的原由。手动修改的法门本人也试了弹指间,不过在虚拟机里没有权限导致战败,暂风尚未消除。方法可以参考文末的链接。反正那一个题材官方文档也并没有提及,小编是不太想去折腾
Nginx 文件就是了。

除此以外给出多少个蕴涵本文未提及内容不过只怕需求利用到的链接:

手动配置nginx服务器、导入homestead.box,在该小说最终附录处。
设定 ssh
key,使用
ssh 登入前恐怕必要以此手续,作者本身是毫不,大概是由于从前使用 git
的时候曾经弄过了?
法定汉语文档

共享文件夹配置

因此 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。

  • map 对应的是大家本机的文本夹;
  • to 对应的是 Homestead 上的文书夹。

集合配置如下:

folders:
    - map: ~/Code
      to: /home/vagrant/Code

创建~/Code 文件夹:

> cd ~
> mkdir Code

基础布局

第贰,大家要为整个博客站点建立三个基础视图模板,整个站点视图基于那一个模板,继承该视图并体现。

在类型录下新建文件 resources/layouts/app.blade.php ,内容如下:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html" charset="utf-8" />
        <title>@yield('title') - larablog</title>

        @section('stylesheets')
            <link href="{{ asset('css/screen.css') }}" type="text/css" rel="stylesheet" />
        @show

        <link rel="shortcut icon" href="/favicon.ico" />
    </head>
    <body>

        <section id="wrapper">
            <header id="header">
                <div class="top">
                    @section('navigation')
                        <nav>
                            <ul class="navigation">
                                <li><a href="/">Home</a></li>
                                <li><a href="#">About</a></li>
                                <li><a href="#">Contact</a></li>
                            </ul>
                        </nav>
                    @show
                </div>

                <hgroup>
                    <h2>@yield('blog_title', '<a href="/">larablog</a>')</h2>
                    <h3>@yield('blog_tagline', '<a href="/">creating a blog in Laravel</a>')</h3>
                </hgroup>
            </header>

            <section class="main-col">
                @yield('body')
            </section>

            <aside class="sidebar">
                @include('partials.sidebar')
            </aside>

            <div id="footer">
                @section('footer')
                    Laravel blog tutorial
                @show
            </div>
        </section>

        @yield('javascripts')
    </body>
</html>

如若您细心看,会意识 @include('partials.sidebar')
那段代码,大家十二分引入了2个局地视图。

故此,还索要建立七个有个别页面
resources/views/partials/sidebar.blade.php,内容如下:

@section('sidebar')
    Sidebar content
@show

app.blade.php 文件中涵盖了古板的 HTML 语法。但是,请留意 @section
@yield 命令。正如其名,@section 命令定义三个内容区块,而 @yield
命令被用来 “显示钦赐区块” 的故事情节。

在暗中同意景况下,Blade 模板中的 {{ }} 表达式将会自动调用 PHP 的
htmlentities 函数,以免止 XSS
攻击。要是你不指望你的数量被转义,可以行使下列的语法:

Hello, {!! $name !!}.

越多模板相关的音讯请查看文档 Blade
Templates
,Blade
模板

stylesheets 内容区块中,我们引入了1个样式表:

<link href="{{ asset('css/screen.css') }}" type="text/css" rel="stylesheet" />

我们应用 asset 扶助函数来扭转样式能源遍地的途径,其函数成效如下:

// 根据目前请求的协定(HTTP 或 HTTPS)产生资源文件网址
asset('img/photo.jpg', $title, $attributes);

public/css/screen.css 的内容如下:

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
body { line-height: 1;font-family: Arial, Helvetica, sans-serif;font-size: 12px; width: 100%; height: 100%; color: #000; font-size: 14px; }
.clear { clear: both; }


#wrapper { margin: 10px auto; width: 1000px; }
#wrapper a { text-decoration: none; color: #F48A00; }
#wrapper span.highlight { color: #F48A00; }


#header { border-bottom: 1px solid #ccc; margin-bottom: 20px; }
#header .top { border-bottom: 1px solid #ccc; margin-bottom: 10px; }
#header ul.navigation { list-style: none; text-align: right; }
#header .navigation li { display: inline }
#header .navigation li a { display: inline-block; padding: 10px 15px; border-left: 1px solid #ccc; }
#header h2 { font-family: 'Irish Grover', cursive; font-size: 92px; text-align: center; line-height: 110px; }
#header h2 a { color: #000; }
#header h3 { text-align: center; font-family: 'La Belle Aurore', cursive; font-size: 24px; margin-bottom: 20px; font-weight: normal; }


.main-col { width: 700px; display: inline-block; float: left; border-right: 1px solid #ccc; padding: 20px; margin-bottom: 20px; }
.sidebar { width: 239px; padding: 10px; display: inline-block; }


.main-col a { color: #F48A00; }
.main-col h1,
.main-col h2
{ line-height: 1.2em; font-size: 32px; margin-bottom: 10px; font-weight: normal; color: #F48A00; }
.main-col p { line-height: 1.5em; margin-bottom: 20px; }


#footer { border-top: 1px solid #ccc; clear: both; text-align: center; padding: 10px; color: #aaa; }

④ 、VirtualBox登录虚拟机暗许账号密码:

站点布局

站点布局允许你在主机里,通过域名来访问虚拟机里的 Laravel 应用。如上边sites 配置所示,将 homestead.app 映射到二个 Laravel 项目标 public
目录上。

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

绑定 hosts:

动用编辑器直接打开文件: C:\Windows\System32\Drivers\etc\hosts
,在最终边插足以下一行:

192.168.10.10 homestead.app

首页视图

我们曾经确立好了基础的布局模板。之后大家依据布局视图建立的页面平日和控制器方法有关,比如博客突显页面会有对应的博客展现模板。

让我们来建立首页的控制器方法和与之相应的模版。

率先,建立控制器。在命令行中进入项目所在目录,执行如下命令:

php artisan make:controller PageController --plain

该命令会帮忙大家新建控制器文件
app/Http/Controllers/PageController.php,将其情节改动如下:

<?php

namespace App\Http\Controllers;

class PageController extends Controller
{

    public function index()
    {
        return view('pages.index');
    }

}

接下去,为那么些控制器方法成立视图,新建
resources/views/pages/index.blade.php,内容如下:

@extends('layouts.app')

@section('title', 'larablog')

@section('body')
    Blog homepage
@endsection

我们做到了首页视图,它继续自基础布局。接下来让我们为首页配置路由音讯,编辑
app/Http/routes.php,将首页的路由更改如下:

Route::get('/', 'PageController@index')->name('homepage');

那时,大家已为首页定义了控制器方法,利用模板继承打造了首页的视图,并配置了路由。
接下去便得以通过走访 http://localhost:8000/ 查看首页的实在突显效果。

vagrant / vagrant

数据库配置

为 Homestead 钦定数据库名称,那里运用暗许设置即可。

databases:
    - homestead

关于页面

本条片段的末段任务是开创3个静态页面。将演示如何将其余页面联系在同步,同时更是询问模板继承相关的用法。

五 、Nginx配置文件所在目录

自定义变量

假使您须求自定义一些在虚拟机上可以利用的自定义变量,则足以在 variables
中举办定义。

variables:
    - key: APP_ENV
      value: local

路由

当大家要创建3个页面的时候,首先都会设想该给它白手起家如何的路由消息。那里,大家开辟
app/Http/routes.php,添加如下内容:

Route::get('/about', 'PageController@about')->name('about');
vim /etc/nginx/nginx.conf
cd /etc/nginx/sites-available (所有站点配置文件)

运行 Vagrant

Vagrant 常用的一对命令行的行使:

命令行 说明
vagrant init 初始化 vagrant
vagrant up 启动 vagrant
vagrant halt 关闭 vagrant
vagrant ssh 通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant provision 重新应用更改 vagrant 配置
vagrant destroy 删除 vagrant

启动 Homestead:

> cd ~/Homestead && vagrant up

首先次运转时,Vagrant 会做以下这几件工作:

  • 以导入的 Homestead 虚拟机盒子为模板,新建一台虚拟机;
  • 并听从 Homestead.yaml 里的安插消息,对那台新建的虚拟机举办布局;
  • 配置完结后运维虚拟机。

事业有成运转后,照旧在 ~/Homestead 目录中,通过以下命令来 SSH 登录 Homestead
虚拟机中:

> vagrant ssh

退出虚拟机:

> exit

关闭 Homestead:

`> vagrant halt

控制器

开辟新建的文件
app/Http/Controllers/PageController.php,添加新的控制器方法:

public function about()
{
    return view('pages.about');
}

陆 、Laravel内置命令行使用

视图

关于视图,大家创设一个新的公文位于
resources/views/pages/about.blade.php,内容如下:

@extends('layouts.app')

@section('title', 'About')

@section('body')
    <header>
        <h1>About larablog</h1>
    </header>
    <article>
        <p>Donec imperdiet ante sed diam consequat et dictum erat faucibus. Aliquam sit
        amet vehicula leo. Morbi urna dui, tempor ac posuere et, rutrum at dui.
        Curabitur neque quam, ultricies ut imperdiet id, ornare varius arcu. Ut congue
        urna sit amet tellus malesuada nec elementum risus molestie. Donec gravida
        tellus sed tortor adipiscing fringilla. Donec nulla mauris, mollis egestas
        condimentum laoreet, lacinia vel lorem. Morbi vitae justo sit amet felis
        vehicula commodo a placerat lacus. Mauris at est elit, nec vehicula urna. Duis a
        lacus nisl. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
        posuere cubilia Curae.</p>
    </article>
@endsection

那些页面并没有分外的地点,大家只是模仿了一部分页面文字内容,通过控制器方法渲染了它。

透过命令行指令切换来Laravel项目标根目录下,命令格局为:php
artisan (+具体命令)

页面链接

大家前几日的有关页面可以日常访问了,你可以由此
http://localhost:8000/about 访问。
时下的话,大家尚无在博客上添加任何跟它有关的拜访链接,用户还得想我们一致输入完整的网址。
接下去让大家抬高访问那几个页面链接,同时了然怎么样通过路由来生成
ULX570L。尽量不去行使如下的格局去链接页面:

<a href="/contact">Contact</a>

这是因而硬连接的点子与任何页面联系在一齐。那很广泛,但这么的做法存在贰个标题就是,
如若您想在其余时候改变联系人页面的岗位,您将必须找到全数对硬链接的引用并转移它们。

比较好的做法是应用 Laravel 中提供的法门来生成路径和 U奥迪Q5L:

// 产生给定路由名称网址
route($route, $parameters, $absolute = true);

// 产生给定路径的完整网址
url('path', $parameters = array(), $secure = null);

略知一二那或多或少自此,让大家找到布局模板 resources/views/app.blade.php
页面。

将导航 navigation 内容区块的内容改动如下:

<nav>
    <ul class="navigation">
        <li><a href="{{ route('homepage') }}">Home</a></li>
        <li><a href="{{ route('about') }}">About</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
</nav>

最后,更新 logo 的跳转链接,同样依旧放在
resources/views/app.blade.php 文件中:

<hgroup>
    <h2>@section('blog_title')<a href="{{ route('homepage') }}">larablog</a>@show</h2>
    <h3>@section('blog_tagline')<a href="{{ route('homepage') }}">creating a blog in Laravel</a>@show</h3>
</hgroup>

今昔刷新你的浏览器页面,将会见到首页和关于页面如你所期望的链接在协同,并不荒谬呈现。

例如:

总结

咱俩早就介绍了 Laravel
应用程序的着力内容,包蕴安排和运维应用程序。同时也探索了 Laravel
程序私行的中央构件原理,包蕴路由、控制器、模板引擎的选拔。

接下去咱们将关心怎样创立联系人页面。该页面比“关于”页面要稍稍尖锐一些,因为它同意用户提交表单与服务器交互。下一章讲介绍包蕴表单提交、验证、处理在内的连锁内容。

(1)、清除视图缓存  

php artisan view:clear

(2)、清除运维缓存

php artisan cache:clear

(3)、清除配置缓存

php artisan config:clear

七 、配置多站点

www.5929.com,经过homestead.yaml配置多站点,须要执行:

vagrant provision

此操作会重构数据库,并不引进。可用以下命令来代表,该命令可应用性的更改。

 

vagrant reload --provision

抑或登录虚拟机,按nginx配置多站点的主意来进展。

上述措施都急需配置hosts文件,hosts文件的义务及意义,请参考:

 https://www.cnblogs.com/whx-blogs/p/9485445.html

 

叁 、下载安装使用外人的laravel项目

壹 、参考以下链接:

  

 

待续……

 

Leave a Comment.