reservat/customer

Reservat的顾客组件

dev-master 2015-04-06 14:16 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:00:51 UTC


README

为Reservat应用程序提供顾客组件服务。

Build Status

基本用法

创建一个新的顾客对象

$customer = new \Reservat\Customer('Luke', 'Steadman', '01234567890', 'luke@steadman.com');

创建一个\Reservat\Datamapper\CustomerDatamapper的实例

// We assume $pdo is stored elsewhere and shared
$mapper = new \Reservat\Datamapper\CustomerDatamapper($pdo);

现在保存你的顾客

$mapper->save($customer);

映射器

DataMapper功能允许你保存(插入/更新)和删除顾客记录。首先,创建一个映射器实例。

$mapper = new \Reservat\Datamapper\CustomerDatamapper($pdo);

让我们创建一个新的顾客对象,并通过映射器插入它

$customer = new \Reservat\Customer('Paul', 'Westerdale', '01234567890', 'paul@westerdale.com');
$mapper->insert($customer); // same as $mapper->save($customer);

让我们更新顾客对象。我们需要知道顾客的ID,这可能不会传递回顾客实体对象,你必须处理这个问题。

$customer->setEmail('paulo@westerdale.com');
$mapper->update($customer, 2);

或者使用save函数更新顾客

$mapper->save($customer, 2);

最后,使用映射器删除顾客

$mapper->delete($customer, 2);

仓库

仓库允许我们检索存储在我们持久存储中的数据。我们遵循两种方法,getByIdgetAll

首先,创建一个repo实例。

$repo = \Reservat\Repository\CustomerRepository($pdo);

获取所有记录(默认限制:20)

$customers = $repo->getAll();

这将返回一个\Reservat\Repository\CustomerRepository的实例,但它实现了Iterator接口,因此你可以遍历这个对象。

foreach($customers as $customer) {
    $forename = $customer['forename'];
    ...
}

要获取单个对象,只需调用getById方法,传递记录的ID。

$customer = $repo->getById(1)->current();

getById也返回一个\Reservat\Repository\CustomerRepository的实例。

使用current将返回NULL(如果找不到记录)或顾客数据数组。

###@todo

  • 实现CustomerRepository
  • 添加测试
  • 包括RESTful API端点