1、官方文档:《Laravel 7 中文文档》 | Laravel China 社区
2、《Laravel 8 中文文档》 | Laravel China 社区 (中文版推荐)
3、环境要求:
PHP 7.3.0以上版本
使用composer安装,请确保你已经安装了composer,请参考: Composer安装
1、把项目安装在 D:/MyProject/Laravel8目录下
(1)修改composer的镜像到国内环境
# composer config -g repo.packagist composer https://packagist.phpcomposer.com
或
# composer config -g repo.packagist composer https://packagist.laravel-china.org (这个可能有时会报错)
(2)cd 到D:/MyProject/Laravel8目录下执行方法:
# composer create-project --prefer-dist laravel/laravel blog
说明此镜像没有链接上,其实就是composer 的中国镜像出了问题。我们再改回官方国外的:
composer config -g repo.packagist composer https://packagist.org
(不指定版本号,默认安装最新版本,如果要指定版本号,就在 blog 后面加上版本号,如 :
# composer create-project --prefer-dist laravel/laravel blog 7.x )
安装成功后,在D:/MyProject/Laravel8目录下就多了一个 blog的目录。
使用 cd ./blog/目录下,使用 # php artisan -V 可以查看laravel Framework 的版本号:
(注,这里的Framework版本号为8.5.5 和我们的laravel8.6 并不一定相同)
Window下我们使用PHPstudy 集成环境,Laravel7要求PHP版本必须大于php7.2以上
根目录指向:D:/MyProject/Laravel8/blog/public目录
本地域名为: http://blog.laravel8.cn
初识路由:
默认的首页对应的路由是什么?对应的控制器又是什么?对应的模板文件又在哪里?
初始访问:http://blog.laravel8.cn
访问的是http://blog.laravel8.cn/index.php
有路由文件/routes/web.php里的
此方法既没有控制器、也没有模块,只有一个视图welcome, 此视图文件为/resources/views/welcome.blade.php
优化url隐藏index.php
Apache环境: 系统已经在/pubic/.htaccess文件,确保Apache开启mod_rewrite模块
Nginx环境:
把如下代码 加入到此项目的nginx配置文件中
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
1、主要目录说明
Laravel 默认的目录结构试图为不管是大型应用还是小型应用提供一个良好的起点。当然,你也可以按照自己的喜好重新组织应用的目录结构
/app应用目录
app 目录包含了应用的核心代码,你为应用编写的代码绝大多数也会放到这里
/app/Http 目录
Http 目录包含了 控制器(Controller)、中间件以及表单请求等,几乎所有通过 Web 进入应用的请求处理都在这里进行。
/app/Models 目录
Models 目录包含了所有的 Eloquent 模型(Model)类文件。Laravel 自带的 Eloquent ORM 提供了一个优雅且简单的、用于处理数据库操作的 ActiveRecord 实现。每张数据表都有一个与之对应的「模型类」,通过调用模型方法可以映射数据表的增删改查。
/config配置目录
config 目录包含了应用所有的配置文件,建议通读一遍这些配置文件以便熟悉 Laravel 所有默认配置项。
/database 数据库目录
database 目录包含了数据库迁移文件及填充文件,如果有使用 SQLite 的话,你还可以将其作为 SQLite 数据库存放目录。
/public 对外公开目录
public 目录包含了应用入口文件 index.php 和前端资源文件(图片、JavaScript、CSS等),该目录也是 Apache 或 Nginx 等 Web 服务器所指向的应用根目录,这样做的好处是隔离了应用核心文件直接暴露于 Web 根目录之下,如果权限系统没做好或服务器配置有漏洞的话,很可能导致应用敏感文件被黑客窃取,进而对网站安全造成威胁。
/resources 资源目录
resources 目录包含了应用视图文件和未编译的原生前端资源文件(LESS、SASS、JavaScript),以及本地化语言文件。
/resources/views 视图目录(View)
/routes 路由目录
routes 目录包含了应用定义的所有路由。Laravel 默认提供了四个路由文件用于给不同的入口使用:web.php、api.php、 console.php 和 channels.php。
/vendor 目录
vendor 目录包含了应用所有通过 Composer 加载的依赖。
更多目录见官网文档目录结构 | 快速入门 | Laravel 8 中文文档
五、基本配置文件
(1)如果根目录没有.env文件,就把.env.example 复制重命名为.env
如果.env里的“APP_KEY” 还没有值,就用
# php artisan key:generate
来生成一下。
(2)./config/目录是全部的配置文件
其中./app.php是全局配置文件,
'timezone' => 'UTC', 修改为 'timezone' => 'PRC',
'locale' => 'en', 如果有必要就修改zh-CN;
(3)设置 获取 配置项
$value = config('app.timezone');
config(['app.timezone' => 'Asia/Shanghai']); //重新为其赋值
(4)缓存配置文件(不建议这么干)
执行命令 php artisan config:cache 会把所有的配置文件合并到一个文件中,从未被框架快速加载
(5)开启和关闭维护模式
# php artisan down 开启维护模式,一旦开启再访问,就会报 503 Service Unavailable
# php artisan up 关闭维护模式,网站正常访问