没有数据库的Laravel模型

Tho*_*one 4 php laravel

我有一个使用API​​作为其数据源的应用程序.

我正在考虑尝试Laravel,但我找不到任何参考,讨论如何处理不使用数据库的模型.

那么,有什么建议吗?

men*_*raz 8

尝试一下Jens Segerslaravel模型.

它提供了一种类似于雄辩的功能 base class,可用于在Laravel 4中构建自定义模型.

Jenssegers\Model比如Illuminate\Database\Eloquent\Modelimplements ArrayAccess,ArrayableInterface,JsonableInterface.

特征:

  • 访问者和变异者
  • 模型到数组和JSON转换
  • Array/JSON转换中的隐藏属性
  • 将访问器和更改器附加到Array/JSON转换

摘自Github回购:

class User extends Model {

    protected $hidden = array('password');

    public function save() 
    {
        return API::post('/items', $this->attributes);
    }

    public function setBirthdayAttribute($value)
    {
        $this->attributes['birthday'] = strtotime($value);
    }

    public function getBirthdayAttribute($value)
    {
        return date('Y-m-d', $value);
    }

    public function getAgeAttribute($value)
    {
        $date = DateTime::createFromFormat('U', $this->attributes['birthday']);
        return $date->diff(new DateTime('now'))->y;
    }
}

$item = new User(array('name' => 'john'));
$item->password = 'bar';

echo $item; // {"name":"john"}
Run Code Online (Sandbox Code Playgroud)


Igo*_* R. 6

创建一个类(模型)并实现所需的功能.只需将"extends Eloquent"留出类签名即可.Laravel可以在Models文件夹中自动加载类,因此您也不必担心!在您的应用程序中正常使用它!