带你入门Laravel 5.1

八个实在的例证

让大家来看OCLX570八个更实用的事例。在本例中,大家尝试在图像中找到二个格式化的电话号码。

造访下目生机勃勃幅图,上传到你的行使:

澳门新浦京电子游戏 1

结果应该如下:

:ii‘i
Customer Service Helplines

British Airways Helpline

09040 490 541

它并未有挑出本文文本,那是大家能料到的,因为图片品质太差。尽管识别了编号然而也可能有一点“噪声”。

为了提取相关音讯,有如下几件事大家能够做。

您能够让Tesseract 把它的结果节制在早晚的字符集内,所以我们报告它只回去数字型的内容代码如下:

$tesseract->setWhitelist(range(0,9));

但诸有此类有个难点。它日常把非数字字符解释成数字而非忽视它们。比方“Bob”恐怕被分解称数字“808”。

就此我们接收两步管理。

  1. 尝试提取恐怕是电话号码的数字串。
  2. 用二个库轮番评估每一个候选字符,风华正茂旦找到八个灵光电话号码则截止。

第一步,我们得以用四个着力的正则表达式。能够用Google电话库来鲜明二个数字串是或不是是合法电话号码。

备考:作者已在Sitepoint 写过有关Google电话库的源委。

让我们给Google电话库增多叁个PHP 端口,修改composer.json,增添:

"giggsey/libphonenumber-for-php": "~7.0"

别忘了晋级:

composer update

几天前我们得以写多个函数,输入为三个字符串,尝试提取一个官方的电话号码

/**
 * Parse a string, trying to find a valid telephone number. As soon as it finds a 
 * valid number, it'll return it in E1624 format. If it can't find any, it'll 
 * simply return NULL.
 * 
 * @param  string   $text           The string to parse
 * @param  string   $country_code   The two digit country code to use as a "hint"
 * @return string | NULL
 */
function findPhoneNumber($text, $country_code = 'GB') {

  // Get an instance of Google's libphonenumber
  $phoneUtil = libphonenumberPhoneNumberUtil::getInstance();

  // Use a simple regular expression to try and find candidate phone numbers
  preg_match_all('/(+d+)?s*((d+))?([s-]?d+)+/', $text, $matches);

  // Iterate through the matches
  foreach ($matches as $match) {

    foreach ($match as $value) {

      try {

        // Attempt to parse the number
        $number = $phoneUtil->parse(trim($value), $country_code);    

        // Just because we parsed it successfully, doesn't make it vald - so check it
        if ($phoneUtil->isValidNumber($number)) {

          // We've found a telephone number. Format using E.164, and exit
          return $phoneUtil->format($number, libphonenumberPhoneNumberFormat::E164);

        }

      } catch (libphonenumberNumberParseException $e) {

        // Ignore silently; getting here simply means we found something that isn't a phone number

      }

    }
  }

  return null;

}

指望注释能表明这一个函数在干什么。注意纵然那么些库未能从字符串中深入分析出三个官方的电话号码它会抛出一个丰盛。那不是怎样难点;大家直接忽视它并世袭下三个候选字符。

假诺我们找到叁个电话号码,大家以E.164的情势重临它。那提供了三个国际化的号子,我们得以用来打电话或许发送SMS。

今昔大家能够如下使用:

$text = $tesseract->recognize();

$number = findPhoneNumber($text, 'GB');

大家须求给Google电话库提供贰个唤起来注明那些编号是哪位国家的。你也足以改成你和谐的国家。

大家把具有的这一个包裹在叁个新的路由中:

$app->post('/identify-telephone-number', function(Request $request) use ($app) { 

  // Grab the uploaded file
  $file = $request->files->get('upload'); 

  // Extract some information about the uploaded file
  $info = new SplFileInfo($file->getClientOriginalName());

  // Create a quasi-random filename
  $filename = sprintf('%d.%s', time(), $info->getExtension());

  // Copy the file
  $file->move(__DIR__.'/../uploads', $filename); 

  // Instantiate the Tessearct library
  $tesseract = new TesseractOCR(__DIR__ . '/../uploads/' . $filename);

  // Perform OCR on the uploaded image
  $text = $tesseract->recognize();

  $number = findPhoneNumber($text, 'GB');

  return $app->json(
    [
      'number'     =>  $number,
    ]
  );

});

我们今后有简要的API的根底—-也正是JSON响应-—大家得以用来作为三个概括的运动使用的后端,这款应用能够用来从意气风发幅图中增加关系人,打电话。

万生龙活虎您还在纠结应该接纳哪叁个框架来扩充开拓来讲,Laravel
相对是不二之选,Laravel
飞速支付的风味以至幕后丰富的恢弘能够让你把越多的肥力放在成立上并不是始终的重复。

Hello Laravel

接下去把 Laravel 安排到虚构机中去,就跟达成 hello world
同样,会稍微复杂一丢丢。

配置Vagrant

为了安插Vagrant以跟上本学科,实现如下步骤。只怕你也足以简简单单的从Github获得代码。

 

输入以下命令来下载Homestead Improved Vagrant安插到叁个名称为orc的文书夹:

git clone https://github.com/Swader/homestead_improved ocr

将Nginx配置文件Homestead.yml中的以下代码:

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

修改成:

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

如出生龙活虎辙要在hosts文件中增加

192.168.10.10       homestead.app

本课程将从际遇布署起初,将路由,调控器等中央知识点各种在继续的试验中开展教学和施行,力求让学习者通过投机做试验来越来越快上手
Laravel 开垦,也能在支付的长河中体味 Laravel 的艺术感。

初始 Homestead 虚构主机

执行vagrant up前还需求再做一些小退换,技术确定保证养身体康运维。

打开C:Users32780.vagrant.dboxeslaravel-VAGRANTSLASH-homestead目录

请把 32780 替换来你眼下登陆 windows 系统的客商名

七个转移:

  1. 把公文夹0更正当前
    Homestead 的本子号5.1.0
  2. 添加 metadata_url 文件,内容只增添https://app.vagrantup.com/laravel/boxes/homestead就能够,不要存在任何多余的空格字符。

接下去在C:workspacehomestead目录下试行vagrant up开发银行虚构主机。

澳门新浦京电子游戏 2

安装Tesseract

下一步是设置Tesseract

因为Homestead Improved 使用debian,大家能够在接受vagrant ssh登录设想机后采用apt-get 来设置它,简单运转如下命令:

sudo apt-get install tesseract-ocr

正如上文提到的,在the README中有其余的操作系统对应教程。

除开,Laravel
在我国的读书材质和社区也越来越多,你可以比较轻便的在网络找到各个 Laravel
中文学习课程。

配置 Homestead.yaml

新增Gavin件同步目录

folders:下增多如下代码

    - map: C:/workspace/api-tutorial-source      to: /mnt/www/api.ibrand.test

把源码目录映射同步到虚构主机上的/mnt/www/api.ibrand.test目录下。

扩展设想主机

sites:下增多如下代码

    - map: api.ibrand.test      to: /mnt/www/api.ibrand.test/public

请小心文件中的空白处必得是空格键打出去的空格,不可用 Tab 键。

拉长实现后,Homestead.yaml文件内容如下:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsafolders:    - map: C:/workspace/code      to: /home/vagrant/code    - map: C:/workspace/api-tutorial-source      to: /mnt/www/api.ibrand.testsites:    - map: homestead.test      to: /home/vagrant/code    - map: api.ibrand.test      to: /mnt/www/api.ibrand.test/publicdatabases:    - homestead

澳门新浦京电子游戏 3

Laravel 的代码简洁、富于表明力,能够说是为 WEB 音乐大师创建的 PHP 框架,在
2012 年 6 月正式颁发了首个本子。

终极一步

浏览器输入http://api.ibrand.test

澳门新浦京电子游戏 4

安装

本学科供给您足足对 HTML、CSS、PHP
相关文化有根基的摸底,假如你对那些底工知识不是很掌握,这里推荐的多少个根基教程:

合併开荒境况

为了确定保障在就学和专门的学业进程中防止因为开荒条件不一样样而以致各式各样的标题,Laravel
官方为了我们提供了二个到家的费用景况 Laravel
Homestead,让大家无需再当地安装 PHP,web 服务器或其余服务软件。

Homestead 能够在任何 Windows、Mac 或 Linux 系统上运转,它归纳了 Nginx
Web 服务器、PHP 7.1、MySQL、PostgresSQL、Redis、Memcached、Node 以至支付
laravel 应用所需的东西。

Homestead 内置软件:

  • Ubuntu 16.04
  • Git
  • PHP 7.1
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • 澳门新浦京电子游戏 ,Node (带有 Yarn、Bower、Grunt 和 Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • ngrok

对此初读书人相关的软件和知识点大概还不太领悟,不过不供给忧郁,在那起彼伏的科目中会时有时无使用况且会有相应的章节举行详尽的上课。

本次种类教程,大家将接收这段时间风靡的版本 Homestead 5.1.0 + vagrant 2.0.1 +
VirtualBox 5.2.6 + Win10 来张开付出景况的搭建。

那套软件条件在 Win7 上也足以健康使用。

相关的软件大家曾经整治在百度网盘上,犹如下软件:

  1. Git:对源码进行版本管理。
  2. TortoiseGit:对于初学者不熟练命令时,能够运用该可视化学工业具代理命令来处理源码。
  3. SourceTreeSetup:图形化 git 管理 + Git Flow 工具
  4. Xshell:安全的顶峰处理软件,通过 SSH 来报到 Linux 系统。
  5. VirtualBox: 设想机软件
  6. Vagrant:创造虚构化开采条件工具
  7. homestead-virtualbox5.1.0: Homestead VirtualBox 下的虚构机文件。
  8. WinSCP:
    WinSCP是贰个Windows意况下采纳SSH的开源图形化SFTP顾客端。同期协助SCP公约。它的机要成效正是在本地与长途计算机间安全的复制文件。
  9. Notepad++: 是
    Windows操作系统下的生机勃勃套相比好用文件编辑器,不唯有有语法高亮度突显,也可以有语法折叠效率,况且扶植宏以至扩张幼功效的外挂模组。

以上软件可在百度网盘上开展下载,链接:

提出安装前后相继顺序:Git->TortoiseGit->Xshell->SourceTreeSetup->VirtualBox->Vagrant->Homestead

除去 Homestead
外,其余软件蠢蛋式下一步安装下来就能够,一些软件的利用在一而再再而三章节也会做连锁介绍。

根本表明:因为篇幅有限,文中牵涉的软件暂不会进展详尽的牵线,该小说最终目标是确定保证初大方依照操作后,可以得逞创立开拓条件。
Vagrant 的片段常用命令,可以通过 Google 或百度寻找相关小说。

安插应用程序

小编们将运用这个库来用PHP使用Tesseract。

大家将创立二个极简的web应用:客商上传图片,并查看OCQX56管理结果。我们将应用Silex microframework 来完结。不要牵记您不熟习它,那些应用本人很简单。

深深记住那篇教程的有着代码都能在Github上获得。

先是步是用Composer来安装信任文件:

composer require silex/silex twig/twig thiagoalessio/tesseract_ocr:dev-master

然后创立多个公文夹:

- public
- uploads
- views

我们须求上传表单(viewsindex.twig):

<html>
  <head>
    <title>OCR</title>
  </head>
  <body>

    <form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="upload">
      <input type="submit">
    </form>

  </body>
</html>

亟待二个结实显示页面(viewsresults.twig)::

<html>
  <head>
    <title>OCR</title>
  </head>
  <body>

    <h2>Results</h2>

    <textarea cols="50" rows="10">{{ text }}</textarea>

    <hr>

    <a href="/">← Go back</a>

  </body>
</html>

现今创立skeleton Silex app (publicindex.php):

<?php 

require __DIR__.'/../vendor/autoload.php'; 

use SymfonyComponentHttpFoundationRequest; 

$app = new SilexApplication(); 

$app->register(new SilexProviderTwigServiceProvider(), [
  'twig.path' => __DIR__.'/../views',
]);

$app['debug'] = true; 

$app->get('/', function() use ($app) { 

  return $app['twig']->render('index.twig');

}); 

$app->post('/', function(Request $request) use ($app) { 

    // TODO

}); 

$app->run();

设若您在浏览器访问这一个利用,你应有能看见一个文本上传表单。就算您在采纳Homestead Improved Vagrant,你可以通过如下链接访谈该利用。

http://homestead.app/

下一步是兑现文件上传。Silex使得这项职业特简单;$request包蕴多个files组件,我们能够透过它来博取自由上传的公文,代码:

// Grab the uploaded file
$file = $request->files->get('upload'); 

// Extract some information about the uploaded file
$info = new SplFileInfo($file->getClientOriginalName());

// Create a quasi-random filename
$filename = sprintf('%d.%s', time(), $info->getExtension());

// Copy the file
$file->move(__DIR__.'/../uploads', $filename);

如你所见,大家发出随机文件名来压缩文件名冲突—但在本金和利息用中,我们怎么命名文件是不重大的。大器晚成旦我们在本地有黄金时代份文件拷贝,我们就足以发生贰个Tessearct库的实例,然后进行剖释:

// Instantiate the Tessearct library
$tesseract = new TesseractOCR(__DIR__ . '/../uploads/' . $filename);

在图像上落实OCHighlander特别轻便,我们只需调用方法recognize(卡塔尔。

// Perform OCR on the uploaded image
$text = $tesseract->recognize();

最后大家把结果体现到结果页面:

return $app['twig']->render(
    'results.twig',
    [
        'text'  =>  $text,
    ]
);

在有的图纸上尝试,看看它功能怎么着。借使您有不便,能够参见这个

由于 Laravel 较高的学习秘技,本底蕴教程或许并不适用于零功底的开采职员。

总结

进度微微有一点点复杂,不过搭建好那个遇到足以制止后续再支付进度中的非常多主题材料,非常是支付到位后布署到生育服务器,差比相当少是不会有包容性的难题。那点在
iBrand 产物相继顾客的生育景况上曾经得到验证,而且那也是 Laravel
官方推荐的开辟方式,所以值得我们去调控。

对此刚入门的初学者的话也许不会用 vagrant
,也不懂个中的原理,因为篇幅原因不能够对具备的细节表明到位,只须要一时知道现身的下令的效果和含义,越多的用法能够透过和煦的研商去学学驾驭,况兼持续教程中也会日渐讲到越来越多的知识点。

总结

OC本田UR-V有那多少个运用——并且相当轻巧整合进你的施用(超过你的预料)。本文中,大家设置了开源OCEvoque包;并行使叁个封装器库,把它整合进多个很简单的PHP应用。大家只是触及到了具备希望的表面,希望那能给你有些主见,帮您想一想怎么在您自身的利用中利用OCTiguan。

澳门新浦京电子游戏 5图1-2
Google Trends 不认为奇PHP框架比较

添加 hosts

用 Nodepad++ 打开C:WindowsSystem32driversetchosts文件,增加如下代码:

192.168.10.10api.ibrand.test

准备

为了让事情变得简单和千篇一律的, 大家将应用设想机(本文使用Vagrant)来运维应用程序,那会提到到安装PHP和Nginx,咱们将安装Tesseract来分别演示进度。倘诺您想本人依据现存Debian-based系统装置苔丝eract,你可以跳过下一些—或许查看the README来得到在其余*nix上,Mac系统也许Windows的设置指点.

提出花一些日子将上述课程进行一定的求学,不须要完全调节,只需求对相应的功底知识有三个大致的问询就可以。

只差一步

浏览器输入http://homestead.test

澳门新浦京电子游戏 6

Tesseract是三个能贯彻OCENVISION的开源项目。你能在*Nix系统,Mac系统和Windows系统上运营这几个类别,可是生龙活虎旦使用三个库,大家就能够在PHP项目中央银行使它了。本课程的指标是教你哪些使用。

终结至本学科发表,最新的 LTS 版本是 5.1,最新的肖似版本是
5.3,下二个LTS版本是 5.5,安插将于二零一七年的5月公布,所以本课程选用 LTS
版本 5.1 来进行学习,在下二个 LTS 版本发表前,你都得以完全投身于 5.1
版本的上学中。

Hello World

测量试验并定制安装

大家将利用PHP包装,不过以前我们得以在指令行测量检验Tesseract。

先是保存其黄金时代图片sign.png

在设想机中,执行如下命令来从图片中读取文字

tesseract sign.png out

那将要当下文件夹创立三个文书:out.txt里面应该有单词:CAUTION

现行反革命尝试sign2.jpg

tesseract sign2.jpg out

这一次发生单词Einbahnstral’ie。很左近但不得法—纵然图像中的文字分外清楚,它未能识别字符ß。

为了获使Tesseract常常读取字符串,大家供给安装一些新的言语文件—就本例来讲,加泰罗尼亚语。

此处有二个周全的可用语言文件列表,但大家直接下载所需的公文:

wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.deu.tar.gz

解压:

tar zxvf tesseract-ocr-3.02.deu.tar.gz

接下来把公文复制到如下目录:

/usr/share/tesseract-ocr/tessdata

例如

cp deu-frak.traineddata /usr/share/tesseract-ocr/tessdata
cp deu.traineddata /usr/share/tesseract-ocr/tessdata

近年来大家再度奉行原本的通令不过要用 –l

tesseract sign2.jpg out -l deu

“deu” 是阿拉伯语的 ISO 639-3码.

这一次,文字应该是Einbahnstraße(准确的)。

能够由此重新上述进程来使用大肆语言。

由此本底子教程,你将学到如何用 Lavavel
完毕网址中的底子功能和基本操作,那么些文化将为您现在的愈发开辟奠定下深厚的功底。

下载源码

课程中的示例源码我们坐落于了 github
上,地址:…

c:workspace目录下右键Git Bash Here,展开命令窗口,施行如下代码来clone源码。

gitclonehttps://github.com/ibrandcc/api-tutorial-source.git

澳门新浦京电子游戏 7

试行完毕后会多出一个api-tutorial-source目录。

Optical Character Recognition (OCKuga卡塔尔即光学字符辨识是把打字与印刷文本调换成四个数字代表的进度。它有有滋有味的骨子里应用–从数字化印制书籍、创立发票的电子记录,到车牌识别以至破解基于图像的验证码。

用作歌唱家,小编更愿意把本人点儿的人命用在文章上,实际不是对工具的前行的求学上。

添加 Homestead Box

在C盘下新建workspace文件夹,况兼把下载好的homestead-virtualbox5.1.0.box文本拷贝到该目录下,并且右键选拔Git Bash Here在当前目录张开命令窗口。

澳门新浦京电子游戏 8

通过vagrant box add一声令下来产生Homestead box的添加

$ vagrant --version# Vagrant 2.0.1  查看 vagrant 版本,表示 vagrant 已经正常安装$ vagrant box add laravel/homestead homestead-virtualbox5.1.0.box

实行结果如下图所示:

澳门新浦京电子游戏 9

本文由码农网 –
邱康原创翻译,转载请看清文末的转发要求,招待到场大家的付费投稿安排!

图1-2 Google Trends 何足为奇PHP框架比较

陈设 Xshell 步入虚构机

启航早前安装的Xshell软件

澳门新浦京电子游戏 10

点击新建,增多新的对话配置

  • 名称:homestead
  • 主机:192.168.10.10

澳门新浦京电子游戏 11

点击左侧的用户身份验证,顾客名和密码都输入:vagrant

澳门新浦京电子游戏 12

点击鲜明开关,保存设置。

澳门新浦京电子游戏 13

点击连接按键,实行对话连接,第一遍三番两次会弹出如下指示框,选取接受并保存

澳门新浦京电子游戏 14

操作完结后,会中标登陆设想机,登录成功后举行sudo bash一声令下切换成root账号

澳门新浦京电子游戏 15

本课程将从情况布署早先,对路由、调节器等知识点举办批注和执行,力求让学习者通过和煦做试验来更快上手
Laravel 开拓,也能在付出的进程中体味 Laravel
的艺术感。何况最后还将经过30分钟教你搭建叁个小巧玲珑博客,对Laravel底蕴知识进行追思通超过实际行加强回想并加固学习。

添加 index.html

C:workspacecode目录下增加index.html文本,内容黄金时代经三个归纳的hello world就能够。创设成功后,文件会自行同步到Homestead设想主机上。

3.Homestead 安装

Homestead的安装差非常少分为以下步骤:

静心:实验楼为了最大程度减少学习诀要,已经在在线情形中装置好了 Laravel
运营需求的环境,大家在做尝试的进度中得以重点将核心先放在学习代码上,Homestead
的装置进度大致精晓一下就好,以往在投机的系统上扩充 Laravel
开辟的时候可以再回过头来学习。

  • VirtualBox 安装
  • Vagrant 安装
  • 添加 Homestead box 到 vagrant
  • 安装 Homestead
  • 配置 Homestead.yaml 文件

3.1 VirtualBox 安装

拜会 VirtualBox 官方网址,下载当前操作系统相呼应的安装包。

下载达成后,双击展开遵照提醒实现安装就可以。

3.2 Vagrant 安装

做客 Vagrant 官方网址,下载当前操作系统相对应的安装包。

下载完结后,双击张开依照提醒达成安装就能够。

3.3 添加 Homestead box 到 vagrant

先是展开命令行

留意:Windows 顾客请不要使用系统自带的命令行,能够采取 cmder 或 Git 的
Git-bash。

进入 ~ 目录(该目录在 C:Users您的微Computer客商名)

cd ~

输入加多 Homestead box 的一声令下:

vagrant box add laravel/homestead

假设地点的指令运维战败,代表你使用的大概是旧版的
Vagrant,须要在指令行后补上下载包的欧洲经济共同体 U奥迪Q5L:

vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead

box
的下载会费用你或多或少时间,具体的下载时间长度由互联网速度调整,由于国内互联网的原由,box
安装有望会失利,这个时候只可以通过手动来增多 box 了。

手动增添的话推荐那篇小说:如何在 Windows 上设置 Laravel Homestead。

4. 安装Homestead

增添完 Homestead box 之后还亟需展开一些安排来变成 Homestead 的安装。

第大器晚成,请明显你的微处理机上设置了Git

  • 1卡塔尔国Windows 系统直接下载安装 Git for Windows

  • 2卡塔尔国Mac 顾客可经过设置 Xcode 命令行来飞速安装 Git:

xcode-select --install
  • 3State of QatarLinux 系统使用以下命令急忙安装:

sudo yum install gitsudo apt-get install git //Debian Linux

下一场,张开命令行,步入~目录

cd ~

经过仿制代码宾馆的格局来安装 Homestead:

git clone https://github.com/laravel/homestead.git Homestead

仿造完 Homestead 的代码旅馆后,会扭转一个Homestead文件夹,步入该目录

cd ~/Homestead

执行 bash init.sh命令来成立
Homestead.yaml布署文件,Homestead.yaml文件将会被停放在你的~/.homestead
目录中

bash init.sh

最终,大家要求用编辑器张开 Homestead.yaml文本对 Homestead 实行配置。

编辑器选择:不要用 windows
的记事本作为代码编辑器,这里推荐一些常用编辑器:

  • 轻量编辑器:Atom、Sublime、Notepad++

  • 集成开荒蒙受编辑器:PHPstorm

5. 设置 Homestead.yaml 文件

用编辑展开~/.homestead/Homestead.yaml 文件。

Homestead.yaml中的最早代码如下:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys: - ~/.ssh/id_rsafolders: - map: ~/Code to: /home/vagrant/Codesites: - map: homestead.app to: /home/vagrant/Code/Laravel/publicdatabases: - homesteadvariables: - key: APP_ENV value: local# blackfire:# - id: foo# token: bar# client-id: foo# client-token: bar# ports:# - send: 93000# to: 9300# - send: 7777# to: 777# protocol: udp

上边大家对该文件中的代码每一种举办分析配置:

最上边是对虚拟机的
ip,内部存款和储蓄器,CPU,设想机的暗许提供者的安排,这里无需改进。

ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualbox

Homestead 供给用 ssh 格局连接设想机,ssh 连接需求安装秘钥,能够看出默许的
key 应该是坐落于~/.ssh文本夹下的,这里也不供给做改进。

authorize: ~/.ssh/id_rsa.pubkeys: - ~/.ssh/id_rsa

ssh key 须要我们手动生成,假若你以前已经用过ssh连接,这一步能够跳过。

经过运营上面不可一世来生成 ssh key:

ssh-keygen -t rsa -C "your_email@example.com"Generating public/private rsa key pair.

现身上面提示音信时,按回车键将 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]

接轨来到 Homestead.yaml 文件的布署,下边包车型地铁 folders
是安装代码文件地点和虚构机中国共产党享文件之处的。

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

举个例子大家改正成如下设置,我们只要 D 盘有二个名称为 laravel
的文本夹,特地用来存放 laravel 的系列。

folders: - map: D:/laravel to: /home/vagrant/Code

那样设置之后 D 盘的 laravel 文件夹就和 设想机中的那个Code 文件夹分享了。

然后是映射域名的陈设,如下边 sites 配置所示,将 homestead.app 映射到叁个Laravel 项指标 public 文件夹下,通过增添那行配置之后,假如你的 Code
文件夹中有叁个叫 Laravel 的类型,则足以由此
来访谈该 Laravel 应用。

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

除了,你还须求将以此域名增添到 hosts 文件中,Windows
系统下该文件放在 C:WindowsSystem32driversetchosts,Mac 或 Linux
系统 host 文件放在 /etc/hosts 或然 /private/etc/hosts
文件夹下,增多格局:张开 hosts 文件,在最下边增添如下代码:

192.168.10.10 homestead.app

下一场是数据库设置:

databases: - homestead

数据库的安装和 sites
的装置是应和的,例如你有三个等级次序,对应设置相应像这么:

sites: - map: myweb.app to: /home/vagrant/Code/myweb/public - map: myweb2.app to: /home/vagrant/Code/myweb2/publicdatabases: - myweb - myweb2

最后,如若您须要定义一些在设想机上得以选用的自定义变量,则能够在
variables 中开展定义。

variables: - key: APP_ENV value: local

综上,叁个装置好的 Homestead.yaml 文件代码示例:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys: - ~/.ssh/id_rsafolders: - map: D:laravel to: /home/vagrant/Codesites: - map: homestead.app to: /home/vagrant/Code/laravel/public - map: myweb.app to: /home/vagrant/Code/myweb/public - map: myweb2.app to: /home/vagrant/Code/myweb2/publicdatabases: - homestead - myweb - myweb2variables: - key: APP_ENV value: local# blackfire:# - id: foo# token: bar# client-id: foo# client-token: bar# ports:# - send: 93000# to: 9300# - send: 7777# to: 777# protocol: udp

6.起步设想机

进入 Homestead 目录:

cd ~/Homestead

开首虚构机:

vagrant up

设想机运营后,可以透过 ssh 登陆虚构机举行操作:

vagrant ssh

除此而外,每一回换代 Homestead.yaml
文件夹后,须求施行上边发号出令让新的铺排生效:

vagrant provision

最后,关闭设想机能够施行上面趾高气扬:

vagrant halt

7.下载 Laravel 源代码

时至前不久,大家的条件便是配置完全了,大家只要求再下载生机勃勃份 Laravel
源代码就能够张开开采了。

下载源代码,大家选用 composer

Composer 是 PHP
中用来管理重视(dependency)关系的工具。你能够在和谐的项目中宣示所依据的表面工具库(libraries),Composer
会帮您安装这几个信赖的库文件。Composer 在 Homestead
中黄金年代度安装好了,大家可以直接运用。

第大器晚成大家要求运转虚构机,并登入设想机:

cd ~/Homestead

vagrant up

vagrant ssh

下一场,走入Code目录,并动用 composer 来创立多个 Laravel 应用:

cd Code

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

鉴于国内网络原因,有时候 Composer 安装会费用超级多时日,以至出错。

此处推荐应用 Packagist / Composer 中中原人民共和国全量镜像 来加速 Composer
的操作。

我们只须要矫正 Composer 的全局配置文件就可以:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

设若没非常来讲,展开浏览器,访谈
你能看出如下图所示分界面,那是 Laravel 为大家生成默许分界面。

澳门新浦京电子游戏 16此间输入图片的描述

于今,大家的 Laravel 项目就创办好了。

想要查看后学章节的剧情,点击【Laravel 5.1
功底教程】就能够及时在线查看并就学了,更有在线支付条件能够随即跟着出手操作学习。

配置 Homestead

推行如下命令:

$ git clone https://github.com/laravel/homestead.git$ cd homestead$ bash init.sh

实行结果如下图所示:

澳门新浦京电子游戏 17

举办到位后会生成Homestead.yaml文本,使用
Nodepad++ 展开该配置文件,相关计划的成效早已通过# +文字的方式进行了说明,如下所示:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualbox# 虚拟机配置,包含了IP地址,内存,cpu,以及驱动类型(virtualbox)authorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsa# ssh 密钥文件,用来直接登录虚拟主机,后面也会用到此密钥,在后面从 Github 拉取源码时会用到folders:    - map: ~/code      to: /home/vagrant/code# 文件映射目录,通过该配置会把 Windows 系统下的文件自动同步到虚拟机上。`~/code` 代表当前系统用户目录下的 `code` 目录,如示例中系统的路径就是`C:Users32780code`,`32780`是当前登录系统的用户名称。 sites:    - map: homestead.test      to: /home/vagrant/code/public      # 站点配置,会自动生成 Laravel 的 nginx 虚拟主机文件。databases:    - homestead# 数据库配置,在后续的过程中不是很常用

在终极大家为了落实三个大致的hello world,请改为如下配置:

---ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsafolders:    - map: C:/workspace/code      to: /home/vagrant/codesites:    - map: homestead.test      to: /home/vagrant/codedatabases:    - homestead

Laravel 是即时最火的 PHP
开荒框架。它以编码风格高雅著称,每行代码都杰出简短,富有表达力,而且具备刚劲的机件开辟生态,能够扶持您急忙搭建完美的巨型互联网接受。

重载Homestead.yaml

在退换后,要求经过vagrant reload --provision指令重启设想主机并且重载Homestead.yaml中的配置音信。

澳门新浦京电子游戏 18

2.Homestead

想打听 Homestead 是怎么着,首先要介绍一下 VirtualBox 和 Vagrant。

VitrualBox 是黄金时代款特别强盛的免费虚构机软件,使用者能够在 VitrualBox上安装并运营 Linux、Windows、Mac OS X 等操作系统,相仿的软件还应该有 VMware
等,对虚构机目生的同伴能够微微补习一下有关文化,这里非常少做牵线。

接下去介绍
Vagrant,有过支付资历的同校可能会有这么的资历,每一遍开首三个新的品类,必然要先搭建支付碰着,分歧的开辟者只怕习贯使用差异的种类,有人用
windows,有人用 mac,有人用 linux,在搭建蒙受的过程中又有望会际遇各种BUG
各个坑,代码尚未早先写,搭意况就先用掉几天时间..卓殊胸口痛,于是,为了缓慢解决这一个主题材料,Vagrant
应际而生…

Vagrant 是四个用以成立和安插虚构化开辟情状的工具,其依靠于 VirtualBox设想机,致力于帮忙开荒者急迅营造三个景况统意气风发的杜撰系统。

Vagrant 能够将一条龙设想情状封装在一个 box 内,那样只要全数人都接收那个box,大家的开拓条件就落实合併了!而 Homestead 正是如此叁个 Laravel
官方预装的合乎 Laravel 开辟的 Vagrant box 。

Homestead 能够在 Windows、Mac 或 Linux 系统方面运行,里面饱含了 Nginx
Web 服务器、PHP
5.6、MySQL、Postgres、Redis、Memcached、Node,以至独具你在选择 Laravel
开垦时所急需利用的各种软件。

附注: 假诺你是 Windows 顾客,你恐怕需求启用硬件设想化。那常常需求经过
BIOS 来启用它。

Homestead 内置软件列表:

  • Ubuntu 14.04
  • Git
  • PHP 5.6 / 7.0
  • Xdebug
  • HHVM
  • Nginx
  • MySQL
  • Sqlite3
  • Postgres
  • Composer
  • Node(附带了 PM2、Bower、Grunt 与 Gulp)
  • Redis
  • Memcached (仅限 PHP 5.x)
  • Beanstalkd

那边提到了数不清的专盛名词,你不料定非要弄懂每种是何等看头,能够在这里后的试行和寻找中国和东瀛渐的渗透和读书!

添加 hosts

用 Nodepad++ 打开C:WindowsSystem32driversetchosts文本,加多如下代码:

192.168.10.10homestead.test

1.开始

Laravel 对情况有必然的供给:

  • PHP >= 5.5.9
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension

聊到条件,就只可以说 Homestead,Homestead 是 Laravel
官方预封装的大器晚成套开垦蒙受。

在 Laravel 的花销中,刚强建议使用
Homestead,无论是一个人支付品种,如故集体开荒。

安装 Laravel

$ cd /mnt/www/api.ibrand.test/$ composer install$ cp .env.example .env$ php artisan key:generate

澳门新浦京电子游戏 19

设若您曾经调整最早读书 Laravel,你必要明白 Laravel
的版本发表历史,甚至咋样选择一个本子来进行开荒。

安装 Homestead

亟待先安装好 Git,VirtualBox,Vagrant 八个必备软件。

图1-1 :百度指数斗PHP框架比较

生成 SSH key

在运维 Homestead 虚构主机前大家须求生成 SSH key,施行如下命令:

$ ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  #请替换成你自己的邮箱# Generating public/private rsa key pair...# 三次回车即可生成 ssh key

澳门新浦京电子游戏 20

以下内容是在随性所欲大器晚成台主机上摆放 Laravel
开拓条件的教程,在实验楼的在线情形已经装好了 Laravel
的情况,所以平素跳过景况陈设部分剧情也不影响三回九转的求学,根据本课程能够在团结的Computer上摆放
Laravel 开荒境况。

登陆百度指数网址,相比多少个多管闲事 PHP 框架,见图1-1,可以见到,Laravel
框架正在国内神速被大家熟悉和选拔,关切度也显示飞速回升趋势。

澳门新浦京电子游戏 21Paste_Image.png

Laravel 是蓬蓬勃勃套简洁、温婉的 PHP Web 开采框架,选拔了 MVC
的结构情势。它能够令你从繁琐的代码中脱身出来,帮您营造二个宏观的网络应用程式。

Laravel 结合了 PHP 壮大的恢弘包系统与 PHP
开垦者广大的受众群,具备快速支付的性状,那么些优势让 Laravel
在颁发之后不久几年就能够神速发展,成为近七年最销路广的PHP框架。大家得以经过上边几张图片大概体会一下。

  • HTML 根基入门
  • PHP 编制程序语言
  • JavaScript基础

Laravel 的本子分为 LTS 版本和平时版本,LTS 版本是 Laravel
能提供的维护时间最长的发行版,包含四年的 BUG
修复及八年的安全性修复,常常版本会提供6个月的 BUG
修复及一年的安全性修复。

澳门新浦京电子游戏 22图1-1
:百度指数千千万万PHP框架相比

而在外国,Laravel 框架进一层盛极一时,登陆 谷歌 Trends
网址,相比比较多少个科学普及PHP框架,见图1-2,能够看见,Laravel
的增速远超其他框架。

  • Laravel 官网
  • Laravel China 中文社区
  • Laravel 学院
  • golaravel 国语社区
  • Laravel 5.1 汉语文档

好了,废话十分少说了,直接看教程相关介绍:

发表评论

电子邮件地址不会被公开。 必填项已用*标注