Laravel配置教程

本文在参考岁寒博客Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】的基础上写成1。

1.XAMPP集成开发环境

Laravel是一个PHP开发框架,用Laravel框架开发的网站需要运行于有PHP+数据库+web服务器的操作系统上。一般要求PHP版本5.4+,MySQL5.1+。本文选择PHP+MySQL数据库+Apache web服务器。在Windows下可以下载并安装最新版XAMPP集成开发环境,点击到XAMPP官网下载。

2.安装Composer

Laravel需要使用Composer来管理其依赖性。所以,在使用Laravel之前,必须确认在电脑上已经安装了Composer。
Windows下安装Composer非常简单,可以像安装XAMPP一样,下载并安装Composer-Setup.exe安装程序即可。点击到Composer中文网下载2。
安装完成后输入以下指令检测是否安装成功:

composer -V

3.配置Composer使用中国全量镜像

由于访问国外网站或者被墙的原因,如果直接使用默认Composer源速度会非常慢而且很可能不能访问。幸运的是,国内的IT工作者制作了Packagist/Composer的中国全量镜像。可以参考Composer中文网的教程配置3,本文下面也会详述配置步骤。

有两种方法启用本镜像服务:

  1. 将配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)
  2. 将配置信息添加到单个项目的 composer.json 文件中(单个项目配置)

本文选择第一种配置方法:
打开命令行窗口(windows用户)或控制台(Linux、Mac用户)并执行如下命令:

composer config -g repositories.packagist composer http://packagist.phpcomposer.com

说明

使用本镜像服务就意味着下载的所有的安装包元数据都将来自本镜像服务,而不再向 packagist.org 发起请求。这将加速
Composer 的安装过程,并且更加可靠、快速。(由于众所周知的原因,国外的网站连接速度太慢,并且随时可能被墙)

一般情况下,安装包的数据(zip 文件等)一般是从 GitHub
或其他第三方服务器上下载的,使用本镜像服务后,我们会缓存所有安装包到国内的机房,这样就不必再去向国外的网站发起请求,因此,即使
packagist.org、github.com 或其他第三方服务发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。

4.使用Composer安装Laravel5

镜像配置完成后,切换到你想要安装的目录下,xampp下Apache的安装路径为:

C:\xampp\htdocs

切换到该目录下,运行命令提示符cmd,输入如下命令:

composer create-project laravel/laravel learnlaravel5 5.0.22

安装完成后在当前目录下会生成一个目录learnlaravel5,如下图所示:

打开xampp并开启Apache服务器,在浏览器中输入Laravel主目录:

“ip:端口/laravel安装目录 / public” (默认80端口可省略)
在我的本机上为:
localhost/learnlaravel5/public

可以看到Laravel安装成功地界面:


以上四步是安装Laravel的主要步骤,后续主要讲解如何使用和开发

5.数据库建立及迁移

Laravel 5 把数据库配置的地方改到了 learnlaravel5/.env,打开这个文件,编辑下面四项,修改为正确的信息:

DB_HOST=localhostDB_DATABASE=laravel5DB_USERNAME=rootDB_PASSWORD=password

推荐新建一个名为 laravel5 的数据库,为了学习方便,推荐使用 root 账户直接操作。

Laravel 已经为我们准备好了 Auth 部分的 migration,运行以下命令执行数据库迁移操作:

php artisan migrate

得到如下结果:

如果你运行命令报错,请检查数据库连接设置。至此,数据库迁移已完成,你可以打开localhost/learnlaravel5/public/home
进行注册和登陆啦。

6.模型Models

接下来我们将接触Laravel最为强大的部分,Eloquent ORM,运行以下命令:

php artisan make:model Article
php artisan make:model Page

Laravel 4 时代,我们使用 Generator 插件来新建 Model。现在,Laravel 5 已经把 Generator集成进了 Artisan

现在,Artisan 帮我们在 learnlaravel5/app/ 下创建了两个文件 Article.phpPage.php,这是两个 Model 类,他们都继承了 Laravel Eloquent 提供的 Model 类 Illuminate\Database\Eloquent\Model,且都在 \App 命名空间下。这里需要强调一下,用命令行的方式创建文件,和自己手动创建文件没有任何区别,你也可以尝试自己创建这两个 Model 类。

Model 即为 MVC 中的 M,翻译为模型,负责跟数据库交互。在 Eloquent 中,数据库中每一张表对应着一个 Model 类(当然也可以对应多个)。

如果你想深入地了解 Eloquent,可以阅读系列文章:深入理解 Laravel Eloquent(一)——基本概念及用法

接下来进行 Article 和 Page 类对应的 articles 表和 pages表的数据库迁移,进入 learnlaravel5/database/migrations 文件夹。
在 ***_create_articles_table.php 中修改:

Schema::create('articles', function(Blueprint $table)
{$table->increments('id');$table->string('title');$table->string('slug')->nullable();$table->text('body')->nullable();$table->string('image')->nullable();$table->integer('user_id');$table->timestamps();
});

在 ***_create_pages_table.php 中修改:

Schema::create('pages', function(Blueprint $table)
{$table->increments('id');$table->string('title');$table->string('slug')->nullable();$table->text('body')->nullable();$table->integer('user_id');$table->timestamps();
});

然后执行命令

php artisan migrate

成功以后, articles 表和 pages 表已经出现在了数据库里。

7.数据库填充 Seeder

learnlaravel5/database/seeds/ 下新建 PageTableSeeder.php 文件,内容如下:

<?phpuse Illuminate\Database\Seeder;
use App\Page;class PageTableSeeder extends Seeder {public function run(){DB::table('pages')->delete();for ($i=0; $i < 10; $i++) {Page::create(['title'   => 'Title '.$i,'slug'    => 'first-page','body'    => 'Body '.$i,'user_id' => 1,]);}}}

然后修改同一级目录下的 DatabaseSeeder.php中:

// $this->call('UserTableSeeder');

这一句为

$this->call('PageTableSeeder');

然后运行命令进行数据填充:

composer dump-autoload
php artisan db:seed

查看pages表,里面新增了10条数据。


  1. 岁寒博客Laravel 5 系列入门教程(一)【最适合中国人的 Laravel 教程】 ↩
  2. Composer中文网 ↩
  3. Composer全量中国镜像 ↩

Laravel PHP 开发环境配置相关推荐

  1. Laragon 在Windows中快速搭建Laravel本地开发环境

    1.应用场景 主要用于快速搭建开发环境,帮助快速开发或者验证一些代码执行等. 优点: 功能更加强大, 更加简便好用 2.学习/操作 简介 对于那些使用 Windows 操作系统的同学来说,Homest ...

  2. Python开发环境配置

    好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...

  3. vue如何配置服务器端跨域_vue开发环境配置跨域,一步到位

    本文要实现的是:使用vue-cli搭建的项目在开发时配置跨域,上线后不做任何任何修改,接口也可以访问 阅读时间需要三分钟 production:产品 生产环境 development:开发 开发环境 ...

  4. 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是安装,不 ...

  5. ug二次开发环境可以用c语言吗,NX二次开发(1):开发环境配置

    最近小编开始走上NX的二次开发之路,驱动我学习NX二次开发主要是兴趣使然.对NX进行二次开发,首先需要配置好开发环境,下面跟着小编踏上二次开发的道路吧! 本文以NX11.0为例,介绍如何在VS2013 ...

  6. perl开发环境配置(Database,SOCKET,CISCO)j(ReShip)

    perl开发环境配置(Database,SOCKET,CISCO) 1. Oracle Client Enviroment 2. Perl Modules Installation 1. Oracle ...

  7. React + Typescript + Webpack 开发环境配置

    对于复杂或多人开发的 React 项目来说,管理和使用每个组件的 props . state 或许会成为一件让人头痛的事情,而为每一个组件写文档,成本也会比较大,对项目的开发效率也不是最理想的. Ty ...

  8. python电脑配置苹果笔记本-tensorflow学习笔记1——mac开发环境配置

    1. mac电脑推荐配置 内存:8G+ cpu:i5+ 硬盘:SSD 128G+ 本人的电脑配置是cpu:i7, 内存:16G,硬盘:SSD 256G 2. mac开发环境配置 1.1 安装pip 打 ...

  9. 开发环境配置--Ubuntu+Qt4+OpenCV(三)

    同系列文章 1. 开发环境配置--Ubuntu+Qt4+OpenCV(一) 2. 开发环境配置--Ubuntu+Qt4+OpenCV(二) 3. 开发环境配置--Ubuntu+Qt4+OpenCV(三 ...

最新文章

  1. sql 判断记录是否存在_判断数据库是否存在该条记录,count(0) or limit
  2. xml文件 卷积神经网络_理解卷积神经网络中的输入与输出形状(Keras实现)
  3. 编译器会影响编译吗?
  4. Ubuntu开启防火墙
  5. pmp思维导图 第六版_PMP考试技巧攻略(上)
  6. Cloud一分钟 | 阿里云将在英国大区设立数据中心
  7. 网络安全商业模式分析
  8. 计算机网络发展的第四阶段特点,计算机网络的发展可分为哪几个阶段?每个阶段各有什么特点?...
  9. 标准正态分布表_机器学习
  10. .net core6 简单控制台读取数据库操作封装
  11. 今天你18岁,父母的碎碎念
  12. 【听课笔记】复旦大学遗传学_10肿瘤遗传学
  13. 字符串String知识总结(上) 冲冲冲!!!
  14. 定制个性化App 引领企业跨入互联网时代
  15. 一个C#开发的、跨平台的服务器性能监控工具
  16. 什么情况下,微信聊天里会出现【对方正在输入】,原来如此
  17. vue 中 highcharts 的简单使用
  18. html css样式绘制向下或者向上箭头
  19. 什么是reactor模式?
  20. Qt实现mqtt客户端和mqtt服务器搭建

热门文章

  1. 解决:jupyter notebook内核总是死亡
  2. 爬虫之Splash基础篇
  3. splash官方文档解读(翻译)
  4. OSChina 周一乱弹 —— 本期研究动物界舔狗
  5. C++inline函数简介
  6. 2021-03-16 群辉视频播放器KODI中文设置的教程
  7. 记录一下面试考题一(组件化,ListView和RecyleView区别,App启动,Binder)
  8. matlab4fsk软件解调代码,4fsk调制与解调基于Verilog HDL语言
  9. html网页制作.css属性,网页设计中的CSS样式
  10. 【仿乐享微信源码分享】短短9分55秒,15万台小米手机3被抢购一空背后的秘密!