1.1. 开始之前

未匹配的标注

持之以恒,方得始终!

写这份笔记的起因

在一家游戏公司工作了两年多了,最近出来了,刚好可以休息一段时间,看到我多年前买的这本书,蒙尘已久,就打算边看边做一份笔记了,巩固一下 php 基础知识点。

也借助于 learnku 平台,督促自己能坚持下去。

前份工作收获

简单说下工作收获吧,项目后端采用 workerman,前端使用白鹭引擎,日常开发和普通的 php 开发差不多,只是多了一些 workerman 里面的调用,核心还是操作 redis 这块,因为数据是保存到 redis 中的,定期落地到 MySQL,所以对 redis 的操作,就要特别小心了。特别是并发情况下,要加锁,某些情况下,要做 redis 事务。

还有一块也是需要特别注意的,玩家的状态,比如 登录,未登录,在线,离线,离线好几天,隔几天上线,在线玩家获取离线玩家数据。。。

为什么要考虑这些状态呢,举个例子,我有一个7天的活动,玩家登录时,是不是要初始化一下数据,参与了活动,是不是要更改数据,假如中间几天离线了,最后登录进来,活动已结束了,最终玩家的数据又该怎么办呢?

在举个例子,某次我修改某个会影响角色战力的东西,修改后,提交到线上,结果马上就有玩家反馈,在一个场景里,和别人打时,战力和之前差距很大,经过排查,发现这个改动,是在登录时,才会触发的,未登录的玩家不会去变更战力,在线玩家去打离线玩家时,就会出问题了。

最后还有一个,用户在当天晚上,一直在线过渡到第二天,到第二天,假如我要更新某个数据,又该如何呢?我们是加了一个定时器的,这里用不了定时任务的,因为定时任务是针对全部的用户。

这些都是平常遇到过的问题,给足了经验教训。

环境准备

我的电脑是 windos10 系统

我们先只安装一个 php 即可,执行脚本,我们可以直接 php xx.php,或者使用 php 内置的web服务,进入到要启动的项目根目录下,执行命令开启 php -S 127.0.0.1:8080

为了后续方便,我们的代码都放到桌面下的 code 目录下

因为是练习,我的环境暂时不会搞的很复杂。

安装 php

  1. 很简单,下载对应系统的二进制包即可,解压后,里面有个 php.exe ,添加到系统path路径下。
  2. php.ini-development 文件 copy 一份出来,命名为 php.ini

到此,已安装好了。

cli 模式执行一个 php 脚本

很简单,我们到桌面新建一个 code 目录,在下面新建一个 index.php 的脚本,写入一段代码。

var_dump("cli mode run~~");

然后使用一个终端,进入到 code 目录下,执行

php index.php

终端的选择,我们有很多,比如 git terminal, windos的powerShell,或者 IDE 中自带的命令工具。

当然我们也可以使用 wsl2 + docker + powerShell + vscode 的形式(推荐),这种等作者玩的熟练后,会出一些专门的笔记。

web server 服务提供方式

同样,也很简答,我们用命令行工具,进入到 code 下,执行如下命令

php -S 127.0.0.1:8080

端口可以自定义,开启后,不要关闭这个命令行窗口,除非你不需要这个web服务了。(提醒:不要用这种方式,当做线上环境部署,这种仅是为了测试方便而已,线上应该用更好的web server,比如nginx)

我们在浏览器访问 http://127.0.0.1:8080/ 即可看到输出结果

到此,我们一个比较简单的测试环境就安装好了,接下来,就开始正式的边看书,边理解,边敲代码了。在这里做一份记录,也方便日后复习,查询。

如有任何侵权行为,请通知我删除,谢谢大家!
个人邮箱:865460609@qq.com

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
Junwind
讨论数量: 0
发起讨论 查看所有版本


暂无话题~