설치 및 실행
1. 컴포저를 다운로드 한다. Composer-setup.exe를 실행한다.
https://getcomposer.org
2.컴포저 설치가 잘 됐는지 확인한다.
PS C:\xampp\htdocs\laravelShopping> composer
3. 라라벨을 설치한다.
PS C:\xampp\htdocs\laravelShopping> composer create-project --prefer-dist laravel/laravel laravel8
4. 라라벨을 실행한다.
PS C:\xampp\htdocs\laravelShopping\laravel8> php artisan serve
라우팅방법
//알파벳만 넣도록한다. /api/users/June
Route::get('/users/{name?}', function($name=null){
return 'Hi Users'. $name;
})->where('name', '[a-zA-Z]+');
//숫자만 /api/products/1
Route::get('/products/{id?}', function($id=null){
return 'product id is'. $id;
})->where('id', '[0-9]+');
1. App\Providers\RouteServiceProvider.php
아래 두줄을 추가한다. 그러면 위에 where문을 적지 않아도 자동으로 적용이 된다.
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
});
Route::pattern('name', '[a-zA-Z]+');
Route::pattern('id', '[0-9]+');
}
2. 아래처러하면, 동일한 URL로 Get 또는 Post를 불러 올 수 있다.
/api/posts
Route::match(['get', 'post'], '/students', function(Request $req){
return 'Requested method is ' . $req->method();
});
아래와 같이 하면, Get, Post, Put, Delete
Route::any('/posts', function(Request $req){
return 'Requested method is ' . $req->method();
});
컨트롤러
1. 컨트롤러 만들기
$ php artisan make:controller HomeController
Controller created successfully.
2. 라우팅에서 파라메타를 컨트롤러로 넘기고 싶을때, 아래와 같이 한다.
이러한 파라메타를 있어도 되고 없어도 되는 옵션상태로 만들고 싶다면 {name?} 물음표를 붙여줘야한다.
Route::get('/home/{name}', [HomeController::class, 'index'])->name('home.index');
그러면, 컨트롤러에서, 아래와 같이 받아서 출력한다.
class HomeController extends Controller
{
//
public function index($name){
return 'Hi from HomeController' .$name;
}
}
뷰페이지
resources > views
1. UserController 만든다.
php artisan make:controller UserController
Controller created successfully.
2. 컨트롤러에서 뷰로 값을 전달하려면, compact를 사용한다.
class UserController extends Controller
{
//
public function index(){
$name='June';
return view('user', compact(('name')));
}
}
아래와같이, 뷰페이지에서 받을 수 있다.
<h1>User View</h1>
<h1>User View {{ $name }}</h1>
3. 컨트롤러에서 뷰로 배열형태로 보낼때,
public function index(){
$name='June';
$users = array(
"name"=>"admin",
"email"=>"admin@email.com"
);
return view('user', compact('name', 'users'));
}
아래와같이, 뷰페이지에서 받을 수 있다.
<h1>User View</h1>
<h1>User View {{ $name }}</h1>
<p>{{ $users['name'] }}</p>
<p>{{ $users['email'] }}</p>
'Project > Laravel' 카테고리의 다른 글
3.HTTP CLIENT를 사용해서 CRUD 만들기 (0) | 2022.07.19 |
---|---|
2.라라벨 컴포넌트 (0) | 2022.07.18 |
글 읽어오기 (0) | 2022.07.15 |
레이아웃 만들기 (0) | 2022.07.14 |
테이블 만들기 (0) | 2022.07.14 |