반응형

기존 게시판 만들기 강좌에서 사용했던 board테이블과 members테이블을 가져와서 라라벨 게시판을 만들어 보려고 한다.(만약 기존 강좌를 안들었다면 https://programmerdaddy.tistory.com/410 여기에 가서 테이블 백업 파일을 받아서 board와 members테이블을  미리 만들어 둔다.)

 

이 강좌는 기본적으로 ci로 게시판 만드는 것까지 공부를 했다고 생각하고 하는 것이기때문에 어느정도 php를 안다는 가정하에서 진행할 것이다.

 

라라벨로 처음 php를 공부하는 사람들은 내 블로그의 다른 기초적인 강좌라도 최소한 보고 오길 바란다.

 

우선 라라벨 프로젝트를 생성한다. 내가 이글을 쓸때 만들어진 라라벨 버전은 10.x 였다.

 

$composer create-project laravel/laravel board

$cd board

$composer require "laracademy/generators" --dev

 

이렇게 해준다. 라라벨 프로젝트를 생성했고 기존 테이블을 가져올 수 있는 플러그인을 추가했다.

 

루트에 있는 .env 파일을 열어서 수정한다.

 

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=디비명
DB_USERNAME=아이디
DB_PASSWORD=암호

 

이부분을 자신의 디비에 맞게 수정한다.

 

$php artisan generate:modelfromtable --table=board,members

 

이렇게 모델을 만들어준다.

 

$php artisan make:controller BoardController

 

이렇게 콘트롤러도 만들어준다.

 

그리고 서버를 실행한다.

 

$php artisan serve

 

이렇게 하거나 본인 ip나 포트를 지정해서 서버를 띄울 수도 있다.

 

$php artisan serve --host ip주소 --port 8000

 

둘중에 본인에게 맞는걸로 하면 된다. 보통은 위에걸로 하면 된다.

 

이제 라우트를 수정한다.

 

/routes/web.php

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\BoardController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

//게시판
Route::get('/boards', [BoardController::class, 'index'])->name('boards.index');
 

 

라우트 파일에 localhost:8000/boards 라고 치면 BoardController의 index 함수를 찾아가게 해주었다. 찾아가보자.

 

/app/Http/Controllers/BoardController.php

<?php

namespace App\Http\Controllers;
use App\Models\Board;
use Illuminate\Http\Request;

class BoardController extends Controller
{
    public function index(){
        return view('boards.index');
    }
}

 

index함수를 보니까 view를 호출하는데 boards 폴더 안에 있는 index.blade.php 파일을 불러오라고 해주었다. 그러면 이제 index.blade.php 파일을 만들어 보자.

 

/resources/views/boards/index.blade.php

게시판 메인 화면입니다.

 

내용은 아직 별게 없다. 해당 경로에 폴더를 만들어 파일을 생성해서 내용을 넣어주면 된다. 이렇게 되면 준비가 끝났다.

 

http://localhost:8000/boards

 

위 주소를 브라우저에 입력하면(물론 위 주소는 나와 다를 수 있다. pc에서 하는 사람들이라면 대부분 저 주소일 거고 서버에 올려서 하는 사람들은 localhost가 아니고 웹주소나 ip를 넣어주면 될것이다.)

 

게시판 메인 화면입니다.

 

라고 뜨면 성공이다. 만약 에러 페이지가 뜬다면 처음부터 다시 해보자. 이렇게 간단한것도 안된다면 진도 나가기가 어렵다.

 

다음 시간에 디비를 연결해보자.

 

 

 

 

 

반응형

+ Recent posts