【老姐学PHP】PHP框架lavarel之api接口

目录

1.安装Composer

2.安装 Laravel 安装器

3.创建 Laravel 应用

4.创建 Laravel 接口

4.1路由route

4.2控制器Controller

4.3视图view

4.4模型model 

后续


1.安装Composer

创建一个 Laravel 项目,首先需要安装 Composer。 Laravel 使用 Composer 来管理项目依赖。因此,在使用 Laravel 之前,请确保您的机器上已经安装了 Composer。

2.安装 Laravel 安装器

通过 Composer 安装 Laravel 安装器:

composer global require "laravel/installer"

确保将 Composer 的全局 vendor bin 目录放置在你的系统环境变量 $PATH 中,以便系统可以找到 Laravel 的可执行文件。在不同的操作系统中,该目录的路径也不相同;

  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin

 您也可以通过运行 composer global about 命令查找并查看 Composer 的全局安装路径。

 由于国外镜像下载速度过慢,如果出现一直等待无法进行的情况,重新进入cmd 输入:

composer config repo.packagist composer https://mirrors.aliyun.com/composer/
composer global require laravel/installer

C:\Users\tomcat\AppData\Roaming\Composer

3.创建 Laravel 应用

安装完成后,通过简单的“ laravel new 应用名称”就可以创建一个 laravel 应用,例如我们在当前目录安装一个 名字为 blog_system 的应用。

laravel new bolg_system

 如果你以前安装过 laravel 安装器,建议使用 composer global update 命令来更新laravel 安装器
也可以通过 Composer Create-Project 来创建 laravel 应用。

composer create-project --prefer-dist laravel/laravel blog

如果要下载安装 Laravel 其他版本应用,比如 5.6 版本,可以使用这个命令:

composer create-project --prefer-dist laravel/laravel blog 5.6.*。

然后打开phpstudy,根目录设置到项目的public目录下然后在浏览器访问网址"http://locahost"。

(1)公共目录

安装完 Laravel 之后,你必须将 web 服务器根目录指向 public 目录。该目录下的 index.php 文件将作为所有进入应用程序的 HTTP 请求的前端控制器。

(2)配置文件

Laravel 框架的所有配置文件都放在 config 目录中。每个选项都有注释,方便你随时查看文件并熟悉可用的选项。

(3)目录权限

安装完 Laravel 后,你可能需要给这两个文件配置读写权限:storage 目录和 bootstrap/cache 目录应该允许 Web 服务器写入,否则 Laravel 程序将无法运行。如果你使用的是 Homestead 虚拟机,这些权限已经为你配置好了。

(4)应用密钥

安装好 Laravel 之后,下一件应该做的事就是将应用程序的密钥设置为随机字符串。如果你是通过 Composer 或 Laravel 安装器来安装的 Laravel,那这个密钥已经为你通过 php artisan key:generate 命令设置好了。

通常来说,这个字符串的长度应为 32 个字符。密钥可以在 .env 环境配置文件中设置。前提是你已经把 .env.example 文件重命名为 .env。如果没有设置好应用密钥,你的用户会话和其他加密数据就不再安全!

4.创建 Laravel 接口

4.1路由route

laravel的路由分两类:网页路由web.php和API路由api.php。

 API路由的访问路径需要额外增加一个“/api”。

#网页路由
http://localhost/post/100

#api路由
http://localhost/api/post/100

D:\Microsoft\phpstudy_pro\WWW3\blog\routes\api.php增加几个测试的路由,修改如下:

Route::get('/',function(){
    return 'hello,world! <br><font size="5" color="red"> welcome 2021! </font>' ;
 });

Route::get('page/{id}',function($id){
    return "故事ID: ".$id;
});

Route::get('user/{id?}', function ($id = 1) {
    //return "用户ID: " . $id;
    return response()->json(['status'=>1,'msg'=>'查询成功!']);
})->name('user.profile');

在浏览器里,进行测试结果页面如下:

4.2控制器Controller

在App\Http\Controllers下新建一个MemberController.php。

“D:\Microsoft\phpstudy_pro\WWW3\blog\app\Http\Controllers”

<?php   
namespace App\Http\Controllers;  
use Illuminate\Support\Facades\DB;  

class MemberController extends Controller {  

    public function what(){
        return "this is a test!";
    }
}

 修改routes下的web.php文件。

“D:\Microsoft\phpstudy_pro\WWW3\blog\routes”

use App\Http\Controllers\MemberController;

Route::get('member/what', [MemberController::class,'what']);

  浏览器测试如下:

4.3视图view

继续在resources\views文件夹下新建member.blade.php

“D:\Microsoft\phpstudy_pro\WWW3\blog\resources\views” 

<html>
<head>
<title>视图</title>
</head>
<body>
     会员中心 <br>
     姓名:{
   
   {$name}} <br>
     年龄:{
   
   {$age}} <br>
</body>
</html>

 修改控制器MemberController.php如下:

<?php   
namespace App\Http\Controllers;  
use Illuminate\Support\Facades\DB;  

class MemberController extends Controller {  

    public function what(){
        return "this is a test!";
    }
     
    public function view(){
        return view('member',['name'=>'tomcat','age'=>25]);
    }
}

 修改routes下的web.php文件。

“D:\Microsoft\phpstudy_pro\WWW3\blog\routes”

use App\Http\Controllers\MemberController;

Route::get('member/what', [MemberController::class,'what']);
Route::get('member/view', [MemberController::class,'view']);

 浏览器测试如下:

4.4模型model 

在app目录下新建一个模型Member.php

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;

class Member extends Model{

	public static function what(){
	    return "i am jack!";
	}

}

 修改MemberController.php控制器如下:

<?php   
namespace App\Http\Controllers;  
use Illuminate\Support\Facades\DB;  
use App\Member;

class MemberController extends Controller {  

    public function what(){
        return "this is a test!";
    }
     
    public function view(){
        //return view('member');
        return view('member',['name'=>'tomcat','age'=>25]);
    }

    public function model(){
        return Member::what();
    }
}

 修改routes下的web.php文件。

“D:\Microsoft\phpstudy_pro\WWW3\blog\routes”

use App\Http\Controllers\MemberController;

Route::get('member/what', [MemberController::class,'what']);
Route::get('member/view', [MemberController::class,'view']);
Route::get('member/model', [MemberController::class,'model']);  

 浏览器测试如下:

后续

如果你觉得该方法或代码有一点点用处,可以给作者点个赞;╮( ̄▽ ̄)╭
如果你感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进。o_O???
谢谢各位童鞋们啦( ´ ▽ ` )ノ ( ´ ▽ ` )っ!!!

Guess you like

Origin blog.csdn.net/hhy321/article/details/120499917
php