章节课时
3.1,课程涉及开发语言、工具介绍
PHP、Laravel、PhpStudy、Composer、Navicat for MySQL 等相关介绍。
3.2,本地开发环境配置
PhpStudy、Navicat for MySQL、Composer 安装,MySQL数据库创建。Laravel框架安装、配置。MySQL数据测试查询。创建Git仓库。
PHP简单介绍
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
简单易俗的讲,在本教程中,PHP主要的作用就是接收前端提交的数据对应处理并存入数据库,查询数据库数据并返回给前端。
Laravel简单介绍
Laravel是一套简洁、优雅的 PHP Web 开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Laravel是易于理解并且强大的,它提供了强大的工具用以开发大型、健壮的应用。杰出的IoC、数据库迁移工具和紧密集成的单元测试支持,这些工具赋予你构建任何应用的能力。
PhpStudy
PhpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。
Composer
是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
在本教程中的主要作用:
1,安装Laravel框架;
2,安装第三方PHP包;
Navicat for MySQL
MySQL 数据库管理和开发工具
Cmder
命令行工具。
其他可选:Windows Terminal、Git命令行工具。
教程资料
PhpStudy:https://www.xp.cn
PHP百度百科:https://baike.baidu.com/item/PHP/9337
PHP中文教程文档:https://www.runoob.com/php/php-tutorial.html
Laravel8.5中文文档:https://learnku.com/docs/laravel/8.5
Composer中文网:https://www.phpcomposer.com
Navicat for MySQL:http://www.navicat.com.cn/products/navicat-for-mysql
Cmder:https://cmder.net
Git命令行工具下载地址:https://git-scm.com/downloads
知识要点
安装Laravel
composer create-project --prefer-dist laravel/laravel mh "8.5.*"
Composer更改为国内阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
Laravel多路由配置
打开 \app\Providers\RouteServiceProvider.php 文件,找到 boot() 方法,替换为以下内容:
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::middleware('web')
->namespace($this->namespace . '\Web')
->group(base_path('routes/web.php'));
Route::prefix('api')
->middleware('api')
->namespace($this->namespace . '\Api')
->group(base_path('routes/api.php'));
Route::prefix('admin')
->middleware('web') //中间件组
->namespace($this->namespace . '\Admin')
->group(base_path('routes/admin.php'));
});
}
8.x 恢复 Laravel 7.x 那种控制器的路由前缀,可以简单地将 $namespace 属性添加到应用程序的 app/Providers/RouteServiceProvider 中。
// 代码注释打开
protected $namespace = 'App\\Http\\Controllers';
Laravel伪静态设置
/public/.htaccess文件
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: "*"
Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS"
Header set Access-Control-Allow-Headers: "DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"
</IfModule>