博客列表 >Laraver框架的安装与测试及其文件夹结构

Laraver框架的安装与测试及其文件夹结构

longlong
longlong原创
2020年09月13日 16:38:501418浏览

Laraver 的安装与测试

1. 简介

laravel框架基于经典的MVC架构

  • M :model ,数据库操作,也包括队列,缓存等
  • V :view ,视图,由一个或多个模板组成,格式化输出响应的数据
  • C :controller ,控制器,主要是接受请求,选择模型,渲染视图

2. Laravel 的安装

2.1 安装要求

服务器需要满足以下要求:

  • PHP >= 7.2.5
  • BCMath PHP 拓展
  • Ctype PHP 拓展
  • Fileinfo PHP 拓展
  • JSON PHP 拓展
  • Mbstring PHP 拓展
  • OpenSSL PHP 拓展
  • PDO PHP 拓展
  • Tokenizer PHP 拓展
  • XML PHP 拓展

对于这样的开发环境配置,Laraver 也自己提供了一个虚拟机 Laravel Homestead,它可以满足所有的要求,但是这个虚拟机也特别大,有1G+,如果不想使用这么大的文件,也可以选择第三方工具,集成开发环境,比如:phpstudy,它也自动配置了这样的开发环境


2.2 安装 Laravel

学习最常用的方式吧!

先使用命令行工具切换到自己的项目目录

使用 composercreate object 命令:

  1. composer create-project --prefer-dist laravel/laravel blog

使用此条命令就能下载 laraver 框架

其中: blog 表示项目名称,这个是可以自定义的

另外:下载框架时一般也会指定版本号,如下:

  1. composer create-project --prefer-dist laravel/laravel laraverStudy 7.*

框架下载好以后如下:


2.3 Web 目录指向

框架安装好以后必须将Web服务器的根目录指向 public 目录,该目录下的 index.php 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。


现在可以访问一下 www.laraverStudy.com 这个网址:

文件夹结构

1. app 目录

appapplication(应用)单词的简写,这里是应用程序的核心代码,应用中所有类几乎都应该放在这里


2. bootstrap 目录

这个不是前端框架bootstrap,这个单词的英文意思是 引导 ,所以这里是一个引导程序,在public目录中的index.php有一行代码如下:

  1. $app = require_once __DIR__.'/../bootstrap/app.php';

这里引入了bootstrap中的app.php,在这个app.php文件中,可以看到也是new了很多东西,就在在引导程序的执行


3. config 目录

这里放的是应用程序的所有配置文件

  • 此目录中的app.php文件中有两个比较重要的配置:
  1. 'timezone' => 'UTC':这里将时区设置的是国际时区,开发中可能需要自己配置
  2. 'key' => env('APP_KEY'):这里的key是我们下载Laraver框架时生成的key(秘钥),保证每个人的key都不一样,才能提高程序的安全性

  • database.php:这里存放的是数据库配置文件,有多种数据库类型
  • filesystems.php:文件系统,不过这里的文件系统是指跟文件操作相关的程序,比如:将文件存储到云端cloud,本地local,公共目录public

4. database 目录

database 目录包含数据填充和迁移文件以及模型工厂类。你还可以把它作为 SQLite 数据库存放目录。


5. resources 目录

resources 目录包含了视图和未编译的资源文件(如 LESS、SASS 或 JavaScript)。此目录还包含你所有的语言文件。

此目录下有一个views目录,里面的welcome.blade.php,可以看出,它并不是真实的视图层,而是一个模板引擎,它的语法很奇怪,既然它是一个视图模板引擎,以后我们写的视图相关的一些HTML,都应该写在这个views目录中


6. routes 目录

目录包含了应用的所有路由定义,Laravel 默认包含了几个路由文件:web.phpapi.phpconsole.phpchannels.php

主要知道api.phpweb.php

大部分与视图交互相关的路由都是通过web.php,它就相当于一个门卫,用户的所有HTTP请求都要先通过路由才能访问

在Laraver框架中,路由是强制性的,所有的请求都必须通过路由,有多少请求,你就要写多少路由

api.php呢,是处理与接口相关的请求

差异:web.php输出的是HTML页面,api.php输出的是JSON数据,比如,网页中页面的一些视图请求,都是通过web.php


7. storage 目录

存储目录,目录包含编译后的 Blade 模板、session 会话生成的文件、缓存文件以及框架生成的其他文件。这个目录被细分成 app 、 framework 和 logs 三个子目录。app 目录可以用来存储应用生成的任何文件。 framework 目录用来存储框架生成的文件和缓存。最后, logs 目录包含应用的日志文件

在此目录中也有一个views目录,它的结构和resources 目录中的welcome.blade.php很相似,实际上呢,其实welcome.blade.php就相当于是一个翻译模板,它会读取文件,然后将文件翻译,最后视图的运行还是在storageviews目录中,welcome.blade.php实际上是不会运行的。


8. tests 目录

tests 目录包含自动化测试文件


9. vender 目录

vendor 目录包含你所有的 Composer 依赖包

10. 根目录

根目录中的.env配置文件优先级是最高的,只要它的内容改变,其他配置文件,比如config目录中的文件,生成的值都会改变

11. artisan 命令

比如,我们要生成一个控制器,常规做法可能就是去找到存放控制器的目录:app目录—》Http目录—》Controllers目录,然后在里面新建文件,但是这样比较麻烦

Laraver框架呢,给我们提供了一个命令,使用这个命令,就能很方便的创建,如下:

它会自动给你创建好控制器,并且控制器结构也为你生成好了,如下:

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. class UserInfo extends Controller
  5. {
  6. //
  7. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议