【1.5 php基础】1.5.4 接口

本文介绍了在PHP中实现前端与后端通信的接口设计,强调了接口在松散耦合架构中的重要性。通过一个实例展示了如何创建front.interface.php接口文件,接收并处理前端发送的参数,如op、t_id和c_id,执行相应的业务逻辑,如教师领取教学任务,并以JSON格式返回数据。同时,文章涵盖了PHP的基础语法,包括类、变量、函数、数据库连接、SQL操作和程序控制结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们设计一个业务系统时,往往希望前端的用户界面和后端的业务逻辑之间不要有太大的关联(松散耦合),即,修改前端页面时,不必考虑后端业务逻辑是如何实现的,同样的,升级后端业务逻辑时,也无需考虑前端界面是否会收到影响。因此,很多时候我们需要在前端和后端之间,通过一种方式来进行通信(或信息交换),而不是把业务逻辑代码直接写入前端界面实现中。

(事实上,读者可以将前端html页面代码和php代码写到一起,将文件后缀命名为.php,这样通过本文前面配置的环境是可以运行的,但这样的设计,对于后期代码的维护,无疑是不利的)

我们将业务逻辑和前端页面之间的这种通信方式,称之为接口。本小节我们主要谈一谈本文在处理前端通信时的实现方式。

我们需要在服务器中建立接口文件(front.interface.php),这个接口文件中,主要接收前端发来的信息(往往是一些参数),我们需要根据这些参数来调用相应的函数,完成相关操作,如前端需要,我们还必须返回数据。

 

接口中,我们使用$_REQUEST[]来接受前端发送的参数(注:在前端发送数据参数时有get和post两种方式,一般配置php.ini时,这两种方式发送的数据都会存放于$_REQUEST[]中,当然,为了明确传送方式,读者最后使用$_GET[]或$_POST[]来明确获取的是哪种传输方式发送的数据,这里为了方便,统一使用了$_REQUEST[]。而有关于get和post两种方式的区别,读者可以参考有关材料,一般get被认为是从服务器获取数据,参数携带信息量较少,目的是希望获得服务器返回信息;而post是向服务器提交信息,参数携带信息量较大,一般希望服务器完成某种动作)

例如,通过

$op = $_REQUEST['op'] ? $_REQUEST['op'] : 'doTeaching';

这种方式获取前端发送的op参数的值(这里,我们定义op为操作符,目的是告诉服务器需要进行何种操作)

我们根据该操作符,进行相应的操作,这里我们只对“doTeaching”(也就是教师领取教学任务的前端指令进行实现)

if ($op == 'doTeaching') {
	// 教师领取教学任务
	$t_id = $_REQUEST['t_id'];
	$c_id = $_REQUEST['c_id'];
	// 通过frontAction类执行教师领取教学任务操作
	$front->Teaching($t_id,$c_id);
	// 通过frontAction类查询没有教师领取的教学任务
	// 以便教师能够继续选课
	$course_list = $front->LoadCourse(2);
	// 以json的形式返回查询结果,以便前端显示
	echo json_encode($course_list);
} 

其中,$front是实例化的frontAction(实例化,就是用类定义一个新的变量,以便后面可以通过这个变量来使用类定义的各种方法),其定义为:

// 初始化frontAction
// 此处为了便于理解,将数据库连接时需要的参数设置为明文
//  处于安全考虑,实际操作时,不要这样做
$front = new frontAction(
			'localhost:3306', // 主机名
			'root',  // mysql用户名
			'123456', // mysql密码
			'db_edu_sys' // 数据库名
);

本节小结:本章主要是通过一个例子来讲述PHP语言的基本语法,这里我们对本节涉及到的PHP语法再做一下说明,防止读者只关注实现例子本身(其实那并不是本节要讲述的重点)。

(1)类,如何定义一个类,类的属性和方法,类的继承。类的实例化。

(2)变量(属性),变量的定义和使用,PHP中变量类型的转化。

(3)函数(方法),函数的定义方式、命名、参数、返回值。

(4)数据库连接、切换(使用)数据库。

(5)SQL语句的执行,存储过程的调用。

(6)程序控制关键字,if(判断,分支语句)、for(循环语句)、while(循环语句)等。

掌握上述基础知识,本节的学习目的就达到了,也为我们进行下步学习打下良好的基础!

PHP语法学习参考网站:

https://www.php.net/manual/zh/langref.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值