라라벨 개발 하기

윈도우 라라벨 개발 (Mysql 스키마 생성, 라라벨 끄적이기) - 3편

코리아이그잼 2022. 12. 11. 02:39
728x90

저번편 2편에서는 환경변수 셋팅, composer을 통한 라라벨 설치, mysql 을 연결 해보았는데요.

3편은 스키마를 생성하고 라라벨에 연결한다음 조금 끄적이는 시간을 가져져보겠습니다.

 

데이터베이스 스키마를 생성 합니다.

스키마이름은 'koreaexam'으로 하겠습니다.

입력후 Apply를 눌러주세요.

 

 

 

IDE툴을 설치하여주세요.

IDE툴은 본인이 원하는 IDE툴로 설치하시면 됩니다.

저는 PHP스톰으로 진행합니다. (코드는 본인의 IDE툴로 수정하시면 됩니다.) 비주얼스튜디오 or Vscode 무료 이니 다운로드 해서 설치 후 쓰시면 됩니다.

IDE툴을 설치하시고 Open project를 여시고 

C:\Users\본인사용자명\example-app 을 오픈하시면 저와 같이 똑같이 뜨게 됩니다.

 

라라벨 프로젝트가 있는 위치입니다. 참고해주세요.

 

 

.env 파일에서 DB_DATABASE를 koreaexam으로 쓰고 DB_PASSWORD에 root를 입력합니다.

그리고 저장 버튼을 누르시면 됩니다.

IDE툴은 아무거나 사용해주시면 됩니다. 메모장으로 여셔서 수정 하셔도 됩니다.

그러면 mysql과 라라벨의 데이터베이스 연결 끝

 

이제 라라벨을 조금 끄적여서 홈페이지에 텍스트를 조금 넣어 볼까요?

라라벨에 접근하기전에 최초로 알아야 할 것들이 있습니다.

첫번째 라라벨은 MVC패턴을 지향합니다.

두번째 라라벨은 blade를 지향합니다.

 

오류

웹 브라우저에 localhost:8000을 들어왔는데 접속을 거부하거나 접속이 되지 않는 경우에는

cmd 창을 키시고 

cd명령어를 통해 라라벨 설치 폴더로 바꾼 다음

php artisan serve 로 서비스를 시작해주셔야 합니다.

시작한 후에 cmd창을 닫으면 서비스가 종료 되니 cmd창을 키신상태에서 하셔야합니다. 

 

라라벨에서 

routes/web.php 에 들어와줍니다.

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

코드를 확인 할 수 있습니다.

 

이 코드는 

rescources/welcome.blade.php 를 리턴하겠다는 뜻입니다.

리턴 할때는 .blade.php는 생략후 입력합니다.

 

 

view폴더에 koreaexam.blade.php 파일을 만들고 여기는 koreaexam입니다. 로 적어 볼까요?

그리고 localhost:8000/koreaexam.blade.php 를 입력 하면 어떻게 될까요?

404 (파일을 찾을 수 없다고 리턴하여 버립니다.)

이유는 무엇일까요? 아까전에 말씀드렸던 web.php에서 리턴을 시켜줘야 합니다.

어떻게 리턴을 시켜줄수 있을까요?

 

이런식으로 리턴을 시켜줘볼까요?

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

그리고 localhost:8000/k 라고 url에 입력한다면?

정상적으로 "여기는 koreaexam입니다." 라고 들고와집니다.

저 코드의 뜻은 무엇일까요 localhost:8000/k 로 접속 하였을때 koreaexam.blade.php를 리턴 시켜주겠다는 뜻입니다.

 

 

이제 폴더를 만들고 들고 와볼게요.

views폴더에 gps 폴더를 만들고 koreaexam.blade.php 파일을 이동시키겠습니다.

그러면 라우트를 수정해야겠죠?

코드를 이런식으로 수정하여 줍니다.

Route::get('/k', function () {
    return view('gps/koreaexam');
});

저 코드의 뜻은 localhost:8000/k 로 접속 하였을때 views - gps폴더의 koreaexam.blade.php를 리턴하겠다는 뜻입니다.

폴더를 구분할 때는 / 또는 .을 써서 구분 합니다. (대부분 . 을 사용함 아래에서 추가 설명)

정상적으로 메시지가 뜨는것을 볼 수 있습니다.

 

 

/ 대신 .도 사용 할 수 있다고 했죠?

이번에는 이런식으로 코드를 수정해볼까요?

/를 .으로 바꾼거 밖에 없어요.

Route::get('/asdf', function () {
    return view('gps.koreaexam');
});

이 뜻은 무엇일까요?

localhost:8000/asdf 를 접속 하였을때 views폴더 - gps 폴더의 koreaexam.blade.php를 리턴 시켜주겠다는 뜻입니다.

한번 접속 해볼까요??

정상적으로 뜨는거 보이시나요??

실습 하면서 따라 해보시고 다르게도 입력해보고 이것저것 하신다음  아래의 코드를 해석하고 이번편은 마무리 하도록 하겠습니다.

 

이 코드의 뜻을 댓글로 해석해서 써보시겠어요?

Route::get('/kkkk', function () {
    return view('dpdp.zzz.koreaexam');
});

 

4편은 라라벨의 조그마한 명령어들을 배워보겠습니다!