florianwolters/component-util-observer

PHP 组件形式的观察者行为设计模式。

dev-master 2013-03-06 12:50 UTC

This package is not auto-updated.

Last update: 2024-09-14 11:52:00 UTC


README

Build Status

FlorianWolters\Component\Util\Observer 提供了简单易用的 观察者 行为设计模式,作为 PHP 组件。

简介

观察者 是一种 行为 设计模式,定义为以下内容

"定义对象之间的一对多依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都会被通知并自动更新。"

-- E. Gamma 等. 设计模式:可复用面向对象软件元素. Westford: Addison-Wesley, 1995.

特点

要求

安装

本地安装

FlorianWolters\Component\Util\Observer 应使用依赖管理器 Composer 安装。可以使用 PHP 安装 Composer

php -r "eval('?>'.file_get_contents('http://getcomposer.org/installer'));"

该程序将仅检查一些PHP设置,然后下载composer.phar到您的当前工作目录。此文件是Composer的二进制文件。它是一个PHAR(PHP存档),它是一种用于PHP的存档格式,可以在命令行上运行,以及其他一些功能。

接下来,运行install命令以解决和下载依赖项

php composer.phar install

系统级安装

FlorianWolters\Component\Util\Observer应使用PEAR安装程序安装。此安装程序是PHP社区安装PHP组件的公认标准。

pear channel-discover pear.florianwolters.de
pear install --alldeps fw/Observer

作为组件的依赖项

Composer

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

{
    "require": {
        "florianwolters/component-util-observer": "0.1.*"
    }
}

PEAR

如果您正在创建依赖于FlorianWolters\Component\Util\Observer的组件,请确保将FlorianWolters\Component\Util\Observer添加到组件的package.xml文件中

<dependencies>
  <required>
    <package>
      <name>Observer</name>
      <channel>pear.florianwolters.de</channel>
      <min>0.1.0</min>
      <max>0.1.99</max>
    </package>
  </required>
</dependencies>

使用方法

FlorianWolters\Component\Util\Observer的最佳文档是包含在包中的单元测试。您可以在PEAR仓库中找到它们,在Linux系统中通常是/usr/share/php/test

开发环境

如果您想修补或增强此组件,您需要创建一个合适的发展环境。最简单的方法是安装phix4componentdev

# phix4componentdev
pear channel-discover pear.phix-project.org
pear install phix/phix4componentdev

然后,克隆Git仓库

# PHP-Component-Util-Observer
git clone http://github.com/FlorianWolters/PHP-Component-Util-Observer

然后,安装此组件依赖项的本地副本以完成开发环境

# build vendor/ folder
phing build-vendor

为了使您的生活更加轻松,已使用phing自动化了常见任务(例如运行单元测试、生成代码审查分析以及创建PEAR包)。您可以在组件附带的build.xml文件中找到自动化的步骤。

在组件的顶层文件夹中运行命令phing以查看可用的所有自动化任务列表。

许可证

本程序是免费软件:您可以重新分配它并/或根据自由软件基金会发布的GNU Lesser General Public License的条款对其进行修改,无论是许可证的第3版,还是(根据您的选择)任何后续版本。

本程序是在希望它将是有用的前提下分发的,但不提供任何保证;甚至没有关于其适销性或特定用途适用性的暗示保证。有关详细信息,请参阅GNU Lesser General Public License。

您应已收到GNU Lesser General Public License的副本。如果没有,请参阅http://gnu.org/licenses/lgpl.txt