Laravel4从模型中初始化另一个模型

时间:2014-05-05 09:52:56

标签: php oop laravel-4 eloquent

如何从Laravel 4中的模型启动模型。我尝试以下但没有任何成功

namespace App\Models;

use \Httpful\Request;
use \RecursiveIteratorIterator;
use \RecursiveArrayIterator;
use Illuminate\Support\Facades\DB as DB;

class Parser extends \Eloquent {

public function __construct(AffiApi $affiapi) {
    $this->affiapi = $affiapi;
    $url = "HTTP://some.com/xml/feed_config.xml";
    $xml = Request::get($url)->expectsXml()->send();
    $this->xml = $xml->body;
    }


    public function Test(){
       $api = new Api();
       //I get error Class 'App\Models\Api' not found 
    }
}


class Api extends Parser {
 }

我是如何正确地做到这一点或者最简单的方法来实现这个目标

1 个答案:

答案 0 :(得分:0)

实现这一目标的最佳和最佳实践方法是使用称为依赖注入(DI)的原则。这种方式松散耦合,也可以为单元测试注入存根类。

class Parser extends \Eloquent {

    public function __construct(Api $api) {
       $this->api = $api;
    }

    public function Test() {
    }
}

确保在添加新课程后从项目的根目录运行php artisan dump-autoload