Laravel 初探

1,292 阅读5分钟

引言

从业三年多来,共接触过4个php框架,分别是 tp3.2phalcon3.2yii2, 以及 laravel5.4, 其中 phalcon3.2 与 laravel5.4 接触的多些, 最近计划学一个框架深入下去, 首选 便是laravel.

laravel 号称是最优雅的php框架, 在这个编程语言框架满天飞的9102年, php一直被冠名世界上最好的 语言。相比于编译型的语言, 解释型语言于我会舒服很多, 修改即运行, 我个人一直是php的信徒.

正文

搭建开发环境(windows环境下)

想要在windows下跑一个php项目做到增删改查, 需要3点:

  • php的安装与环境配置
  • 数据库的安装与环境配置
  • web服务器的安装与配置

注:

  • 数据库这里我使用mysql, 前辈们说: mysql与php是最好的搭档.
  • web服务器这里我使用nginx, 自己折腾的话也可以使用apache.

为了节约时间, 这里我使用wnmp集成包, 传送门 wnmp.x64architecture.com/downloads/

  • 选择 26-Jan-2019 Wnmp-3.2.2.7z
  • 运行 Wnmp.exe
  • 点击 Start all

至此环境已经"基本"搭建好了, 为什么此时叫"基本"呢 不急,我们继续探究:

安装laravel并且运行它

我们开发环境已经基本搭建好了,现在我们需要打开laravel的一个中文网站: learnku.com/docs/larave…

看见该5.8版本的中文文档,文章中介绍通过 Composer 的方式可以安装laravel.

Composer又是个什么东西呢,学过前端的同学都知道npm,Composer就是后端的 'npm'

windows系统默认是没有Composer这个东西的, 我们需要安装它: getcomposer.org/download/

我个人选择了最新的版本:

chenyun

下载完根据指引需要注意: 指向php选项时选择本地php目录的php.exe文件, 如我本机: D:\wnmp\Wnmp\php\php.exe

安装完成后添加系统环境变量,如我本机:

C:\Users\chenyun\AppData\Roaming\Composer\vendor\bin

结束到这一步我们的 Composer就算是安装完成了, 现在让我们cmd下输入 composer -v 出现以下既为成功:

chenyun

下面让我们使用 Composer 来安装 laravel

composer create-project --prefer-dist laravel/laravel testLaravel

固定命令,testLaravel 为项目名称,当我们输入这个命令时, 满心欢喜以为要胜利了, 等待下却发现命令行窗口毫无反应...

别急, 因为 composer 的本源来自国外, 不知道资源是被被墙了还是怎样,反正速度慢到怀疑人生...
我们需要添加一个镜像来访问想要的资源, 这里选用了阿里云的镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer clearcache
composer update || install

记得要删除缓存 && 再次更新, 镜像添加完成后我们cmd下再输入

composer create-project --prefer-dist laravel/laravel testLaravel

等待一些时间后, 会发现 testLaravel laravel项目已经被download下来了.

laravel项目已经成功生成了, 因为我们此前start过集成环境包, 我们来配置下nginx, 查看laravel文件目录我们能发现, public/index.php 是laravel项目的入口文件, 我们需要配置一个本地域名以及nginx服务来指向它:

  • 1:我们先添加一个本地域名. windows下添加域名在host文件里,目录: C:\Windows\System32\drivers\etc\host,记事本打开host文件后,尾部追加:
127.0.0.1 localhost test.lara.com

注: test.lara.com 就是我们的本地域名

  • 2:配置nginx服务. 找到nginx目录里的 conf/nginx.conf,具体目录如我本机: D:\wnmp\Wnmp\conf\nginx.conf 找着并打开文件 nginx.conf 文件后,我们在文件里配置一个server:
server {
        listen       80;
        
        # server_name 指向本机的域名
        server_name  test.lara.com;
        
        // root 指向本地laravel项目的入口文件
		root   E:/cy_php_learning/sele_laravel_project/testLaravel/public;

        # 打开log
        access_log  logs/host.access.log;

        location / {
            index  index.html index.htm index.php;
        }
		
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # 配置FastCGI,PHP 脚本请求全部转发到 FastCGI处理
        location ~ \.php$ {
            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            # 引入fastcgi的配置文件
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
    }

到这里本地域名和nginx服务都配置好了,现在我们打开浏览器, 地址栏键入 test.lara.com 此刻,让我们一起见证曙光的到来!

等待数秒,一句卧槽喷来, nginx 404...

这到底哪里出了问题呢,让我们来分析一下,nginx能跑代表是nginx服务没有问题,那么就只有两种可能:

  • php配置有问题
  • php与nginx的关联配置有问题

通过检查配置以及Google, 查出了是php的配置有问题,此时我们来完善配置, 找到php.ini文件,记事本打开,

  • 找到 extension_dir ,取消注释并赋值为”./ext”
  • 找到 cgi.fix_pathinfo ,取消注释, cgi.fix_pathinfo=1

修改这两项之后, 我们需要重启wnmp集成环境包, 依次 Stop all -> Start all

到这里之后还差最后一步,启动php-cgi (经过我个人观察, Wnmp.exe内部没有启用php-cgi, 或是指向有问题, 必须自己键入命令): 打开cmd, 如我本机, 键入:

D:/wnmp/Wnmp/php/php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/Wnmp/php/php.ini

此时我们再次打开浏览器, 地址栏键入 test.lara.com, 会看到

chenyun

到了这里, laravel项目已经成功跑起来了, 万里长征第一步, 现在已经真正开始了.

####预告:下一篇将介绍如何利用 laravel 中的查询构造器实现 增删改查

结尾

至此,本篇文章就结束啦,laravel文章系列我会一直学习并保持更新,如果觉得有帮助就关注一下博主的公众号吧: 轻罗

文章会最新更新在公众号里, 涵盖前端php摄影文章, 你的关注便是我原创的动力 T^T

chenyun