namespace App\Http\Controller;
use 省略
class LessonsController extends Controller{
public function index(){
$lesson = Lesson::all();
return \Reponse::json([
'status'=>'success',
'status_code'=>200,
'data'=>$this->transformCollection('$lesson')
])
}
private function transformCollection($lessons){
return array_map([$this,'transform'],$lessons->toArray());
}
private function transfrom($lessons){
return [
'title'=>$lessons['title'],
'content'=>$lessons['content'],
];
}
}
新建目录 App\Transformer
//新建文件Transformer
namespace App\Transformer;
abstract class Transformer{
public function transformCollection ($items){
return array_map([$this,'transform'],$items);
}
public abstract function transform($item);
}
//新建文件LessonTransformer
namespace App\Transformer;
class LessonTransformer extends Transformer{
public function transfrom($lessons){
return [
'title'=>$lessons['title'],
'content'=>$lessons['content'],
];
}
}
namespace App\Http\Controller;
use 省略
class LessonsController extends Controller{
protected $lessonTransformer;
//把LessonTransformer 注入
public function __construct(LessonTransformer $lesson){
$this->lessonTransformer=$lesson;
}
public function index(){
$lesson = Lesson::all();
return \Reponse::json([
'status'=>'success',
'status_code'=>200,
'data'=>$this->lessonTransformer->transformCollection($lesson->toArray())
])
}
}
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/8681531.html