章节课时

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

  1. 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>