ArticleController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace App\Http\Controllers\Backend;
  3. use Illuminate\Http\Request;
  4. use App\Http\Requests;
  5. use App\Http\Controllers\Controller;
  6. use Auth;
  7. use App\Http\Requests\Backend\Article\CreateRequest;
  8. use App\Http\Requests\Backend\Article\UpdateRequest;
  9. use App\Repositories\ArticleRepositoryEloquent;
  10. use App\Repositories\TagRepositoryEloquent;
  11. use App\Services\ArticleTagService;
  12. use App\Services\ArticleService;
  13. class ArticleController extends Controller
  14. {
  15. /**
  16. * @var ArticleService
  17. */
  18. protected $articleServer;
  19. /**
  20. * ArticleController constructor.
  21. *
  22. * @param ArticleService $articleService
  23. */
  24. public function __construct(ArticleService $articleService)
  25. {
  26. $this->articleServer = $articleService;
  27. }
  28. /**
  29. * Display a listing of the resource.
  30. *
  31. * @return \Illuminate\Http\Response
  32. */
  33. public function index(Request $request)
  34. {
  35. $articles = $this->articleServer->search($request);
  36. return view('backend.article.index', compact('articles'));
  37. }
  38. /**
  39. * Show the form for creating a new resource.
  40. *
  41. * @return \Illuminate\Http\Response
  42. */
  43. public function create()
  44. {
  45. return view('backend.article.create');
  46. }
  47. /**
  48. * @param CreateRequest $request
  49. * @return $this|\Illuminate\Http\RedirectResponse
  50. */
  51. public function store(CreateRequest $request)
  52. {
  53. return $this->articleServer->store($request);
  54. }
  55. /**
  56. * Display the specified resource.
  57. *
  58. * @param int $id
  59. * @return \Illuminate\Http\Response
  60. */
  61. public function show($id)
  62. {
  63. //
  64. }
  65. /**
  66. * @param $id
  67. * @return $this
  68. */
  69. public function edit($id)
  70. {
  71. return view('backend.article.edit')->with($this->articleServer->edit($id));
  72. }
  73. /**
  74. * @param UpdateRequest $request
  75. * @param $id
  76. * @return $this|\Illuminate\Http\RedirectResponse
  77. */
  78. public function update(UpdateRequest $request, $id)
  79. {
  80. return $this->articleServer->update($request, $id);
  81. }
  82. /**
  83. * @param $id
  84. * @return \Illuminate\Http\JsonResponse
  85. */
  86. public function destroy($id)
  87. {
  88. return $this->articleServer->destory($id);
  89. }
  90. }