라라벨 공부한거 정리 (2)
쿼리빌더 : PDO를 사용한건가(?)
아무튼, 엄청 편리하게 데이타베이스 접근이 가능함.
엘로퀀트 : 데이타베이스를 객체화시켜서 편리하게 사용할 수 있게 함.
DB 마이그레이션 : 데이타베이스를 만드는걸 편리하게 만듬. (mysql 명령문 안쳐도 됨)
- 마이그레이션으로 데이타베이스를 관리하면, 추 후에 변경하거나 이런것도 순서대로 작업이 가능함.
- 외래키 도 된다고 함. 신기방기
Tinker 콘솔 기능 : 쓸 필요 있나 싶긴 함... 아직까지 필요성 모름
컨트롤러 : 라우터에서 연결해서 어떤 Response 응답을 날려주는 곳인데.
라우터 -> 컨트롤러 -> 응답내용 -> 뷰 전달
이렇게 보면 될거같음.
그런데, 리소스 컨트롤러도 있다. API(?)
뭐 특별하게 사용되는 컨트롤러 마다 분류가 되어 있다고는 하는데,
사실 상 API를 사용하는 컨트롤러가 아닌 이상은 그냥 컨트롤러에서 관리하면 되지 않는가 ?
RestAPI 도 리소스 컨트롤러로 구현하는가.
웹앱에서도 마찬가지일거같기도 하고.
이 컨트롤러를 보고 있으면 느끼는게, 기존에는 ajax로 통신을 하는데
이것은 '회원' 컨트롤러를 만들고 이 '회원' 컨트롤러에서
회원에 관련된 모든 기능을 담당하게끔 만드는 것이 아닌가 싶음.
회원가입, 회원수정, 회원정보
하나의 '회원' 컨트롤러에서 담당하고 기능을 운용함.
그러면 뷰에서 해당에 컨트롤러에 연결해서 데이터를 받아서 뷰에 뿌려주는 식으로 (?)
라라벨에서 ajax 를 사용하는지를 잘 모르겠음.
★가장 중요하다고 생각하는 부분임, 사용자 메뉴얼 보면서 사용하는 이유에 대해 더 알아야 겠음★
미들웨어 : 입장하기전에 csrf 같은걸 체크하는 부분,
모델: 데이타베이스에 연결하는 부분임.
데이타베이스에 연결해서, 서로 연결시켜주는 부분을 만들어 준다. (데이타베이스를 생성하는 역할이 아님)
모델 - 모델 끼리도 연결해서 서로 상호호환하더라,
1모델 = 1테이블
★궁금한게 있다, PDO방식으로 연결한다고하는데, 그렇다면 PDO문법을 몰라도 되는건 알겠음.
그렇다면, 데이타베이스 선택할때, mysql 말고 redis 를 동시 운용이 가능한지?
그리고 데이타베이스 mysql 를 연결할때 하나가 아닌 여러개가 가능한지 ?★
데이타베이스 시드 : DB 마이그레이션의 하위옵션이라 보면 될듯 하다.
DB 마이그레이션으로 데이타베이스를 만들었다.
그런데 그 카테고리가 존재하고,
1학급, 2학급, 3학급이라고 치면, 데이타베이스를 만들었을때 이 기본 데이터를 넣어주는 역할이 데이타베이스 시드이다.
사용하는 이유는 순서 때문이라고 한다. (외래키 때문에)
마스터 시드는 db:seed 하면된다 함.
모델 팩토리 : 내가 예전에 알던 내용하고 조금 많이 다르다.
faker 라이브러리를 사용해서, 더미용 데이타, 즉 테스트할때 필요한 데이타를 넣기 위해서 사용하는거라고 한다.
(옛날에 엄청 복붙해서 넣고 데이터 수정 몇번 하고 테스트하던 그거를 해결하기 위함인가보다)