接触PHP已经挺长一段时间了,一直对这个世界上最好的语言情有独钟。用熟练了之后,发现PHP不仅是天下第一,而且是宇宙第一。但是自从Laravel诞生之后,博主一直对Laravel有莫名的抵触,觉得这个框架就是JAVA SSM的山寨货,一直好感缺缺。最近觉得自己应该静下心做点事情,就把Laravel拿起来看了看,顺手试用了一下,发现“还挺香”。决定记录一下几个关键的入门知识,以表入坑Laravel。

(在这里,博主假设大家已经具备web服务器的配置能力,而且当前的web与php7环境已配置完成。博主用的是centos7+nginx+php7)

一、Hello World

作为一个程序猿的一股泥石流,博主深知入坑一个知识,最急迫的任务就是把它跑起来。

网上很很多教程,主要是用composer的create-project进入laravel项目的建构。但是问题来了,整个建构的过程会从github拉取工程项目,一道名曰GF的大墙会把你堵得喘不过气,速度如龟爬不说,而且有时还爬不动。有人会说了,把composer的源改到phpcomposer或者aliyun上。但是笔者试验后发现,这一波操作太天真了,构建的速度照样是慢。此时博主在create-project过程中加入-vvv参数,仍有一大部分的大文件从墙外拉取,导致速度极慢。

怎么办呢?要么每构建一次项目,等一个小时,去品品茶,喝喝咖啡也是极好的;要么另想它法。博主决定去github的laravel项目下载整个框架源码,但是下载后发现,卧槽,源码真是干净啊,连个vendor都没有。对于一个刚刚入坑的新手,拿到这份源码,真心浪不起来。一计不成,心生二计,博主直接去搜索是否有同步好的完整包。下面将完整的Hello World记录一下。

1) 下载完整的Laravel框架包 (选择一款你喜欢的)

Laravel 7.0 一键安装包

Laravel 6.0 一键安装包

Laravel 5.8 一键安装包

Laravel 5.7 一键安装包

Laravel 5.6 一键安装包

Laravel 5.5 一键安装包

Laravel 5.4 一键安装包

Laravel 5.3 一键安装包

Laravel 5.2 一键安装包

Laravel 5.1 一键安装包

2)下载之后,将包里的文件解压出来,你会看到如下的目录结构

不知道这个结构什么意思?没关系,现在的你还不需要知道。我们只需要将这个文件目录放置在你想要放的位置就行。

3)将public目录设置为站点根目录

然后在站点server配置节中添加上

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

如下图:

这时候,你访问http://localhost(或http://127.0.0.1,根据你的环境中实际的地址进行访问),会发现又一个卧槽,报错。不要急,看下一步。

4)最后的操作

首先,我们要了解,Laravel框架要求每个项目,都有一个自己的key,而这个key保存在项目根目录的.env文件(这里划重点)中。这时你会发现,有些版本下载下来的包里,连这个文件的影子都看不到,怎么破?只需要在根目录,新建一个文本文件,将文件名改成.env即可。文件的内容如下:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD= BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379 MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET= PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

然后,在项目根目录下运行命令:php artisan key:generate,这时候.env文件中的APP_KEY这一项就会被生成一个key值。

5)大功告成:

这时再访问这个站点,就可以看到以下界面,这时Hello World项目就被完美跑起来了:)

到这里Laravel入坑指南第一节就完成了。这坑指南主要是让各位初学者24小时精通Laravel(别用砖头扔我),所以会以实用的角度进行知识点的疏理,对于Laravel学院派的角度大家多多关注官网的手册。

好了,大家下回再见:)

---------------------------  我是可爱的分割线  ----------------------------

最后博主借地宣传一下,漳州编程小组招新了,这是一个面向漳州青少年信息学/软件设计的学习小组,有意向的同学点击链接,联系我吧。

Laravel入坑指南(1)——Hello World的更多相关文章

  1. electron入坑指南

    electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...

  2. C语言入坑指南-被遗忘的初始化

    前言 什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题. 什么是初始化 初始化指的是对数据对象或者变量赋予初始值.例如: int va ...

  3. Elasticsearch入坑指南之RESTful API

    Elasticsearch入坑指南之RESTful API Tags:Elasticsearch ES为开发者提供了非常丰富的基于Http协议的Rest API,通过简单的Rest请求,就可以实现非常 ...

  4. ElasticSearch入坑指南之概述及安装

    ---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...

  5. eclipse中导入外部包却无法查看对应源码或Javadoc的入坑指南

    eclipse中导入外部包却无法查看对应源码或Javadoc的 入坑指南 出现这个错误的原因是,你虽然导入了.jar包,但没有配置对应的Javadoc或源码路径,所以在编辑器中无法查看源 码和对应AP ...

  6. Rust入坑指南:核心概念

    如果说前面的坑我们一直在用小铲子挖的话,那么今天的坑就是用挖掘机挖的. 今天要介绍的是Rust的一个核心概念:Ownership.全文将分为什么是Ownership以及Ownership的传递类型两部 ...

  7. Rust入坑指南:鳞次栉比

    很久没有挖Rust的坑啦,今天来挖一些排列整齐的坑.没错,就是要介绍一些集合类型的数据类型."鳞次栉比"这个标题是不是显得很有文化? 在Rust入坑指南:常规套路一文中我们已经介绍 ...

  8. Rust入坑指南:亡羊补牢

    如果你已经开始学习Rust,相信你已经体会过Rust编译器的强大.它可以帮助你避免程序中的大部分错误,但是编译器也不是万能的,如果程序写的不恰当,还是会发生错误,让程序崩溃.所以今天我们就来聊一聊Ru ...

  9. Rust入坑指南:朝生暮死

    今天想和大家一起把我们之前挖的坑再刨深一些.在Java中,一个对象能存活多久全靠JVM来决定,程序员并不需要去关心对象的生命周期,但是在Rust中就大不相同,一个对象从生到死我们都需要掌握的很清楚. ...

  10. Rust入坑指南:齐头并进(上)

    我们知道,如今CPU的计算能力已经非常强大,其速度比内存要高出许多个数量级.为了充分利用CPU资源,多数编程语言都提供了并发编程的能力,Rust也不例外. 聊到并发,就离不开多进程和多线程这两个概念. ...

随机推荐

  1. CSS : 使用 z-index 的前提

    使用 z-index 前  , 需要将元素 定位设置为  position : relative .

  2. [转帖]OceanBase v4.2新增字符集GB18030_2022说明

    OceanBase v4.2新增字符集GB18030_2022说明 https://open.oceanbase.com/blog/7698399520 1.  概述 GB18030 标准作为信息技术 ...

  3. [转帖]061、监控指标之TiKV

    资源相关 Grafana监控 TiKV-Details -> Cluster - Store Size / Available Size Grafana监控 TiKV-Details -> ...

  4. [转帖]How fast are Unix domain sockets?

    https://blog.myhro.info/2017/01/how-fast-are-unix-domain-sockets Jan 3, 2017 • Tiago Ilieve Warning: ...

  5. [转帖]TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践

    返回全部 边城元元案例实践2022-08-02 复杂业务查询对于传统的关系型数据库来说是一种考验,而通过 TiKV 行存与 TiFlash 的列存结合使用就能很好地应对.本文根据 TUG 用户边城元元 ...

  6. [转帖]Jmeter创建数据库(JDBC)测试-4

    上一章节讲述如何建立HTTP请求测试,本章节将介绍使用MySQL数据库驱动程序进行JDBC测试.要使用该驱动程序,必须将其包含的.jar文件(例如mysql-connector-java-XXX-bi ...

  7. [译]深入了解现代web浏览器(二)

    本文是根据Mariko Kosaka在谷歌开发者网站上的系列文章https://developer.chrome.com/blog/inside-browser-part2/ 翻译而来,共有四篇,该篇 ...

  8. 对于Vue3和Ts的心得和思考

    作者:京东物流 吴云阔 1 前言 Vue3已经正式发布了一段时间了,各种生态已经成熟.最近使用taro+vue3重构冷链的小程序,经过了一段时间的开发和使用,有了一些自己的思考. 总的来说,Vue3无 ...

  9. 【小实验】golang的if比较中的string/[]byte转换会被编译器优化

    之前做了实验,[]byte类型使用string()进行转换的时候,会产生拷贝.see: [小测试]golang中使用string()来转换[]byte数组产生了拷贝 不过今天又有了新的认识.请先看下面 ...

  10. 基于spring security创建基本项目框架

    SpringBoot建项目步骤 建表 新建项目 (package name可以自定义,整个项目只能在该包下) 选择可能有到的依赖 (别忘了勾选SQL中的Mybatis Framework,创建项目 如 ...