rakshazi/get-set-trait 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rakshazi/get-set-trait

最新稳定版本:1.0.5

Composer 安装命令:

composer require rakshazi/get-set-trait

包简介

Dynamic Setter-Getter for PHP 5.4+

README 文档

README

A dynamic setter-getter library for PHP 5.4+.

You can use methods like setFoo('bar') and getFoo(), which you DON'T have to create (in your class). GetSetTrait will make these methods work for you automatically as long as you have a $foo property in your class.

It makes use of Traits, so using it is super simple, you don't have to extend any class, as you can extend a single class only, we don't force you to use ours. You can restrict to only getter only or you can specify a Type for property using annotations.

Installation

GetSetTrait uses Composer to make hassles Go.

Learn to use composer and add this to require (in your composer.json):

"rakshazi/get-set-trait": "@stable"

Library on Packagist.

Usage

Just add this in your classes:

use Rakshazi\GetSetTrait;

class Dummy
{
    //Add ability to use dynamic getters and setters
    use \Rakshazi\GetSetTrait;
}

//Init dummy class
$dummy = new Dummy;
//Set new var 'message_for_world' with value
$dummy->setMessageForWorld('Hello');
//Will return "Hello\n"
echo $dummy->getMessageForWorld()."\n";
//Will return the same text
echo $dummy->getData('message_for_world')."\n";
//Set new message for our world!
$dummy->setData('message_for_world', 'Bye-bye!');
//Will return "Bye-bye!\n"
echo $dummy->getData('message_for_world')."\n";
//Will set new var 'new_message'
$dummy->setNewMessage('Use me now!');
//Will return true, value exists
$dummy->hasNewMessage();
//Will return false
$dummy->hasSomeOtherValue();
//Will show all object data
var_dump($dummy);

That's basically it.

Advanced usage

Data property

If you want save all data in $object->someProperty array instead of saving each property as object's property ($object->property_name), you can use setDataProperty('data') function, example:

<?php
class Dummy
{
    //Add ability to use dynamic getters and setters
    use \Rakshazi\GetSetTrait;

    public function __construct()
    {
        $this->setDataProperty('data');
    }
}

//Init dummy class
$dummy = new Dummy;
//Set new var 'message_for_world' with value
$dummy->setMessageForWorld('Hello');
//Will return "Hello\n"
echo $dummy->getMessageForWorld()."\n";
//Will return the same text
echo $dummy->getData('message_for_world')."\n";
//Set new message for our world!
$dummy->setData('message_for_world', 'Bye-bye!');
//Will return "Bye-bye!\n"
echo $dummy->getData('message_for_world')."\n";
//Will set new var 'new_message'
$dummy->setNewMessage('Use me now!');
//Will return all properties in an array
$dummy->getAllData();
//Will show all object data
var_dump($dummy);

Result (all data saved in data property)

object(Dummy)#1 (2) {
  ["_data_property":"Dummy":private]=>
  string(4) "data"
  ["data"]=>
  array(2) {
    ["message_for_world"]=>
    string(8) "Bye-bye!"
    ["new_message"]=>
    string(11) "Use me now!"
  }
}

统计信息

  • 总下载量: 11.61k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 3
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-05-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固