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
- 很简单,下载对应系统的二进制包即可,解压后,里面有个 php.exe ,添加到系统path路径下。
- 将
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