Blogger Information
Blog 60
fans 5
comment 3
visits 65254
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Laraver框架的安装与测试及其文件夹结构
longlong
Original
1421 people have browsed it

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. }
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:坚持到现在不容易,继续
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post