swoft速学:HttpServer入门(1):控制器、注解、@RequestMapping

第二章 swoft 快速入门 RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前分布式系统架构 ,微服务中不同的系统之间的远程通信和相互调用的重要的环节。客户端通过发送一个规定的rpc协议,请求服务的注册中心,由服务注册中心检索可用服务并且实现调用转发,服务内容由代码服务器在启动的时候,注册到服 务中心。服务中心暂时利用redis存储内容。 阅读详情

1、Swoft的安装部分,请直接看官网文档

https://doc.swoft.org/master/zh-CN/quickstart/enviroment.html

2、安装完成之后,可以来启动HTTP 服务

php bin/swoft start

浏览器访问 http://localhost/ 就看到了Swoft默认的页面。

3、尝试写一个自己的控制器

在app\Controllers目录下新建HelloController.php,代码如下:

<?php
namespace App\Controllers;

use Swoft\Http\Server\Bean\Annotation\Controller;
use Swoft\Http\Server\Bean\Annotation\RequestMapping;
use Swoft\Http\Server\Bean\Annotation\RequestMethod;

/**
 * Class HelloController
 * @Controller()
 */
class HelloController
{
    /**
     * @RequestMapping()
     * @return string
     */
    public function test()
    {
        return "Hello World";
    }
}

浏览器访问 http://localhost/hello/test 页面输出了:Hello World。

Swoft里控制器使用了注释的方式来实现路由(其原理是PHP的反射机制),文档地址:

https://doc.swoft.org/master/zh-CN/http-server/controller.html

(这个特性是不是如同Java的Spring框架)

修改@Controller()和@RequestMapping() 2个注解之后,我们来看看又是怎么访问的?

@Controller("hi")
@RequestMapping("abc")

浏览器访问 http://localhost/hi/abc 页面依然输出了:Hello World。

相信到这里你已经大致明白了 这个控制器路由是怎么一回事。

Swoft2.0学习笔记 目录第一章:基础知识1.课程简介2.进程3.案例:实现一个Master、Worker的进程4.线程5.实战:实现waitGroup功能6.进程、线程、协程的区别第二章:初识Swoft2.01.Swoft介绍2.Swoft环境安装3.gcc升级4.安装Swoft框架5.目录结构介绍6.SwoftCli 工具7.Swoft配置第三章:Swoft2.0核心第四章:Http服务器第五章:验证器第六章:数据库操作第七章:Redis第八章:AOP编程第九章:任务处理 第一章:基础知识 1.课程简介 2.进程 3.案例: 阅读详情

相关推荐

swoft 全栈框架

首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。

Swoft入门及技术指南

初识Swoft 参考素材 swoft官网:http://swoft.org/ 在线官方文://档:https://doc.swoft.org http://swoft.org/docs 参考文档: 最新版本 目前最新版本2.0 辅助工具 安装Swoft 使用Composer安装 安装composer,参见:https://blog.youkuaiyun.com/yan_dk/articl...

yan_dk的专栏 7897

Unity 接入HybridCLR的点点滴滴,亲测三平台(PC、Android、WebGL)妥妥的。-问题分享

一入热更深似海啊,没有热更是真恼火啊,干啥啥不方便,动不动就得重新发包;说实在的,也是工作之余研究这个,在原有框架基础上接入这个热更,既要保持原有功能,还要支持热更,实实在在、断断续续搞了这么久,终于是接入并测通了,这一路是坎坎坷坷,下面把走过的弯弯绕绕记录下,希望对后来想接入的小伙伴有帮助吧。

GarFe的博客 1万+

swoft速学:HTTP服务: 获取POST参数、简单验证器

1、在控制里获取POST参数 /** * @RequestMapping(route="add", method={RequestMethod::POST}) * @param Request $request */ public function addNews(Request $request) { } 使用@RequestM...

3711

libnice和coturn这两个库有交叉实现的地方,具体有啥区别?

TurnAdmin:是一个TURN的管理工具,此工具能被用来管理用户账号的增删改查。 TurnServer:是TURN和STUN的服务器实现。 Turnutils_uclient: 模拟多个UDP、TCP、TLS或DTLS客户端 Turnutils_peer: 一个简单的无状态UDP-ECHO服务器,用作中继模式中的最终服务器 Turnutils_stunclient: 一个简单的STUN客户端例子 Turnutils_rfc5769check: 检查STUN/TURN协议实现的正确性。 我们..

Langeldep的专栏 1318

国产数据库PolarDB-X实战:5分钟快速搭建本地开发环境(附Docker一键部署脚本)

本文提供了一份详尽的国产分布式数据库PolarDB-X本地开发环境搭建指南。通过Docker Compose一键部署脚本,开发者可在5分钟内快速启动一个功能完整的PolarDB-X实例,涵盖环境准备、脚本解析、连接验证及日常维护,极大简化了国产数据库的入门和体验流程。

weixin_29246195的博客 356

swoft微服务实战十四:获取Http响应对象方式

Swoft的请求与响应实现于PSR 7规范.请求与响应对象存在于每次HTTP请求.

m0_68635815的博客 436

Linux命令行入门:从零掌握服务器运维与Shell脚本基础

在信息化时代,操作系统是数字世界的基石,而终端命令行则是高效驾驭服务器的核心技能。无论是软件部署、服务监控还是故障排查,掌握基于Shell的指令操作都能大幅提升工程效率。从最基础的文件目录管理、文本处理,到权限控制、进程监控与网络调试,命令行提供了一套强大且可自动化的操作范式。尤其对于运维工程师和开发者而言,理解管道、重定向以及脚本化任务,意味着将重复劳动转化为可复用的自动化流程。本文从环境准备讲起,系统梳理常用Linux命令的实际场景与输出验证,并延伸至Shell脚本编写与定时任务,帮助初学者快速建立从操

weixin_30522983的博客 255

php swoft 路由,(swoft-2.x框架)1、使用入门

说明php7由于新框架须要安装swoole,只能linux环境运行,这里本机开发是win10(:debian云服务器主机上git clone 项目,再同步到本机phpstorm、修改提交;或使用win10的docker安装)。这里docker有个bug:无法感知主机文件的热更新,所以运行加了 --rm 选项,手动热启动。1.安装官方提供docker方式简便快捷:(git clone https:/...

weixin_35715366的博客 546

离散数学期末复习笔记【精华版】

文章目录前言一、????理逻辑1. 命题逻辑2. 等值演算3. 主合取范式、主析取范式4. 【题】推理证明5. 辖域、自由变元、约束变元二、????合1. 环和、环积,幂集,笛卡尔乘积三、 ????????关系1. 自反、对称、传递2&3. 合成运算,逆关系、闭包4. 哈斯图、上下界、偏序5. 等价关系、划分四、????1. 幺元(么元、单位元)、零元、逆元,半群、群、阿尔贝群、独异点、循环独异点2. 【题】由表判断3. 【题】证明五、????论1. 简单图、平凡图、多重图、子图、补图、出度、入度、

林大夕可的博客 17万+

CAM350常用快捷键

CAM350快捷键 CAM350常用快捷键

bhxc809751502的博客 3052

Swoft2.x 小白学习笔记 (一) ---控制器

Swoft通过官方文档进行学习,这里不做介绍,直接上手。 涉及到Swoft方面:(配置、注意的坑)   1、控制器(路由、验证器、中间件)   2、mysql (Model使用)、Redis配置及通用池   3、Task(任务、定时任务,监听器)   4、协程简单实现   5、RPC实现 准备: 1、先安装php各种扩充,有的扩充不兼容需要禁用 ...

weixin_38168198的博客 446

PCL 区域生长分割【2026最新版】

区域生长算法原理介绍、代码实现以及一个具体实验场景的应用案例进一步实现将分割结果的分类保存至本地文件夹。最近一次更新时间为:2026年5月4日。

点云侠的博客 40万+

swoft 启动http服务成功但是通过ip:端口号访问报错

问题 在启动http服务的时候,启动成功效果如图: 但是通过ip:端口号形式访问报错(当用80端口作为http端口号时访问成功),在一番挣扎后明白是linux的防火墙的问题 解决方法: 在linux(centos)上执行以下命令,完成后重启http服务即可正常访问 参考文章:https://blog.youkuaiyun.com/qq_31482599/article/details/80829633 ...

程序员-大雄的博客 109

【WRF理论第十五期】WPS中输入geogrid二进制格式

WPS中输入geogrid二进制格式

WW、forever的博客 1078

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

swoft学习笔记之request请求

文章目录获取 request 对象获取请求数据获取请求 method获取请求的 uri获取请求 headers获取 get 数据获取 post 数据获取 get & post 数据获取上传文件其它一些方法 获取 request 对象 通过控制方法参数注入的方式 <?php declare(strict_types=1); namespace app\Http\C...

zs_4336的博客 1431

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Swoft初体验

Swoft初体验如何利用swoft搭建一个微服务框架 如何利用swoft搭建一个微服务框架 环境依赖 ,swoft首先是一个环境的问题,像普通的web服务都是lnmp,但是swoft就充当了其中的n,所以只要安装好其他部分就可以了,具体的看网上其他攻略,swoft就用composer下载就好了; composer create-project swoft/swoft swoft; 启动服务 php bin/swoft http:start 默认的不是80 端口,这里我改了./app/bean.

qq_38410991的博客 3780

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

1.微服务-swoft入门

Swoft介绍1.swoft生命周期①.首先会调用相关处理器做相关的初始化工作②.注解信息扫描收集2.框架快速入门 首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言...

lixiyong1989的博客 619

Swoft 快速上手小贴士

    IDE一定要装注解插件PHP Annotations  Request和Response里的with...开头的方法会clone $this, 而不是修改本实体, 所以设置Cookie之类的时候要$response = $response-withCookie(...  配置文件等在onWorkerStart之前加载的文件, 重启后才生效  自定义注解时, 方法注解和属性注解依赖于类注解。...

weixin_34331102的博客 264

Swoft的注解分析和实现一个RPC服务

Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等。

码农兴哥的技术笔记 553

swoft微服务实战十五:获取路由path参数

3、如果2OK,则把rawContent 进行json_decode处理。2、如果是,则取 请求的 rowContent 。Json参数请求,服务端如何获取?

m0_68635815的博客 435

swoft微服务实战二:swoft启动

宿主机代码改动,重启容器可以解决,但是麻烦.

m0_68635815的博客 459

手写简单的HttpServer基于Java nio 实现socket异步通信(请求映射注解方式)

HttpServer服务类 1 package javax.servlet.http.server2; 2 3 import java.io.IOException; 4 import java.net.InetSocketAddress; 5 import java.nio.channels.SelectionKey; 6 import java.nio....

banlie3819的博客 237

swoft服务端和客户端的创建

#swoft:RPC服务 https://doc.swoft.org/master/zh-CN/rpc-server/index.html 1、第一步:创建接口 https://doc.swoft.org/master/zh-CN/rpc-server/interface.html 在app/Lib/目录中创建一个ProductInterface.php,代码如下: &lt;?php namesp...

2829

easyswoole使用 从ThinkPHP5.1独立出来的数据库ORM类库

文档地址: https://www.easyswoole.com/Manual/2.x/Cn/_book/Database/think_orm.html 1、安装 cd easyswoole #进入项目目录 composer require topthink/think-orm 2、数据库配置 在Config.php里添加配置项: 'database' =&amp;gt; [ ...

7239
上一篇: 缓存超时策略(2):缓存过期时自动触发事件
下一篇: swoft速学:数据库配置、实体定义
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值