aedart / model
    3.3.0
    2018-11-25 15:05 UTC
Requires
- php: >=7.1.0
Requires (Dev)
- aedart/license: 1.*
- aedart/license-file-manager: ~1.8
- aedart/scaffold-bundle: ~2.0
- aedart/testing-gst: ~2.0
Suggests
- aedart/dto: This package is ideal for the Data Transfer Object (DTO) abstraction
- aedart/scaffold: console wizard for installing something...
- aedart/scaffold-bundle: A few out of the box scaffolds
README
弃用 - 模型
包已被 aedart/athenaeum 替换 所有已知组件已迁移到 Athenaeum 包。
集合了各种获取器和设置器-接口,以及各种特性实现,用于不同类型的“常见”属性。可用于创建 DTOs。
内容
何时使用此包
- 当需要明确指定给定对象上必须有哪些属性时
- (当多个对象共享相同的属性时)
如何安装
composer require aedart/model
此包使用 composer。如果你不知道这是什么或者它是如何工作的,我建议在使用此包之前先阅读一些相关信息。
快速入门
创建你的接口
在以下示例中,我们创建一个简单的个人接口,包括id、姓名和描述;
<?php namespace Acme\Contracts; use Aedart\Model\Contracts\Integers\IdAware; use Aedart\Model\Contracts\Strings\DescriptionAware; use Aedart\Model\Contracts\Strings\NameAware; interface Person extends IdAware, NameAware, DescriptionAware { }
具体实现
使用默认提供的特性,以创建接口的具体实现;
<?php namespace Acme\Models; use Acme\Contracts\Person as PersonInterface; use Aedart\Model\Traits\Strings\DescriptionTrait; use Aedart\Model\Traits\Strings\IdTrait; use Aedart\Model\Traits\Strings\NameTrait; class Person implements PersonInterface { use IdTrait; use NameTrait; use DescriptionTrait; }
可用属性
| 属性 | 支持的类型 | 
|---|---|
| A | |
| 动作 | string | 
| 地址 | string | 
| 年龄 | int | 
| 代理 | string | 
| 别名 | string | 
| 金额 | int, float | 
| 周年纪念日 | int, string | 
| 区域 | string | 
| 询问 | bool | 
| 作者 | string | 
| B | |
| 基础路径 | string | 
| 开始 | string | 
| 出生日期 | int, string | 
| 品牌 | int, string | 
| 建筑编号 | string | 
| C | |
| 日历 | string | 
| 卡号 | string | 
| 持卡人 | string | 
| 卡类型 | string | 
| 类别 | array | 
| 分类 | string | 
| 选择 | array | 
| 城市 | string | 
| 类别 | string | 
| 代码 | string | 
| 颜色 | string | 
| 列 | string | 
| 评论 | string | 
| 公司 | string | 
| 内容 | string | 
| 国家 | string | 
| 创建于 | int, string | 
| 货币 | string | 
| D | |
| 数据 | array | 
| 数据库 | string | 
| 日期 | int, string | 
| 去世日期 | int, string | 
| 已删除时间 | int, string | 
| 交付时间 | int, string | 
| 送货地址 | string | 
| 送货日期 | int, string | 
| 深度 | int, float | 
| 描述 | string | 
| 目录 | string | 
| 折扣 | int, float, string | 
| 距离 | int, float, string | 
| 域名 | string | 
| 持续时间 | int, float, string | 
| E | |
| Ean13 | string | 
| Ean8 | string | 
| Ean | string | 
| 版本 | int, string | 
| 邮箱 | string | 
| 结束 | string | 
| 结束日期 | int, string | 
| 错误 | int, string | 
| 事件 | int, string | 
| 过期时间 | int, string | 
| F | |
| 文件扩展名 | string | 
| 文件名 | string | 
| 文件路径 | string | 
| 名 | string | 
| 格式 | string | 
| 格式化名称 | string | 
| G | |
| 性别 | string | 
| 组 | int, string | 
| H | |
| 高度 | int, float | 
| 主机 | string | 
| Html | string | 
| I | |
| Iata | string | 
| Iban | string | 
| Icao | string | 
| Id | int, string | 
| 标识符 | int, string | 
| 图像 | string | 
| 索引 | int, string | 
| 发票地址 | string | 
| Ip | string | 
| IpV4 | string | 
| IpV6 | string | 
| IsicV4 | string | 
| Isbn | string | 
| Isbn10 | string | 
| Isbn13 | string | 
| J | |
| Json | string | 
| K | |
| Key | string | 
| 种类 | string | 
| L | |
| 标签 | string | 
| 语言 | string | 
| 姓 | string | 
| 纬度 | float, string | 
| 长度 | int, float | 
| 许可证 | int, string | 
| 区域设置 | string | 
| 位置 | int, string | 
| 位置 | array | 
| 标志 | string | 
| 经度 | float, string | 
| M | |
| Mac地址 | string | 
| 制造商 | string | 
| 材料 | string | 
| 媒体类型 | string | 
| 消息 | string | 
| 方法 | int, string | 
| 中间名 | string | 
| N | |
| 名称 | string | 
| 昵称 | string | 
| O | |
| 订单号 | int, string | 
| 组织 | string | 
| 输出路径 | string | 
| P | |
| 包裹 | string | 
| 密码 | string | 
| 路径 | string | 
| 模式 | string | 
| 电话 | string | 
| 照片 | string | 
| 邮政编码 | string | 
| 前缀 | string | 
| 价格 | int, float, string | 
| 生产时间 | int, string | 
| 生产日期 | int, string | 
| 配置文件 | string | 
| 购买时间 | int, string | 
| 购买日期 | int, string | 
| Q | |
| 数量 | int, float | 
| 查询 | string | 
| 问题 | string | 
| R | |
| 排名 | int, float, string | 
| 比率 | int, float, string | 
| 评分 | int, float, string | 
| 区域 | string | 
| 发布时间 | int, string | 
| 发布日期 | int, string | 
| 修订版 | string | 
| 角色 | string | 
| 行 | int | 
| S | |
| 大小 | int, float, string | 
| 脚本 | string | 
| 别名 | string | 
| 源码 | string | 
| Sql | string | 
| 开始日期 | int, string | 
| 状态 | int, string | 
| 状态 | int, string | 
| 街道 | string | 
| 后缀 | string | 
| Swift | string | 
| T | |
| 表 | string | 
| 标签 | string | 
| 标签 | array | 
| 模板 | string | 
| 文本 | string | 
| 超时 | int | 
| 时间戳 | int | 
| 时区 | string | 
| 标题 | string | 
| 顶级域名 | string | 
| 主题 | string | 
| 类型 | int, string | 
| U | |
| 更新时间 | int, string | 
| 网址 | string | 
| 用户名 | string | 
| Uuid | string | 
| V | |
| 值 | string, mixed | 
| Vat | int, float, string | 
| 供应商 | string | 
| 版本 | string | 
| W | |
| 重量 | int, float | 
| 宽度 | int, float | 
| 通配符 | string | 
| X | |
| X | int, float, mixed | 
| Xml | string | 
| Y | |
| Y | int, float, mixed | 
| Z | |
| Z | int, float, mixed | 
| 区域 | int, string | 
随着我其他项目的进展,将添加更多属性...
贡献
你是否发现了缺陷( 错误或设计缺陷 ),或者希望进行改进?在以下章节中,你可能找到一些有用的信息,了解你可以如何帮助这个项目。无论如何,我感谢你抽出时间帮助我改进这个项目的交付成果和整体质量。
错误报告
如果你确信你发现了一个错误,那么至少你应该创建一个新的问题。在该问题中,你应该至少描述以下内容;
- 缺陷位于何处
- 对缺陷的良好、简短、精确的描述(为什么它是缺陷)
- 如何复制缺陷
- (可能的解决缺陷的方法)
当有时间时,我将审查你的问题并采取行动。
分叉、编写代码并发送拉取请求
一份良好且写得好的错误报告可以帮到我很多。然而,如果您可以选择或希望自行解决缺陷,以下是您可以这样做的步骤:
- 分叉此项目
- 为修复特定缺陷创建一个新的本地开发分支
- 编写您的代码/更改
- 创建可执行测试用例(证明您的更改是稳固的!)
- 提交并将您的更改推送到您的分叉仓库
- 发送包含您的更改的拉取请求
- 喝一杯啤酒 - 您应得的 :)
一旦我收到您的拉取请求(并且有时间处理),我将审查您的更改并将它们合并到这个项目中。如果没有,我将通知您我选择不合并的原因。
致谢
-  PHPStorm ,JetBrains;为开发最好的PHP IDE,并支持此及其他开源项目
-  PHPUnit ,Sebastian Bergmann;神啊……我们仍然知道一些开发者、经理和决策者,他们认为优秀的软件根本不需要测试!我们没有想过在没有像PHPUnit这样的优秀测试工具的项目上工作。
-  Codeception ,Michael Bodnarchuk;让PHPUnit变得更好。
-  Composer  &  Packagist ,Nils Adermann, Jordi Boggiano & et al.;PHP社区发生过的最好的事情之一。
-  Git ,Software Freedom Conservancy;没有它……我们可能仍然停留在软件开发“石器时代”。
-  Laracasts ,Jeffrey Way et al.;物有所值……
-  PHP ,Rasmus Lerdorf & The PHP Group;我们可能还在用老式的ASP开发这个项目……(打了个寒颤!)
版本管理
此软件包遵循语义版本控制2.0.0
许可
BSD-3-Clause,请阅读此软件包中包含的LICENSE文件