php使用form-create、FormBuilder快捷创建表单

form-create、FormBuilder不用不知道,一用吓一跳!好用还漂亮

说明一下,form-create主要是用于前段的,FormBuilder是大神基于form-create写的能够用php写前端表单的,我在B站也简单将了一下如何使用,看完文档还没看完的,可以去我的B站看看视频讲解

form-create本来是给前端整合用的,个人觉得主要是快速生成漂亮的表单开发的套件吧。它里面包含了主要的两套现在最流行的UI框架,ElementUI 和 Iview ,就给一个简单的json数据就能快速生成。对于那些前段技术比较牛逼的,那就不提了。

作为一个php程序猿,会遇到自己写一些表单页面,搞半天功能是没问题,但是最后看哪那不顺眼,就是不想看第二眼,在逛github时,突然发现FormBuilder这个好东西。可能大家也早都开始了,文档也有,还是比较好的一个插件,但是使用有难度,需要有基础的人才可以操作。完全按照它文档的套路走可能是达不到预期的效果,简单总结一下吧!

1、FormBuilder首先就按照它的文档进行安装(composer)然后去看看它的demo

2、然后就是引用,它也提供了两种ElementUI 和 Iview,这里就不赘述

3、然后直接复制它的主页例子来看看效果,结果问题就来再怎么整都不行…

拦路1

这可是完全复制文档上说的呀!!复制粘贴都能错了,只能去读它的源码了,发现源码不是那么复杂,写的代码还是很工整的,结果问题找到了,源码上写的是createForm() but 例子中写的是form()把这个问题解决了,就能继续往下走了
错误错误例子源码

拦路2

在表单创建完成后,接受数据返回数据的时候,这又让人脑袋大,仔细阅读它的Response文档,首先需要引入一个类use FormBuilder\Response,重点又来了,完全按照它的例子你可能看不明白怎么返回,他就给了一个$response = Response::success('表单提交成功'); 接下来就把你晾在那了。
如果说你是用过Symfony\Component\HttpFoundation\Response 那么就没啥问题,如果没有,那就先在想想,它返回的是一个对象,但是你用一般的访问对象的方式就只能访问一个head,其它的你是看见也访问不到,这个时候你去读读HttpFoundation的文档,就会发现它的功能非常强大,你需要获取到它的content属性里面的值,
那么你就不能用 $response->Contenter而是要用$response->getContent(); 不要问为什么,因为造轮子的人就是这么造的

好了然后你就可以echo输出这个返回值,用success或者fail,页面上就能正常操作。还有很多更强大的功能,后面用了再写,今天就先写到这。看完文档还没看完的,可以去我的B站看看视频讲解

Java中的`httputil`没有原生的实现,但是可以使用`Apache HttpClient`库来发送`form-data`请求。以下是一个示例代码: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.HttpMultipartMode; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import java.io.File; import java.io.IOException; public class HttpUtil { public static CloseableHttpResponse sendFormData(String url, String fieldName, String fileName) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); // 创建 multipart 请求体 MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); builder.addBinaryBody(fieldName, new File(fileName), ContentType.DEFAULT_BINARY, fileName); HttpEntity entity = builder.build(); httpPost.setEntity(entity); // 发送请求 CloseableHttpResponse response = client.execute(httpPost); // 处理响应 System.out.println(response.getStatusLine()); return response; } } ``` 在调用此函数时,您需要提供目标URL,表字段名称和文件名。例如: ```java try { CloseableHttpResponse response = HttpUtil.sendFormData("http://example.com/upload", "file", "/path/to/file"); // 处理响应 } catch (IOException e) { e.printStackTrace(); } ``` 请注意,您需要在代码中处理任何可能的异常,例如在发送请求或处理响应时发生的错误。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值