首页 / PHP / PHP-通过实例化父类访问常量
PHP-通过实例化父类访问常量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-通过实例化父类访问常量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1140字,纯文字阅读大概需要2分钟。
内容图文
首先输入一些代码…
FlashBagUtil类包含常量:
class FlashBagUtil
{
const TYPE_NOTICE = 'notice';
const TYPE_WARNING = 'warning';
const TYPE_ALERT = 'alert';
const LANG_EN = 'en';
const LANG_RU = 'ru';
const LANG_IL = 'il';
}
家长班:
class CoreController
{
public $flashUtil;
public function __construct()
{
$this->flashUtil = new FlashBagUtil;
}
}
子班:
class BatchController extends CoreController
{
public function indexAction()
{
// Method 1 - This works fine
$flash = $this->flashUtil;
$flashType = $flash::TYPE_NOTICE;
// Method 2 - This, obviously, does not
$flashType = $this->flashUtil::TYPE_NOTICE;
// Method 3 - Neither does this as $flashUtil is a non-static instantiated object
$flashType = self::$flashUtil::TYPE_NOTICE;
}
}
PHP文档states:不能使用实例化的类对象访问声明为static的属性(尽管可以使用static方法).
但是我似乎能够用第一种方法做到这一点.我想念什么?
在这种情况下,方法1是访问静态内容的唯一,最干净的方法吗?
解决方法:
您所引用的类constant与类变量(属性)不同,并且可被实例化对象访问.您正在引用的文档引用了用static关键字(即private static $flashUtil;)定义的类变量,如果您习惯于使用其他更严格类型的OOP语言进行编程,则可能会引起混淆.
内容总结
以上是互联网集市为您收集整理的PHP-通过实例化父类访问常量全部内容,希望文章能够帮你解决PHP-通过实例化父类访问常量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。