wma*_*but 1 php oop scope static-members
让我先说一下,我来自Java背景.
PHP中静态类成员的范围是什么?即:请求,会话,服务器生命周期等
我目前的理解是,一切都是请求,除非它被困在会话上.我在" 语言指南"中没有发现任何反驳或证实这一点的内容.
class MyKlass {
public static $K_PAGE_SIZE = 50;
public static $K_WITH_SPRINKLES = true;
}
if (isset($_GET['NO_SPRINKLES'])) {
MyKlass::$K_WITH_SPRINKLES = false;
}
var_dump(MyKlass::$K_WITH_SPRINKLES);
Run Code Online (Sandbox Code Playgroud)
情况1
如果我要查看具有此代码的页面,查询行中没有任何内容,我应该看到
bool(true)
Run Code Online (Sandbox Code Playgroud)
案例2
如果我使用此代码访问页面并?NO_SPRINKLES=true在查询行中,我应该看到
bool(false)
Run Code Online (Sandbox Code Playgroud)
案例3
如果我?NO_SPRINKLES=true在查询行中访问该页面然后访问没有它的页面,我应该总是看到 bool(true) 对吗?
案例4
访问与该页面后?NO_SPRINKLES=true,其他人谁访问的页面还是要看 bool(true) 是否正确?
小智 5
除非您使用会话,否则PHP不会保留任何信息.因此,当您加载页面时,会在代码开头创建一个变量,并在代码结束时将其删除.
与班级及其成员相同.你可以根据需要编辑它们,它会保留信息,但是在脚本的最后,它会丢失.
| 归档时间: |
|
| 查看次数: |
833 次 |
| 最近记录: |