florianwolters/component-core-cloneable

允许并禁止PHP组件中对象的克隆。

v0.2.0 2013-03-19 16:49 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:12:22 UTC


README

FlorianWolters\Component\Core\Cloneable是一个易于使用的PHP组件,允许并禁止对象的克隆。

Build Status Scrutinizer Code Quality Code Coverage SensioLabsInsight Coverage Status

Latest Stable Version Total Downloads Monthly Downloads Daily Downloads Latest Unstable Version License

Stories in Ready Dependency Status Dependencies Status HHVM Status

目录

简介

此组件受Java编程语言的启发。

FlorianWolters\Component\Core\Cloneable由六个工件组成

  1. 接口FlorianWolters\Component\Core\CloneableInterface:指示类的魔术方法 __clone 可以对该类实例进行字段到字段的复制。
  2. 异常类FlorianWolters\Component\Core\CloneNotSupportedException:指示在类中调用了魔术方法 __clone 来克隆对象,但该对象的类没有实现CloneableInterface
  3. 特质FlorianWolters\Component\Core\CloneNotSupportedTrait:指示类的魔术方法 __clone 不能对该类实例进行字段到字段的复制。
  4. 特质FlorianWolters\Component\Core\ShallowCloneTrait:指示类的魔术方法 __clone 可以对该类实例进行字段到字段的浅层复制。
  5. 特质FlorianWolters\Component\Core\DeepCloneTrait:指示类的魔术方法 __clone 可以对该类实例进行字段到字段的深层复制。
  6. 静态类FlorianWolters\Component\Core\CloneUtils:提供克隆对象的操作。

特性

要求

生产

开发

用法

FlorianWolters\Component\Core\Cloneable 的最佳文档是它所包含的单元测试。

安装

FlorianWolters\Component\Core\Cloneable 应使用依赖管理工具 Composer 进行安装。

Composer 是用于 PHP 的依赖管理工具。它允许您声明项目所需的依赖库,并将其安装到项目中。

可以使用 php 下载 Composer 安装程序。

php -r "readfile('https://getcomposer.org.cn/installer');" | php

这将会检查一些 PHP 设置,并将 composer.phar 下载到您的当前工作目录。这个文件是 Composer 的二进制文件。它是一个 PHAR (PHP 归档),它是一种可以在命令行上运行的 PHP 归档格式。

要解决并下载依赖项,请运行 install 命令

php composer.phar install

作为组件依赖

如果您正在创建依赖于 FlorianWolters\Component\Core\Cloneable 的组件,请确保将 FlorianWolters\Component\Core\Cloneable 添加到您的组件的 composer.json 文件中

{
    "require": {
        "florianwolters/component-core-cloneable": "0.3.*"
    }
}

贡献

请参阅 CONTRIBUTING.md.

致谢

许可证

本程序是自由软件:您可以根据自由软件基金会发布的 GNU 较小通用公共许可证的条款重新分发和/或修改它,许可证版本为 3,或(根据您的选择)任何更高版本。

本程序的分发是希望它将是有用的,但没有提供任何保证;甚至没有对适销性或特定用途适用性的暗示保证。有关详细信息,请参阅 GNU 较小通用公共许可证。

您应该已经收到一份 GNU 较小通用公共许可证副本。如果没有,请参阅 http://gnu.org/licenses/lgpl.txt.