从零开始学Laravel(一)Laravel安装配置编写简单api接口

码农天地 -
从零开始学Laravel(一)Laravel安装配置编写简单api接口
一.Laravel的安装与配置

1.下载Composer-Setup.exe (getcomposer.org)并安装
2.移动到xampp/hotdocs文件夹,执行以下命令

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

3.用PhpStorm打开可以看到如图项目结构

4.可以直接输入命令 php artisan serve 运行,也可以访问apache,显示如下图表示成功

这时Laravel就安装成功了。
5.修改.env文件中的数据库信息

二.编写api接口

1.新建数据库建表插入数据

DROP TABLE IF EXISTS `book`;
CREATE TABLE `book`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `book_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `book_sort` int(11) DEFAULT NULL,
  `book_mark` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO `book` VALUES (1, '水浒传', 1, '四大名著');
INSERT INTO `book` VALUES (2, '西游记', 1, '孙悟空');
INSERT INTO `book` VALUES (3, '红楼梦', 2, '无');
INSERT INTO `book` VALUES (4, '三国演义', 2, '');

3.新建Model和Controller

php artisan make:model Models/Book
php artisan make:controller BookController

修改Book.php

<?php
namespace AppModelsModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
class Book extends Model
{
 use HasFactory;
 /**关联到模型的数据表
 * @var string
 */ protected $table = 'book';
 /**Laravel有默认时间字段,不需要可以修改成 false
 * @var bool
 */ public $timestamps = false;
}

4.创建简单的api
编写BookController.php

<?php
namespace AppHttpControllers;
use AppModelsModelsBook;
use IlluminateHttpRequest;
class BookController extends Controller
{
 public function getBookById($id)
 { // 根据id查询
 $book = Book::find($id);
 // return response()是返回想要 json()转换成json字符串但是是unicode setEncodingOptions设置编码
 return response()->json($book)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
 }
}

编写 routes/api.php

<?php
use IlluminateHttpRequest;
use IlluminateSupportFacadesRoute;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:api')->get('/user', function (Request $request) {
 return $request->user();
});
Route::any('/book/{id}',[AppHttpControllersBookController::class,'getBookById']);

5.php artisan serve或者直接访问apache

一个简单接口的编写到此结束,这样写起来很简单,但是中间也遇到了点小问题,比如MySQL编码问题,Navcat有很大的问题,show variables like 'char%';在MySQL cmd中显示是utf-8但是在navcat中却成了latin,这个要在navcat连接那里编辑编码为自动,这样就可以和系统的一样了。

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

phplaravel

扩展阅读

加个好友,技术交流

1628738909466805.jpg