相关疑难解决方法(0)

Reference — What does this symbol mean in PHP?

What is this?

This is a collection of questions that come up every now and then about syntax in PHP. This is also a Community Wiki, so everyone is invited to participate in maintaining this list.

Why is this?

It used to be hard to find questions about operators and other syntax tokens.¹
The main idea is to have links to existing questions on Stack Overflow, so it's easier for us to reference them, not to copy over content from …

php arguments symbols operators

4314
推荐指数
21
解决办法
63万
查看次数

参考 - 这个错误在PHP中意味着什么?

这是什么?

这是关于编程PHP时可能遇到的警告,错误和通知的一些答案,并且不知道如何修复.这也是社区Wiki,因此邀请每个人参与添加和维护此列表.

为什么是这样?

Stack Overflow上经常弹出诸如"已发送标头""调用非对象成员"之类的问题.这些问题的根本原因总是一样的.因此,这些问题的答案通常会重复,然后显示OP在他/她的特定情况下要改变哪一行.这些答案不会为网站添加任何价值,因为它们仅适用于OP的特定代码.具有相同错误的其他用户不能轻易地从中读取解决方案,因为它们过于本地化.这很难过,因为一旦你理解了根本原因,修复错误是微不足道的.因此,该列表试图以一般的方式解释解决方案.

我该怎么办?

如果您的问题已被标记为重复,请在下面找到您的错误消息并将修复程序应用于您的代码.答案通常包含进一步调查的链接,以防单独的一般答案不清楚.

如果您想贡献,请添加您的"收藏"错误消息,警告或通知,每个答案一个,简短说明它意味着什么(即使它只是突出显示其手册页的术语),可能的解决方案或调试方法和现有问答的清单.此外,随时改善任何现有的答案.

列表

另外,请参阅

php oop debugging warnings

1071
推荐指数
35
解决办法
19万
查看次数

__callStatic():从静态上下文实例化对象?

我很困惑PHP中的"静态"和"动态"函数和对象如何协同工作,特别是关于__callStatic().

__callStatic()的工作原理如下:

你可以有一个普通的类MyClass,你可以在类中放置一个名为__callStatic()的静态函数,只有当MyClass没有你想要的名字的静态函数时才会调用它.

即我打电话 MyClass::newFunction();

newFunction()被静态调用,但MyClass没有声明它.所以,然后__callStatic()被调用,你可以说

$myObject=new SomeOtherClass();
$myObject->newFunction();
Run Code Online (Sandbox Code Playgroud)

它调用你想要的函数但是在其他一些对象上.

精简版:

换句话说,__ callStatic()执行此操作:

MyClass::newFunction();
Run Code Online (Sandbox Code Playgroud)

这隐藏了这个:

(new SomeOtherClass())->newFunction();
Run Code Online (Sandbox Code Playgroud)

说什么呢?看起来代码从类中调用静态函数看起来就是从其他类调用该函数并通过实例化调用它,而不是静态调用.

请解释一下!

为什么这样做?你可以在其他地方做这样的事情,比如C++或Java吗?我正在寻找关于语言中静态和动态函数的简短而简洁但有用的解释,在这种情况下,无论是__callStatic()violates还是conforms语言结构的大图.或者它完全是一种新的语言结构.

php static instantiation magic-methods

13
推荐指数
1
解决办法
9748
查看次数