我知道PHP没有本机枚举.但我已经从Java世界习惯了它们.我希望使用枚举作为一种方式来提供IDE的自动完成功能可以理解的预定义值.
常量可以解决问题,但是存在名称空间冲突问题,并且(或实际上因为)它们是全局的.数组没有命名空间问题,但是它们太模糊了,它们可以在运行时覆盖,IDE很少(从不?)知道如何自动填充其键.
您是否经常使用任何解决方案/解决方法?有谁回忆一下PHP家伙是否对枚举有任何想法或决定?
何时以及为什么我应该在类中使用public,private和protected函数和变量?他们之间有什么区别?
例子:
// Public
public $variable;
public function doSomething() {
// ...
}
// Private
private $variable;
private function doSomething() {
// ...
}
// Protected
protected $variable;
protected function doSomething() {
// ...
}
Run Code Online (Sandbox Code Playgroud) class absclass {
abstract public function fuc();
}
Run Code Online (Sandbox Code Playgroud)
报告:
PHP致命错误:类absclass包含1个抽象方法,因此必须声明为abstract或实现其余方法(absclass :: fuc)
我想知道实现其余方法意味着什么,怎么做?
我试图在PHP中学习OOP,我对接口和抽象类有一些困惑.它们都不包含任何实现,只包含定义,并且应该通过它们的子类来实现.抽象类的哪一部分明确区别于接口?另外,由于它们有明显的相似性,我应该根据什么原因决定使用一个而不是另一个?
嘿,我对PHP很有经验,但我不知道关键字摘要在面向对象编程时会做什么.任何人都可以用简单的英语解释它可以用于什么?
我会在什么情况下使用abstract关键字?它如何改变类/接口?