乔丹-亚当斯/presenter

一个简单的框架无关的模型演示器

1.0.0 2015-01-15 20:09 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:51:48 UTC


README

##演示器

build status

一个简单的php框架无关的模型演示器。

####设置

只需使用 PresentableTrait 并将演示器属性添加到您的模型中

use JordanAdams\Presenter\Presenter;
use JordanAdams\Presenter\PresentableTrait;

class MyModel {

    use PresentableTrait;

    protected $presenter = 'MyPresenter';
    protected $firstName = 'Jordan';
    protected $surname   = 'Adams';

}

class MyPresenter extends Presenter {

    public function fullName() {
        return $this->model->firstName . ' ' . $this->model->surname; // Jordan Adams
    }

}

或者,自己实现 presenter() 方法

use JordanAdams\Presenter\Presenter;

class MyModel {

    protected $presenter = 'MyPresenter';
    protected $firstName = 'Jordan';
    protected $surname   = 'Adams';

    public function presenter() {
        return new $this->presenter($this);
    }

}

class MyPresenter extends Presenter {

    public function fullName() {
        return $this->model->firstName . ' ' . $this->model->surname;
    }

}

####用法

如预期访问演示器方法

$model = new MyModel();
$model->presenter()->fullName() // Jordan Adams

或者使用属性风格的检索

$model->presenter()->fullName // Jordan Adams

如果可用,演示器也将回退到模型属性

$model->presenter()->firstName // Jordan

####许可证

MIT许可证 (MIT)

版权所有 (c) 2014 乔丹-亚当斯

特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的人免费权利,可以在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供者提供软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、适用于特定目的和无侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,由此软件或其使用或其他交易引起,无论其是否出于故意、过失或疏忽。