关于PHP的环境搭建请看我之前的博客:PHP教程之一
关于PHP的开发工具请看我之前的博客:PHP教程二:开发工具 phpstorm 的下载、安装与激活
这章主要记录一下php的简单使用
和php与白鹭引擎的数据传输
phpstorm这里我更改了一下路径 当然你可以使用默认的 为了方便我该了一下 点击httpd.conf和httpd-vhosts.conf
然后更改路径:
然后重启Wampserve
然后打开phpstorm创建文件选择路径 要和你刚刚改的一样
然后右键 创建目录php
然后点击01右键创建php文件demo
然后输入 注:echo是php基本的输出方法。
echo "哈哈哈哈哈";
然后随便打开你的一个浏览器输入 注意你项目文件的路径一定要对
然后 下面我主要记录php和白鹭引擎Erget的数据交互
用php作为白鹭引擎的服务端
我门打开白鹭引擎 打开Main.ts 删除createGameScene()里的东西
然后在createGameScene()方法下 创建方法POSTRequestHTTP()
request.open("http://localhost/php/demo",egret.HttpMethod.POST); 是以post的方式访问你刚刚创建的php
protected createGameScene(): void
{
this.POSTRequestHTTP();
}
//发送POST请求(建议使用这个 无数据长度限制 密文发送)
private POSTRequestHTTP(){
var request = new egret.HttpRequest();
request.responseType = egret.HttpResponseType.TEXT;
//发送 POST 请求. 需要注意的是发送 POST 请求需要将参数放到send方法的参数中发送出去
request.open("http://localhost/php/demo",egret.HttpMethod.POST);//请求地址 请求类型post
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.send();
request.addEventListener(egret.Event.COMPLETE,this.onGetComplete,this);
request.addEventListener(egret.IOErrorEvent.IO_ERROR,this.onGetIOError,this);
request.addEventListener(egret.ProgressEvent.PROGRESS,this.onGetProgress,this);
}
//完成监听
private onGetComplete(event:egret.Event):void {
var request = <egret.HttpRequest>event.currentTarget;
console.log("获取数据: ",request.response);
}
//异常监听
private onGetIOError(event:egret.IOErrorEvent):void {
console.log("异常监听 get error : " + event);
}
//加载进度
private onGetProgress(event:egret.ProgressEvent):void {
console.log("加载进度get progress : " + Math.floor(100*event.bytesLoaded/event.bytesTotal) + "%");
}
然后编译运行白鹭你会发现
XMLHttpRequest cannot load http://localhost/php/demo. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:5044' is therefore not allowed access.
这是跨域访问控制的问题 我们在php代码里加上这句 这里的*是允许所有其他域名访问 真正项目时为了安全需要换成你项目的域名
header('Access-Control-Allow-Origin: *');
然后在运行白鹭引擎
哈哈 成功了有没有
然后我门扩展一下传参数据传递
白鹭传数据给服务端 php再将数据返回给白鹭
打开白鹭脚本 添加两句话 这里我传了两个参数id是007 和name 是后羿
然后 我们修改一下php
<?php
header('Access-Control-Allow-Origin: *');
echo "接受到客户端传来的数据";
echo "...............用户id:".$_POST["id"];
echo "...............用户名字:".$_POST["name"];
然后运行一下白鹭引擎
收到了有没有?
这章就讲到这了 下章说php与数据库 和白鹭传输数据到数据库的操作
番外:如果你有属于自己的网站那更好了 下面记录一下把php服务端搬到网站上了白鹭进行数据通讯
把你的php文件拖到网站文件里
然后打开网页到你的php 然后你会发现是乱码
编码格式不对 我们修改一下php 加上一句话
header("Content-Type: text/html; charset=utf-8");
然后将新的php文件替换 刷新网页
输出正常了有没有呢?
接下来更改白鹭地址 更换成你的网站
大结局!