소스 검색

Improve routes

/books		Book index
/book/{id}	View book by id
/book/add	Add book form
axkuhta 1 년 전
부모
커밋
05f05787a9

+ 5 - 1
app/Http/Controllers/BookController.php

@@ -17,10 +17,14 @@ class BookController extends Controller {
 		return view("books", ["rows" => $books]);
 	}
 
-	function form() {
+	function add() {
 		return view("form");
 	}
 
+	function view($id) {
+		return ["id" => $id];
+	}
+
 	function store(Request $request) {
 		$request->validate([
 			"name" => "required",

+ 2 - 0
resources/views/books.blade.php

@@ -1,6 +1,7 @@
 @extends("layouts.app")
 
 @section("content")
+<h1>Все книги</h1>
 <table>
 <tr>
 	<th>Название</th>
@@ -19,4 +20,5 @@
 	</tr>
 @endforeach
 </table>
+<p><a href="/book/add">Добавить книгу</a></p>
 @endsection

+ 1 - 0
resources/views/form.blade.php

@@ -1,6 +1,7 @@
 @extends("layouts.app")
 
 @section("content")
+<h1>Добавление книги</h1>
 <form method="POST" action="">
 	@csrf
 

+ 1 - 1
resources/views/include/header.blade.php

@@ -2,7 +2,7 @@
 <a href="/" class="logo">LaravelDemo</a>
 <div class="container">
 <a href="/">Главная</a>
-<a href="/form">Форма</a>
+<a href="/authors">Авторы</a>
 <a href="/books">Книги</a>
 </div>
 </div>

+ 2 - 2
resources/views/layouts/app.blade.php

@@ -30,7 +30,8 @@
 				padding: 1rem;
 			}
 
-			a:visited {
+			a {
+				text-decoration-style: dotted;
 				color: inherit;
 			}
 
@@ -38,7 +39,6 @@
 				display: inline-block;
 				text-decoration: none;
 				padding: 1rem 1rem 1rem 0ex;
-				color: inherit;
 			}
 
 			.logo {

+ 3 - 4
routes/web.php

@@ -18,9 +18,8 @@ Route::view('/', 'index');
 
 use App\Http\Controllers;
 
-// Форма
-Route::get('/form', [Controllers\BookController::class, 'form']);
-Route::post('/form', [Controllers\BookController::class, 'store']);
-
 // Книги
 Route::get('/books', [Controllers\BookController::class, 'index']);
+Route::get('/book/add', [Controllers\BookController::class, 'add']);
+Route::get('/book/{id}', [Controllers\BookController::class, 'view']);
+Route::post('/book/add', [Controllers\BookController::class, 'store']);