Laravel框架项目搭建
前言
上回说到接手了一个 PHP 项目,使用 Laravel 框架实现,今天将介绍 Laravel 项目的搭建过程。
1. 环境安装
1.1. 安装 PHP 的开发环境
安装过程请见上一篇文章 PHP运行环境配置 。这里我安装的版本是 PHP 7.4.27 (cli) 。
1.2. 安装 Composer
Laravel 是 PHP 开发应用广泛的框架,创建 Laravel 工程需要使用到 Composer,可以通过命令行安装,或下载安装 Composer-Setup.exe 程序。 这里我使用下载 exe 程序安装的方式,注意,有的教程会说设置镜像源,这里不建议设置,因为镜像源中的软件不够全,很容有些软件下载不到。 默认目录安装时,composer.phar 文件路径为:C:\ProgramData\ComposerSetup\bin ,Conposer 的配置文件目录为:C:\Users\maye\AppData\Roaming\Composer 。这里我安装的版本是 Composer version 2.2.6 2022-02-04 17:00:38 。
1.3. 创建 Laravel 工程
Laravel 英文文档 中文文档 。 在指定目录下打开 cmd 命令行执行:composer create-project --prefer-dist laravel/laravel laravel-demo "5.5.*"
。目前 Laravel 版本已经到 8.x 了,这里我创建 5.5.x 是因为接手的项目是 Laravel 5.5.49 版本的。 由于是从国外服务器下载的,注意保持网络畅通,然后用 PhpStorm 打开。 工程创建也可以使用 PhpStorm,具体方式百度,需要指定 composer.phar 文件,然后在创建步骤中搜索 Laravel/Laravel 即可。
1.4. 安装 NodeJs
这里我下载的是 v14.15.5 版本,在列表中找到 node-v14.15.5-x64.msi 文件下载安装。 npm 设置淘宝镜像,加速下载:npm config set registry https://registry.npm.taobao.org
,通过 npm config get registry
查看是否配置成功。然后在 Laravel 工程中运行 npm install
下载依赖。
2. 工程运行
上述操作完成后,我们就成功创建了一个 Laravel 工程,在工程的根目录下执行 php artisan serve
即可启动,默认启动在 8000 端口,也可以通过 php artisan serve --port=9000
指定端口,然后使用浏览器打开 localhost:8000 查看。按下 Ctrl + C
即可关闭服务。
3. 目录说明
Laravel 工程目录结构如下:
app包含应用程序的核心代码,默认情况下,这个目录位于命名空间 App 下。
Console包含了所有自定义的 Artisan 命令
…
Envents包含了事件类。可以使用事件来提醒应用其他部分发生了特定的操作,为应用提供了大量的灵活性和解耦
…
Exceptions包含了应用的异常处理器
…
Http包含了控制器、中间件和表单请求。几乎所有的进入应用的请求的处理逻辑都被放在这里
…
Jobs此目录默认不存在,在运行 Artisan 命令 make:job 时生成,用于存放应用中的队列任务
…
Listeners包含了用来处理事件的类。事件监听器接收事件实例并执行响应该事件被触发的逻辑。例如,UserRegistered 事件可能由 SendWelcomeEmail 监听器处理
…
Mail此目录默认不存在,在运行 Artisan 命令 make:mail 时生成,目录包含应用所有的邮件发送类
…
Notifications此目录默认不存在,在运行 Artisan 命令 make:notification 时生成,目录包含应用发送的所有事务性通知
…
Policies此目录默认不存在,在运行 Artisan 命令 make:policy 时生成,目录包含了应用的授权策略类
…
Providers包含了应用的所有 服务提供器。服务提供器通过在服务容器中绑定服务、注册事件、以及执行其他任务来为即将到来的请求做准备来启动应用
…
Roles此目录默认不存在,在运行 Artisan 命令 make:rule 命令时生成,目录包含应用自定义验证规则对象
…
bootstarp包含引导框架并配置自动加载的文件。该目录还包含了一个 cache 目录,存放着框架生成的用来提升性能的文件,比如路由和服务缓存文件
…
config包含应用程序所有的配置文件
…
databse包含数据填充和迁移文件。你还可以把它作为 SQLite 数据库存放目录
…
public包含了入口文件 index.php,它是进入应用程序的所有请求的入口点。此目录还包含了一些资源文件,图片、JavaScript 和 CSS
…
resources包含了视图和未编译的资源文件(如 LESS、SASS 或 JavaScript)。此目录还包含所有的语言文件
…
routes包含了应用的所有路由定义,Laravel 默认包含了几个路由文件:web.php、api.php、 console.php 和 channels.php
web.php包含 RouteServiceProvider 放置在 web 中间件组中的路由,它提供会话状态、CSRF 防护和 cookie 加密。如果应用不提供无状态的、RESTful 风格的 API,则所有的路由都应该在 web.php 文件中定义
api.php包含 RouteServiceProvider 放置在 api 中间件组中的路由,它提供了频率限制。这些路由都是无状态的,所以通过这些路由进入应用请求旨在通过令牌进行身份认证,并且不能访问会话状态
console.php定义所有基于闭包的控制台命令的地方。每个闭包都被绑定到一个命令实例并且允许和命令行 IO 方法进行简单的交互。尽管这些文件没有定义 HTTP 路由,但它也将基于控制台的入口点(路由)定义到应用程序中
channels.php用来注册你的应用支持的所有的事件广播渠道的地方
storage包含编译的 Blade 模板、基于文件的会话和文件缓存、以及框架生成的其他文件
app可以用来存储应用生成的任何文件
…
framework用来存储框架生成的文件和缓存
…
logs包含应用的日志文件
…
tests包含自动化测试文件
…
vendor包含 Composer 依赖包
…
以上列出了 Laravel 工程的部分目录,详见 Laravel 的文件夹结构。Laravel 没有严格地限制任何给定的类的位置,你可以按照喜好整理应用的目录结构,只要它们能被 Composer 自动加载。
Laravel 框架的所有配置文件都保存在 config 目录中。在新安装好的 Laravel 应用程序中,其根目录会包含一个.env.example
文件。如果是通过 Composer 安装的 Laravel,该文件会自动更名为.env
。否则,需要你手动更改一下文件名。 应用程序当前所处环境是通过.env
文件中的 APP_ENV 变量确定的。
PHP 中与数据库交互的模型称之为 Eloquent,它并不需要像 Java 一样定义 Entity 实体,倒像是 Java 的 Dao 层。默认把 Eloquent 的模型放在 app 目录下,并且允许开发者自行选择放置在何处。
4. 部署方式
使用 Nginx 部署 Laravel 工程,常见文档
版权所有
版权归属:Mayee