<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Runtime Config on PlumePHP</title><link>https://plumephp.com/tags/runtime-config/</link><description>Recent content in Runtime Config on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sun, 29 Mar 2026 19:45:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/runtime-config/index.xml" rel="self" type="application/rss+xml"/><item><title>Phaser 运行时配置与功能开关：灰度、降级、缓存和安全边界要清楚</title><link>https://plumephp.com/phaser-runtime-config-feature-flags-2026/</link><pubDate>Sun, 29 Mar 2026 19:45:00 +0800</pubDate><guid>https://plumephp.com/phaser-runtime-config-feature-flags-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;团队想灰度开放新 Boss、关闭有问题的广告入口、调整每日奖励倍率，并让旧客户端安全忽略未知配置。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果所有开关写死在代码里，每次运营调整都要发版；如果完全信任远程配置，又可能被坏配置拖垮客户端。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item></channel></rss>