mgr = new Manager(); $this->mgr->addConnection($conattr); $this->mgr->setAsGlobal(); $this->mgr->bootEloquent(); } public function get_one($f2) { // do WHERE and return result object return T1::where('f2', '=', $f2)->firstOrFail(); } public function get_all() { // return array of objects return T1::all(); } public function put($o) { // save object $o->save(); } public function remove($f1) { // lookup object based on primary key and delete $o = T1::find($f1); $o->delete(); } } class T1DatabaseAccessFactory { const ELOQUENT = 'Eloquent'; public static function get_database_access($id, $conattr) { if($id === T1DatabaseAccessFactory::ELOQUENT) { return new T1DatabaseAccessEloquent($conattr); } else { throw new Exception("Unknown T1DatabaseAccess id: $id"); } } } interface T1Presenter { public function display($data); } class T1PresenterHtmlTable implements T1Presenter { public function display($data) { $rows = ""; foreach($data as $row) { $f1 = $row->f1; $f2 = $row->f2; $rows .= sprintf("
F1 | \r\nF2 | \r\n
---|