hrn4n/magic

此包已被废弃,不再维护。未建议替换包。

为您的类提供魔法的获取器和设置器

1.1.0 2016-03-26 22:52 UTC

This package is not auto-updated.

Last update: 2020-08-13 23:13:10 UTC


README

为任何类提供获取器和设置器,带有onSet监听器

安装

可以使用composer安装Magic。运行以下命令

composer require hrn4n/magic

用法

要使用它,只需创建一个扩展Access\Magic类的类

<?php 
class Person extends Access\Magic
{
  protected $name;
}

这样就可以了,您就可以开始使用获取器和设置器了

<?php
$me = new Person;

$me->setName("Hernan");

$me->get("name"); # returns "Hernan"
$me->getName(); # also returns "Hernan"

hasPropertyName()

当您调用 $me->hasProperty() 时,如果属性存在且不为空,它将返回true,否则返回false

isProperty()

$me->isProperty()$me->getIsProperty()$me->getProperty() 的简写。它将首先检查 'isProperty' 是否存在,如果不存在,则检查 'Property' 是否存在

onSet 监听器

假设我们在Person类中添加一个onNameSet

<?php 
class Person extends Access\Magic
{
  protected $name;
  
  public function onNameSet($name) {
    # convert name to uppercase before setting 
    return strtoupper($name);
  }
}

然后我们运行以下代码

<?php 
$me = new Person;
$me->set("name", "hernan"); # alternative way of setting properties

$me->getName(); # returns "HERNAN"