[음악 연주] ERIC OUYANG : 안녕하세요, 여러분. 에 오신 것을 환영합니다. 이 건물의 동적 웹 Laravel와 APPS. 내 이름은 에릭 Ouyang입니다. 나는 사회 과목을 공부 학년입니다 컴퓨터 과학 보조와, 나는 아담스에 살고 여기 하버드 하우스. 그래서 Laravel, 가장 핵심, MVC 웹 애플리케이션 프레임 워크이다. 그래서 너희들이 무엇을 좋아하는 CS50 금융과 함께 일을하고, Laravel은 할 수있는 프레임 워크입니다 당신은 동적 웹 애플리케이션을 빌드합니다. 그래서 당신은 어떤 의미로 생각할 수 물건의 종류의 확장으로 당신은 CS50에 해왔습니다 금융, 그러나의 시스템 훨씬 더 강력하고 많은 일부 감각에 더 우아한, 과를 많이 제공 당신을위한 기능 매우 복잡한 구축 웹 응용 프로그램. 그럼 몇 가지를 통해 가자 주요 기능 중, 그리고, 우리는에 뛰어 것 블로그를 구축 예 Laravel와 응용 프로그램입니다. 첫 번째 것들 중 하나 그래서 작업의 MVC 유형에서 차별화 당신은 CS50과 함께 해왔으니 그것은 ORM 엔진을 포함한다. 그래서 ORM은 객체를 의미합니다 관계형 매핑. 그래서 이것은 당신이 만들 수 있습니다 추상화 계층 데이터베이스 사이 당신의 컨트롤러. CS50 금융 경우에 따라서 달리 직접 쿼리를 만들 ORM 층을 수행 할 수 있습니다 추상적 인 그 거리 만들 보다 더 강력한 모델 당신은 SQL 쿼리를 직접 할 수 있습니다. 정말로 다른 것 도움은 상속 템플릿입니다. 그래서 당신은 CS50 금융에 알 수있을 것이다, 당신은 많은 것들을 다시 작성 결국, 배치하는 위치에 잠재적으로 수 당신이 할 수없는 것, 물건을 다시 사용합니다. 그래서 여기 Laravel에, 당신은 무엇을 사용할 수 있습니다 블레이드 템플릿 엔진으로 알려진 마스터 레이아웃을 만들 수 있습니다. 그리고 거기에서, 당신은 상속 할 수 있습니다 그래서 서브 템플릿은 실제로 수 내부의 구성 요소들을 포함 큰 기본 템플릿이. 마이그레이션. 그래서이에 상당히 표준 기능입니다 가장 현대적인 웹 애플리케이션 프레임 워크입니다. 그래서 이것은 당신이 표현 할 수 있습니다 코드에서 데이터베이스 스키마 변경. 그래서 말을하려고하지 않고, phpMyAdmin을, 실제로 이러한 마이그레이션을 만들 수 있습니다 데이터베이스를 나타내며 스키마는 직접 코드를 변경합니다. 그리고 이것은 당신이 특히 바꿔 .. 수 당신은 작업을 여러 사람이있는 경우 동일한 웹 어플리케이션 작성에 이러한 변경 사항을 추적, GitHub의, 또는 다른 저장소에 말한다. 그래서이 정말 도움이됩니다 및 필요성을 완화 말에, SQL 덤프 많은 주위에 전달합니다. 그리고 마지막으로, 작곡가이다 정말, 정말 유용한 무언가 그건 당신이 다른 사용할 수 있습니다 사람들의 코드는 멋진 일을 할 수 있습니다. 그래서 Laravel의이 같은 구조 여러 작곡가 패키지로 제공된다. 그래서 당신은 불어 넣고 싶었 경우 말 인증 패키지 또는 일부에 불어 넣고 싶었 경우 발전기 스크립트 또는 관리자의 종류 인터페이스, 당신은 플러그 앤 플레이 할 수 있습니다 작곡가와 그 구성 요소. 그래서 시작하자. 당신의 질문 우리 전에 사람들은 시작? 질문은 없나? 쿨. 따라서 첫 번째 단계 인 작곡가를 설치. 그래서 작곡가을 수행 할 수 있습니다 이러한 종속성을 관리 그것은 Laravel 프레임 워크 여부 또는 다른 타사 확장. 첫 번째 명령은 할 수 있습니다 당신은, 작곡가를 다운로드 두 번째 명령을 수행 할 수 있습니다 해당 지역의 bin 폴더로 이동 그래서 당신은 작곡가를 실행할 수 있습니다 직접 단말기를 통해. 그 후, 가서 새로운 Laravel 프로젝트를 만듭니다. 우리는 실제로 갈거야 몇 가지 예제 코드를 사용 내가 조립 한 것을 이 블로그를 만들 수 있습니다. 하지만 당신은에서 시작하는 경우 처음, 당신은이 명령을 사용 여기까지, 작곡가 만들 프로젝트를, laravel는 laravel을 삭감하고, 프로젝트의 이름입니다. 그리고이 포함됩니다 모든 유통 코드 새로운 Laravel 프로젝트를 시작합니다. 당신의 CS50 최종 프로젝트에 따라서, 당신은거야 아마 그 명령을 사용합니다. 그러나 우리는이와 함께 시작하는 것입니다. 그래서 당신이 한 번 , 당신은 얻을 거라고 상당히 광범위한 수 blog50의 파일. 그래서 그냥 통과하자 이러한 구성 요소의 일부. 이 경로에서 알 수 있습니다 디렉토리, 응용 프로그램 폴더가 있습니다. 응용 프로그램 폴더 안에, 거기에 몇 가지 도움이되는 폴더입니다. 시작하는 노트의 이 config 폴더입니다. 그래서이 최대 방법을 설정합니다 웹 응용 프로그램입니다 말하자면, 사람을 인증하는 것 또는 현금 일 또는 데이터베이스에 연결합니다. 그리고 무슨 일이 정말로 도움이 있다는 것입니다 Laravel 당신은 최대 다른 설정할 수 있습니다 개발 환경. 그래서 우리가 여기서했던 것은 경우입니다 우리는 로컬 폴더에 이동 database.php 파일이있다. 그리고 당신은 여기에서 알 수 그 우리 MySQL의 연결이를 설정 개인 연결할 수 있습니다 의 MySQL 서버에 직접 CS50 어플라이언스에. 그리고 우리는 데이터베이스에 연결하는 내가 설정하는 것이 Blog50했다. 그래서 실제로 진행하자 이것의 작업 버전을 실행 그냥 뭐의 감각을 얻을 수 우리가 구축하고 응용 프로그램 처럼 보인다. 그래서 난의 복사본이 이 Blog50이 완료되었습니다. 그래서 Laravel 실제로 서버에 구축했다 직접 실행할 수 있습니다 명령 줄에서. 그래서이 유사하다 PSET 때를 실제로 전에 C.에서 자신 만의 서버를 구축 그래서 그들은 그렇게 하나를 구축 당신은 당신의 Laravel 응용 프로그램을 실행할 수 있습니다 직접 명령 줄에서. 우리는 PHP는 장인을한다면,이 서비스를 제공 개발 서버를 시작합니다 포트 8000에. 우리가 로컬 호스트로 이동한다면 8000, 당신은 이봐, 그 알 수 있습니다. 우리는 우리의 블로그를 가동합니다. 그래서 Laravel 여기가 생성된다 블로그의 첫 페이지. 매우 간단한 응용 프로그램. 그러나 몇 가지있다 정말 멋진 기능 그것은 후드 아래에 제공. 그래서 블로그 애플리케이션의 간단합니다. 우리는 게시물을 작성하고자한다면, 우리는 그 버튼을 클릭 할 수 있습니다. 우리는, "어이, 모두를 말할 수 있습니다. 이것은 정말 재미 예를 들어, 세미나, ". 그리고 아래로 여기에 뭔가를 쓰기. 여기에 텍스트. 우리가 제출을 클릭하면거야 알 우리의 새 블로그 게시물이 추가되었습니다 블로그의 첫 페이지. 우리가 여기에서 경우에, 당신은 그것을 알 수 있습니다 이미 일부 의견이 있었다 블로그에. 우리가 아래로 이동하면, 당신은거야 그래서 조나단 탄이 말하는 것을 알 수 그는 매우이 게시물에 관심되었다. 그래서 우리는 어떻게 객체로 갈거야 관계형 매핑 할 수 있습니다 당신은 이러한 관계를 할 수 뿐만 아니라 상당히 원활한 방법. 쿨. 기능에 대한 질문 우리가 만들려고하고 무엇? 쿨. 그래서 실제로 함께 시작하자 데이터베이스 테이블을 생성. 그래서, CS50 금융에서 당신을 그 리콜 사용자를위한 테이블을 함께 넣어 뿐만 아니라 대한 당신의 포트폴리오에 주식. 앞서 언급 한 바와 같이 그래서, 우리가 Laravel에 사용 마이그레이션로 알려진 뭔가입니다. 우리가 돌​​아갈 경우에 따라서 여기 분포 코드 첫 번째 명령 Laravel 당신을 제공하는 도움 이 마이그레이션 명령입니다. 그래서 우리는 PHP 장인 마이그레이션을 수행 할 수 있습니다합니다. 그래서 이것은 우리가 이주를 만들 수 있습니다. 그리고 우리는 할 것입니다 마이그레이션을 만듭니다 , create_posts_table라고 어느 것입니다 수하는 곳에 우리가 갈거야 우리의 블로그 포스트를 저장합니다. 그리고 당신은 그것을 실행하는 것이 여기에 알 수 있습니다 일부 코드를 통해 실제로 가진 파일을 생성 그것에 타임 스탬프. 우리가 가서 데이터베이스를 보면 그래서 우리는 마이그레이션에서 알 수 있습니다 가 만들어지는 것을 우리 빈 파일있는 이름으로 상용구 코드가 우리가 지정했는지, 게시물의 테이블을 만듭니다. 그리고 그것의 두 가지 기능이 있습니다. 위로는 우리가 때를 실행할 것입니다 이주는베이스에인가된다. 그리고 아래는 우리가 무엇을 할 것인지입니다 우리는 이주를 반대 할 때. 그래서 여기의 밖으로 시작하자 이 마이그레이션을 쓰기. 그래서 도움이 클래스가있다 Laravel에서 스키마를했다. 그래서 우리는 스키마 :: 만들고 실행하는 것입니다. 그리고 우리가 만들거야 표는 게시물을했다. 그리고 여기에 우리가 함수를 사용하여이 적용됩니다. 그리고 여기에서, 우리는 사실에 갈거야 우리 테이블의 내용을 지정합니다. 우리는 ID를 만들려고하고, 이는 자동 증가이다. 또한, 우리는거야 필드를 생성하는 그 우리의 블로그 게시물의 제목을 나타냅니다. 우리는 또한 필드를 만들려고하고 우리의 블로그 게시물의 텍스트를 저장. 그리고 마지막으로, 우리는거야 일부 타임 스탬프를 저장하기 우리의 포스트를 만들 때에 대한 그리고이 업데이트되었을 때. 그리고 다운을 위해, 그것은 매우 간단합니다. 우리가 원하는 모든 드롭입니다 우리가 만든 테이블. 좋아. 질문? 그래서 지금 우리가 진행하는 경우 그리고 ... 실제로, 로컬 호스트, 내가 우리가 이전에했던 일 삭제할 수 있습니다. 데이터베이스로 이동합니다. 나는 우리가 이전에했던 일 삭제하겠습니다. 이 드롭 만들 새 데이터베이스 Blog50. 그래서 지금 무슨 마법을 부분은 여기입니다 우리 바로 이러한 마이그레이션을 적용 할 수 있습니다 명령 줄을 사용하여 데이터베이스에 도구입니다. 그래서 우리는 PHP는 장인의 마이그레이션을 수행 할 경우, 당신은 헤이, 그 알 수 있습니다. 이 마이그레이션 테이블을 만든 것, 이는 우리가 약간의시를 살펴볼 것입니다, 그것은 첫 번째 마이그레이션을 적용합니다. 우리가 Blog50 보면 그래서, 당신은 알 수 것을 그것은 우리를 위해 두 개의 테이블을 생성합니다. 먼저이 마이그레이션 테이블입니다. 우리는이를 찾아 그렇다면, 당신은 그것을 알 수 있습니다 이 테이블은 매우 간단합니다. 그냥 봐,라고합니다. 우리는이 마이그레이션을 적용했습니다. 우리는 돌아가서 게시물을 확인합니다. 당신은 구조 것을 알 수 있습니다 우리가 그것을 물어 봤다 정확히 것입니다. 우리는 자동 증가 ID가 있습니다. 우리는 저장하기위한 문자열이 제목 및 텍스트 필드 콘텐츠를 저장. 좋아. 쿨. 마이그레이션에 대한 질문 일, 우리는 그들을 어떻게 적용 할 수 있는가? 아니? 쿨. 그래서 지금 우리가 앞서 갈거야 실제로 모델을 만들 수 있습니다. 그래서 우리는 게시물 모델을 만들려면 그 데이터베이스의 추상화를 저장합니다. 그래서 오히려 MySQL의 쿼리를하는 것보다 직접, 우리가 만들 것입니다. 그래서 우리는을 만들어야합니다 여기라는 모델 폴더에 있습니다. 그리고 여기에 내부에, 우리는에 갈거야 post.php라는 파일을 만듭니다. 이 PHP 파일 내부, 우리가 창조하는거야 웅변 확장하는 클래스를 게시 할 수 있습니다. 웅변은 ORM의 이름입니다 Laravel가 제공하는 엔진. 그리고 여기에서, 우리는 그것을 예상 당신은 실제로 코드를 작성해야합니다. 우리는 몇 가지를 작성하는거야 나중에 도우미 기능. 상자 밖으로 그러나,이 이미 것 데이터베이스에 무엇을 인식 우리는, 말, 텍스트에 액세스 할 수 있습니다 우리의 블로그 게시물 또는 제목, 직접와 물건을 만들 무엇이든지 거의 아무 코드가 없습니다. 그래서 마법의 구성 요소 중 하나입니다. 그리고이 클래스 한 번 바람 더욱 완벽 본격적인된다, 우리에 대한 정보가 포함되어 있습니다 무엇 그것은 코멘트 있도록 관련입니다. 또한 함수를 작성 그래서 우리는 실제로 수 직접 URL을 얻을 블로그 포스트 페이지. 쿨. 그것에 대해 질문? 아니오. 쿨. 그래서 지금 우리가 우리의 모델이되면, 우리 의 컨트롤러를 만들려면 이러한 모델과 인터페이스 할 수, 그 후 데이터베이스. 우리가보기에 따른다면 BlogController, 당신은거야 이 아니라고 통지 지금이 훨씬. 이 모든 인덱스 기능입니다 즉, 홈 페이지를 생성하고, 하지만 아무것도하지 않고 아직 표시합니다. 제 함수 그래서 우리는 만든다고 우리를 허용 하나입니다 블로그 포스트를 만들 수 있습니다. 그래서 우리는 선언거야 newPost라는 새로운 기능. 그리고 여기에 단순히 내부에, 우리는거야 이 페이지의 레이아웃을 설정합니다 이 버전을 렌더링하기 위해, 당신이 CS50에서 기억을 되살려, blog.new이라는 템플릿, 어떤 우리는 조금에 만들 것입니다. 당신은 라인 여섯 여기에 알 수 있습니다 그 우리는 레이아웃이 변수를 지정했습니다. 그리고 우리는 살펴 경우 뷰 폴더에서, 레이아웃 폴더가 존재하는 아주 기본적인 HTML 파일이 포함되어 있습니다. 그리고 참고, 당신은 알 수 우리는이 용기를 가지고 여기에 내용을 얻을 수있다. 우리의 템플릿의 내부 그래서 우리가 무엇을 할 거 야 로 무슨 일이 생성된다 이 레이아웃에서 직접 대체. 그래서 우리는 우리가 렌더링 할 것이라고 말했다 템플릿 blog.new했다. 그러나 블로그의 내부, 거기에 아직이 새 템플릿. 그래서 우리는을 만들거야 파일 new.blade.php했다. 이 Laravel을 알려줍니다 그 이 PHP 파일해야 렌더링 할 수 블레이드 템플릿 엔진. 그래서이 상당히입니다 간단한 파일. 그것은에 의해 형태가 될 것 우리는 실제로 블로그 게시물에 추가 할 수 있습니다. 이곳의 마법 그래서 상속은 헤이 것입니다. 우리는 있음을 지정하려면 섹션, 내용 섹션 여기에, 이는 묘사된다 @section 및 @stop에 의해. 그래서 사이 여기에서의에 가고 마스터 배치로 치환된다. 그리고 여기에 우리가 원하는 것입니다 아주 단순히 새로운 HTML 파일을 만듭니다. 그냥 빨리 제목을 추가 할 수 있습니다. 블로그 포스트를 추가합니다. 그리고 그 안에서 우리는있어 양식을 만들 것. 이 양식은 작업을해야 할 것입니다. 그리고 이것은 뭔가 될 것입니다 우리가 나중에 대체하는 것이, 우리는 방법에 대해 알아 보겠습니다 라우팅 여기에 맞는. 그러나 우리는 지금 정의 할거야 이 경로와 URL로 이동하는 것이 createPost에서. 그리고이 것입니다 방법 게시물을합니다. 여기에서, 우리는거야 두 개의 필드가 있습니다. 사업부 클래스 = "폼 그룹". 우리는 부트 스트랩 CSS 라이브러리를 사용하는 기꺼이 트위터에서 제공. 그래서 우리는이 두 가지를 만들 것입니다. 그래서 먼저 입력된다 가는 제목이 될 수 있습니다. 그래서 입력 이름 = "제목". 클래스 = "formcontrol". 유형 = "텍스트". 나는 자리 = "제목"을 추가거야. 그리고 두 번째는 텍스트 영역이 될 것. = "콘텐츠"의 이름을 지정합니다. 클래스 = "formcontrol". 그리고 자리 = "여기에 쓰기". 우리가 이동합니다. 마지막으로, 우리는에 갈거야 빠른 전송 버튼을 추가합니다. 유형 = "제출"클래스 = "BTN BTN-차". 그래서 이들은 모두 부트 스트랩의 특징 때문에 이 마련 될 수 있다는 의 방식으로 아웃 사용자에게 먹이, 오히려 벌거 벗은 HTML보다. 그래서 우리는 여기에 컨트롤러를 정의했다. 우리는 매우 간단한 뷰를 정의했다. 그러나 실종이다 결합 조직. 이 시점에서 그래서, Laravel 방법을 모르고있다 우리는 사실에 갈거야 이 컨트롤러를 액세스 할 수 있습니다. 그래서이에 정의되어 있습니다 파일 routes.php했다. 그리고 지금, 우리는 하나의 경로가. 어떤 우리가 갈 때입니다 이 웹 사이트의 홈 경로, 그것은 렌더링 것 인덱스 컨트롤러. 그래서 여기에 우리가 구현하면된다 필요한 우리를위한 새로운 경로는 게시물을 작성합니다. 그래서 우리는이 방법을 사용 지정하는 얻을 사용자가 시도 할 때 이 특별히 page-- 얻을 포스트는 새 page-- 슬래시 우리가 무엇을 할 거 야 라는 컨트롤러를 사용한다 BlogController 새 게시물. 우리가 만든 하나. 그리고 우리는거야 newPost로 별명. 우리는 서로를 창조하는거야 약간의 기능. 그러나 여기에서 무엇을 "로"키는 무엇입니까 우리는 내 대체 할 수 있습니다 우리의 블레이드 템플릿. 그래서 지금,하자 또한 실제로 경로를 말한다. 그래서 우리는거야 컨트롤러를 만들 수 있습니다 그래서 우리는이 게시물을 만들 수 있습니다. 경우에 따라서 페이지 게시물에 대한 사용자의 게시물 우리가 무엇을 할 것인지, 새로운 슬래시 인은 컨트롤러를 사용하는 우리는 곧 창조하는거야 createPost에서 BlogController했다. 그리고 우리는 별명에 갈거야 createPost으로이. 쿨. 질문? 쿨. 그럼 우리가 지금까지 무엇을 실행하자. 우리는 PHP는 장인을한다면 봉사 우리는 많은 오류를 볼 수 있습니다. 우리는이 같은 그래서 보인다 노선에 구문 오류가 27 라인. 아. 세미콜론가 없습니다. 그래서 우리는 8000에 가면, 여기에 아직 아무것도 볼 수 있습니다. 그래서이 기본 홈 페이지입니다. 우리가 게시물로 이동하지만 헤이, 새로운 슬래시. 우리가 방금 만든 양식을 알 수있을 것입니다. 지금, 우리는하지 않은 기능 구현 우리가 누를 때의 버튼을 제출합니다. 우리가 클릭 그래서 만약 제출 버튼을, 에러를 실행하는 것입니다. 그러나 우리는 코드 거라고 지금, 정확히 무엇을 우리 때 사용자 작업을 수행 할 이 양식을 제출합니다. 그럼 그렇게하자. 다시 컨트롤러 파일로 이동합니다. 우리가하려고하는 것은 이 새로운 기능을 구현 그건 우리가 게시물을 작성할 수 있습니다. 새로운 함수를 선언합니다. 공공 기능 createPost. 그리고이 기능을 될 것입니다 보다 정교한 조금 무엇 우리는 전에했다. 하지만 당신은 우리가 아니라는 걸 여기에 볼 수 있습니다 실제로 SQL을 작성하는 것. ORM, 능변 ORM은 허용 할 것입니다 우리는 일부에서이 작업을 수행하려면 방법 좀 더 우아한 방법. 그래서 우리는 새 게시물을 작성하는 것입니다. 그리고 여기에 우리가있어 새로운 객체를 인스턴스화 모델이 우리 단지 만든 후 모델. 그리고 우리가 무엇을 할 거 야하는 것은 설정 이 사용 무언가의 title 속성 우리는 서버에서 얻을. 그래서이 유사한 무엇 우리는 CS50 금융에 이전했다 우리가 할 경우, 슈퍼를 사용하여 글로벌 포스트 제목을 찾고. 그래서 Laravel 일부 위생을 제공합니다 그리고 이것 저것이 도우미 기능을 사용하여. 그래서 우리는이를 대신 사용하는 것을 선호 PHP에서이 매우 기본적인 원시 형태의. 그리고 우리가 무엇을 할 거 야하는 설정 입력에 그것의 내용이 콘텐츠를. 우리는 실제로 랩거야 유용한 기능이 그 PHP는 nl2br 호출을 제공하는 새로운 라인, NLS, BRS에, 휴식을집니다 우리가 실제로 가질 수 있도록 그 안에 다른 단락. 그리고 마지막으로 우리는 거냐 할이 게시물을 저장합니다. 그래서 우리는 함수를 호출 이 모델에 저장합니다. 우리는 게시물을 저장하는 것입니다. 그리고 우리는 할 거 야 마지막으로 무엇 구체적으로 리다이렉트된다 우리가 가고있는 노선 viewPost에 의해, 곧 별칭을 만듭니다. 그리고 우리는 인수를 전달거야 아이디,이 새 게시물의 ID 인. 좋아. 그래서 지금 우리가 실제로 가서이를 실행합니다. 우리는 새로운 포스트를 추가 할 것입니다. 의이 세미나 50 가정 해 봅시다. 그리고 물론, 말한다. ASDL. 무엇이든. 콘텐츠의 일종. 그리고 제출. 그리고 우리는 그것을 알 수 있습니다, 이봐. 경로가 정의되지 않았습니다. 그러나 우리는 phpMyAdmin을 살펴 경우 여부를 우리의 기능을 찾아 아무것도했다. Blog50 게시물 봐. 우리는 이봐, 그 알 수 있습니다. 사실, 우리는 그냥 블로그를 창조 하셨 는가 지정된 타임 스탬프를 게시합니다. 그래서 지금의 돌아가서 실제로 만들 수 있습니다 우리의 컨트롤러에서이 다른 기능, 구체적 viewPost 컨트롤러. 그래서 공공 기능 viewPost. 그래서 여기에 우리가 무엇을 할 거 야, 대신 빈 괄호를 갖는, 우리의 ID를 전달하는 것이 좋습니다 우리가 만들고있는 게시 할 수 있습니다. 그리고 여기에서 우리는 무엇을 할 거 야 실제로 위해 데이터베이스를 조회한다. 그래서 우리는 게시 할 경우, 라는 기능이있다 즉 우리가 ID하여 쿼리 할 수​​ 있습니다 찾을 수 있습니다. 특히, 실제로, 우리는에 갈거야 라는이의 다른 버전을 사용 우리를 허용 찾기 또는 실패, 이 기능에서 종료하고, ID 경우 예외를 발생 우리는 존재하지 않습니다에 전달합니다. 그리고 우리는 무언가를 할거야 우리가 이전에했던 것과 유사한 여기서 우리가 내용을 설정 이 페이지이어야합니다 이 새로운 뷰의 렌더링 된 버전 우리는 blog.view을 만들려고하고있다. 그리고 우리는에 전달하는거야 이게 뭐지 단지 렌더링 CS50에 좋아 변수의 사전을 function--. 이 연관 배열의 키 템플릿 내에서 변수가된다. 그래서 우리는 포스트 게시물을 할 것입니다. 그래서 간접적으로 게시물을 통과하는 우리는 데이터베이스에서 쿼리했습니다. . 지금 우리가가는거야 할이 뷰를 만들 수있다 우리가 실제로 볼 수 있도록 우리가 구축 한 블로그 게시물. 그래서 우리는을 만들거야 파일 view.blade.php했다. 그래서이 템플릿의 내부, 우리가 무엇을 할 거 야 간단한 페이지 조립된다 우리가 내용을 표시 할 수 있습니다. 우리가 절을 그래서, 그 내용 전합니다. 중지합니다. 그리고 우리는 무엇을거야 여기에서해야 할 것은 이 페이지를 표시하는 일부 HTML을 작성합니다. 그래서 우리는 공상으로 포장거야 새로운 HTML5 요소는 제 불렀다. 그리고 여기에서 우리는거야 헤더 어디를가합니다 우리는 단순히 H1을 할 겁니다, 어떤 게시물 제목을 포함합니다. 그래서 여기, 우리는이를 보면 이중 중괄호 표기법, 이것은 본질적으로 할 것 PHP는 게시물 제목을 에코. 그래서 도움이 속기의 Laravel이 우리를 제공한다. 그래서 우리가 사용하는거야 대신이 표기법. 그리고 여기, 우리는에 갈거야 그것의 내용을 인쇄. 그리고 여기에서 우리는거야 게시물 내용을 수행한다. 그리고 우리가 왜 왔는지 바닥에 내려 하기 위하여려고하는 것은 바닥 글을 만들 수 있습니다. 그리고 바닥 글에, 우리는에 갈거야 이 게시 한 최초의 디스플레이. 그래서이는 게시에 만들어졌습니다. 그리고 Laravel 정말 좋은를 사용 날짜 라이브러리는 탄소를했다. 그래서 우리는 실제로라는 뭔가를 할 수 이전에 본 difforHumans. 우리는 게시합니다. 그것은 말할 것 같은 5 초 전. 그래서 정말 좋은 Laravel의 기능을 제공합니다. 그리고 마지막으로, 우리는거야 이 글을 닫습니다. 그래서 지금 우리가 돌​​아 가야하는 경우 홈 페이지 우리는거야 여기에 아직 때문에 아무것도 볼 수 있습니다 우리는 홈 페이지를 코딩하지 않았다. 그러나 우리는 슬래시 하나를 게시물로 이동하는 경우, 우리는 예외를 보게 될 것입니다. 사람이 왜 알고 있나요 우리는 예외를 참조? 우리는 무엇을 누락? 어떤 아이디어? 그래서 우리가 무슨 짓을했는지 이전에 우리에게 실제로 우리가 얼마나 정의 특정 컨트롤러? 스피커 1 : 경로? ERIC OUYANG : 네. 그래서 우리는 여전히 경로를 정의해야합니다. 그래서 우리는 routes.php 다시 여기. 당신은 우리를 알 수 있습니다 실제로 정의하지 않은 어떻게 우리가받을거야 이 컨트롤러. 그래서 지금 우리는이 경로를 정의하는 것입니다. 그것은 매우 간단합니다 우리가 이전에했던 것과 유사한. 그러나 우리가 여기서 알거야 어떤 것은 우리는 자리를 가질 거라고. 우리가 route.get 슬래시 포스트 ID를 할 경우에 따라서. 그래서 ID가 지금에 무슨 일이 일어나고 있는지입니다 컨트롤러로 전달 될 수있다. 이것은을 사용하는 것입니다 컨트롤러가 우리 단지 생성, viewPost에서 BlogController. 그리고 우리는에 갈거야 viewPost 등의 별명이있다. 좋아. 그래서 지금 우리는이 경로를 만들 것입니다. 그래서 지금 우리가 여기 가면 페이지를 새로 고침, 사실 우리는 우리의 새로운 블로그 게시물이 없습니다. 그래서 이것은 우리가 이전에 만든 것입니다. 아주 간단한 페이지 만 표시 우리가 방금 만든 블로그 게시물. 쿨. 그리고 우리는 실제로 전체를 통과하는 경우 새로운 블로그 포스트를 만드는 과정, 우리는 그 모든 것을 알 수 있습니다 제대로 리디렉션합니다. 내가 말한다면, "안녕. 조나단 탄 해요. " "이것은 내 블로그 게시물입니다."라고 그리고 제출이 생성됩니다 ID 2와 새로운 블로그 게시물, 우리가 가진 것과 어떤 증가 이전에 제대로 표시를. 신난다. 질문? 네? 스피커 2 : Laravel 핸들을합니까 위생 및 당신을 위해 모든 것을? ERIC OUYANG : 예. 그래서 우리는 이전 때보고 우리는, 입력 콜론 콜론 얻었다 그 어떤 SQL을 sanitates 주사 및 이것 저것 우리는 경우에 수행 할 수 있음 우리는 웹 사이트의 악의적 인 사용자 인. 그래서 Laravel 많이 처리 무대 뒤에서 그. 좋은 질문입니다. 그래서 홈 페이지를 살펴 보자. 우리가 처음으로 돌아가한다면 홈 페이지 제어기 당신은 그것을 것을 알 수 있습니다 여기에 많은하지 않습니다. 당신은 우리가 아니라는 걸 알 수있을 것이다 이 컨트롤러에 전달 아무것도 특히 유용합니다. 그냥이 인덱스 파일입니다. 그럼으로 통과하자 도움이 뭔가. 그리고 특히, 우리는있어 게시물에 전달할 것입니다. 그리고 Laravel은 우리를 수 모든 게시물을 할 수있는 우리는 모든 게시물을 얻을 수 있습니다. 이제 우리는 돌아갈 경우 index.php에, 당신은, 헤이 볼 수 있습니다. 아무것도 여기에 아직. 그러나 우리가 원하는 것을 여기에해야 할 일 실제로 통해 반복되고, 게시물을 통해 foreach 루프를 수행하는 우리가 게시물을 인쇄 할 수 있습니다. 그래서 foreach는 게시물 우리가 수행 할 작업 후, 콘텐츠를 출력한다 블로그 게시물의. 그러나 당신이 알 수 있습니다 한가지는 점이다 우리는 실제로 대부분의 코드를 작성 이미 view.blade.php에서. 그래서 우리가 실제로 무엇을 할 것인지입니다 블레이드의 좋은 도움이 기능을 사용 이 공통 코드를 인수 분해. 그래서 우리는 여기에서. 우리는이 내용을거야 여기, 우리는 무엇을 할 것인지 새 폴더를 만들 수 있습니다. 그냥 부분 지문을 부르 자. 그리고 여기에서 우리는거야 post.blade.php을 만들 수 있습니다. 그래서 여기, 우리의 방법을 고려 이는 우리가이 글을 표시 할 수 있도록하려고합니다. 그리고 여기에 우리가 대신 무엇을 할 거 야 실제로 직접 그 HTML을 가지고, 우리는이 지시자를 사용하는거야 라고는 blog.partials.post을 포함한다. 그리고 우리는 여기에 무엇을 할 것인지 페이지의 게시물을 전달합니다. 그래서 지금 우리가 여기로 가면, 우리는거야 기능은 여전히​​ 알 같은. 하지만 지금 우리는이 이 HTML을 코드를 고려. 그래서 우리는 지수에 사용할 수 있습니다. 그래서 여기,이 매우 간단합니다. 우리가 모두 포함입니다 blog.partials.post 및 배열입니다. 그리고 어딘가에 전에, 우리는 포스트 게시물을한다. 그래서 지금 우리가 돌​​아갈 경우 홈 페이지, 우리는이 봐,이 표시됩니다. 우리의 모든 목록을 가지고 우리가 전에했다 블로그 게시물. 우리는 몇 가지 "경우"를 추가 할 수 있습니다 조건 "다른"조건 그래서 우리는이없는 경우 그 블로그에 아무것도, 우리는 도움이 뭔가를 표시 할. 이봐,처럼. 블로그에 아직 콘텐츠가 없습니다. 그리고 너희들은 실제로 보면 GitHub의에 분포 코드, 우리가 그렇게 할 방법의 예를 볼 수 있습니다. 쿨. 질문? 예. 스피커 2 : 그냥 추측 근본적인 질문입니다. 위로 경로에서. ERIC OUYANG : 네. 우리는 경로를 살펴합니다. 스피커 2 : 아니하는 경우 uses.blogcontroller은, 게시물을 작성 그는 우리에게 무엇을 직접합니까? ERIC OUYANG : 네. 그래. 스피커 2 : 또는 무엇을 거저입니다 ERIC OUYANG : 그래서, 말, 봐 예를 들어, 여기이 길. 첫 번째 부분이다 실제 사용자가로 이동합니다 URL. 그리고 여기이 배열, 연관 배열, 정의 우리가하는 방법 그것에 응답 응용 프로그램 역할을합니다. 그래서 사용하는 컨트롤러입니다, 기능이 우리 때를 호출 할 사용자는이 URL로 이동합니다. 그래서 viewPost 바로 여기였다 우리는 내부 정의 함수 BlogController--의 스피커 2 : 봐요. ERIC OUYANG : 그 우리 --so 실제로 뷰를 렌더링 할 수 있습니다, 일부 계산을 수행 SQL 데이터베이스와 상호 작용합니다. 스피커 2 : OK. 다음 그리고 다른 : ERIC OUYANG 일부는 "있는 그대로"우리가 사용하는 별명입니다. 우리가 할 때주의한다면 우리는 양식을 작성, 해당 URL을 알 수 있습니다 :: routecreatePost을. 그래서 실제에 대입 URL 있도록 우리는 하드 아니에요 이러한 코딩 그래서 우리는 그것을 변경할 수 있습니다 한 번, 우리가 이름을 변경하고자한다면 말한다. 대신 포스트 슬래시 새로운, 우리는 페이지처럼하고 싶은 단지 청소 새로운 슬래시 우리의 URL을 비트입니다. 우리는 오히려 한 자리에서 변경할 것 모든 다른 파일에서보다. 쿨. 잘 됐네. 그래서 지금 우리가 매우 기본 블로그 플랫폼입니다. 우리는 아마 그래서 버튼에 추가 할 것을 우리는 실제로 새 게시물을 작성할 수 있습니다. 우리가 살펴다면 레이아웃 마스터에서, 우리는 헤더를 마우스 오른쪽라는 섹션이 우리는 바로 상단에 최대 정의한 것을. 그래서 우리는 버튼을 추가 할 수 있습니다 헤더의 상단. 그래서 우리는 실제로 index.blade.php로 이동하는 경우 어떻게 여기에 내부에 어떤 일이 일어나는지 정의입니다. 그래서이 헤더를 마우스 오른쪽 섹션, 우리가 무엇을 할 거 야 로 이동하는 버튼을 추가한다 경로 새 게시물에 의해 정의 된 URL. 그냥 정리하고 만들려면 그것은 꽤 모든 부트 스트랩, 우리가 만들거야 이 기본 버튼. 그냥 재미가 큰 만들어 보자. 그리고 그 안에, 우리는 몇 가지 텍스트를 넣을 수 있습니다. 그러나 부트 스트랩 제공 glyphicons입니다. 그래서 우리는 실제로하는 것을 추가 할 수 있습니다 우리가 이전에 본 좋은 연필. Glyphicon. Glyphicon 연필. 그래서 이것은 우리가 넣을 수 있습니다 텍스트 대신 아이콘. 이제 우리는 중지 않는 경우,이 이 섹션을 정의합니다. 그리고, 헤이. 우리는 우리를 연결하는 멋진 버튼이 있습니다 직접에 블로그 게시물 페이지를 추가합니다. 그래서 우리는 아주 간단한 블로그를 가지고있다. 우리는 여기에 물건을 추가 할 수 있습니다. 그러나 우리는 일반적으로 무엇을 기대 블로그에서 코멘트입니다. 우리가해야하는 그래서, 정말 중요합니다 다른 사람이 웹 사이트를 방문 할 경우, 말 정말 게시물을 좋아하는 그들은 토론에 참여할 수 있습니다 페이지를 방문하여 다른 사람들과. 그래서 우리는 가서 만들거야 새 데이터베이스 테이블과 새로운 모델 우리가 연결할 수 있도록 게시물과 댓글. 그래서 첫 번째 단계, 직전처럼, 우리는 마이그레이션을 실행해야한다는 것입니다. 전에 같은, 우리가 할 PHP는 장인 마이그레이션 :합니다. 그리고 우리는 하나를 만들어 보겠습니다 create_comments_table했다. 이 파일을 만듭니다 즉, 우리의 새로운 마이그레이션을 가지고있다. 그리고 우리는 같이 갈거야 전에, 새 테이블을 정의합니다. 그래서 스키마 ::를 만들 표는 코멘트를했다. 여기에이 기능. 그리고이 테이블 내부에 무슨 우리는 먼저 수행되는거야 예전처럼, ID를 할당합니다. ID를 증가시킵니다. 우리는 사용자가 연결할 수 있습니다거야 특정 코멘트와 함께 자신의 이름입니다. 우리는 어떤 내용을 할거야 그 이 텍스트 컨텐츠와 함께 진행한다. 그리고 여기에 우리가 갈거야 무슨 할 다른 무언가이다. 우리는 정수를 만들어 보겠습니다 그는 post_id를 호출되는 어떤 게시물을 의미하는 것입니다 특정 코멘트와 함께 간다. 또한, 우리는 사실에 갈거야 이에 외래 키 제약 조건을 설정합니다. 그래서 MySQL은 그 적용됩니다. 우리는하려고하지 않을 주석 번호를 할당 우리가하지 않은 경우 (5) 5000을 게시하려면 그것은 5,000 게시물을했다. 그래서 우리는 여기에 무엇을, 우리는 외국 post_id를 할 와 연관 될 것입니다 테이블 게시물에서 ID 필드. 그리고 우리는 실제로 뭔가를 할 것입니다 다른 도움, onDelete입니다. 우리 일부를 삭제할 경우에 따라서 데이터베이스에서 게시, 우리는 계단식으로 할 것인지 뿐만 아니라 의견을 삭제합니다. 매우 도움이 아니니까 우리는 게시물에 대한 의견을 가지려면 즉 존재하지 않습니다. 그리고 마지막으로, 예전처럼, 우리는있어 이에 타임 스탬프를 설정하는 것. 그리고 예전처럼, 우리는에 갈거야 반대 마이그레이션 할 수있다 댓글 테이블을 삭제. 그래서 지금 우리가 가면 여기에, 우리는거야 이 마이그레이션, 장인 마이그레이션을 실행합니다. 그리고 지금은이 적용된 우리가 방금 만든 마이그레이션. 우리 모습에 phpMyAdmin의 경우 그래서 이제 실제로 수행 코멘트를 가지고 테이블이 우리가 지정된 구조. 전에 같은, 우리는있어 새로운 모델을 만들 것 추상적 인 SQL 테이블 우리는 방금 만든 것을. 그래서 새 파일을 추가 할 수 있습니다. 우리는 그것을 comment.php 호출하는 것입니다. 그리고이 사실은 매우 될 것입니다 약간의 변화와 간단 무엇에서 우리는 이전했다. 그래서 클래스 코멘트 달변이 확장합니다. 그리고 우리는 무엇을거야 정의 여기에해야 할 일 인 기능 다른 모델과의 관계. 그래서 우리는 포스트 기능을 할거야 여기에이 관계를 반환합니다. 그래서 우리는 것을 지정하고 이 게시물에 속한다, 하나의 게시물이 말하는 것을이 댓글은에 속한다. 이것은 실제로이어야한다 모델에 대한 자본 P. 그리고 지금은 그냥 다른 플립에 면, 우리는 야, 그런 말을해야합니다. 게시물 댓글이 있습니다. 그래서 우리가 무엇을 할 거 야 것은 공공 기능 주석을 정의합니다. 그리고 여기에 반환 이 많은 코멘트가 있습니다. 그래서 지금 마술 우리가 게시물을 때, 우리는 속성 의견을 얻을 수 있습니다 그것은로 채우 거 데이터베이스에서 정보를 제공합니다. 그래서 실제로 통과하자 우리의 뷰 파일에 새로운 기능을 추가 그래서 우리가 할 수있는 모두 표시 과 의견을 만듭니다. 그래서 우리는 새로운 섹션을 정의하는 것입니다. 그냥 그것을 분리하자 수평 규칙. 섹션 ID = "의견". 우리가 할거야 여기이며, 이전과 같은, 모든 의견을 반복. 그래서 실제로 우리는 이것이 어떻게, 내가 언급 한 바와 같이, 상당히 마법. 우리는 의견을 게시 할. 그리고 우리는 각각에 대해이 작업을 수행 할 수 있습니다 주석의 각을 통해 루프. 그리고 우리는 갈거야 무슨 수행은 DIV 클래스 주석입니다 우리는 사실에 갈거야 이 댓글을 인쇄 할 수 있습니다. 그래서 헤이를 표시 사람 이름 - 코멘트 사람이 comment--을 게시 점 점 점 말한다. 우리는 블록에 넣고거야 인용, 그냥 좋은 보이게합니다. 그리고 콘텐츠 블록 견적을 주석 처리합니다. 그리고 foreach는. 그래서 지금이 루프 것입니다 모든 의견을 통해 그는 관련이 게시물의 각각 그 의견을 각각 표시합니다. 나는 아래로 다른 섹션을 추가거야 여기에, 허용하는 우리는 코멘트를 추가 할 수 있습니다. 그래서 H3 클래스입니다. 여기에 제목을 넣습니다. 코멘트를 추가합니다. 그리고 우리는 새로운 형태를 정의하는 것입니다. 전에 같은, 우리는있어 양식 조치를 할 것. 그리고 여기, 새로운 조치는 우리가있어입니다 새 컨트롤러를 정의하는 것 그 우리는 게시에 응답 할 수 댓글을 작성하기위한 요청. 그래서 URL : 경로 createComment. 여기 매개 변수를 통해 전달하겠습니다. 게시물의 ID가 우리는에 코멘트를 작성하고 있습니다. 그리고이의 다음 방법 형태는 후가 될 것입니다. 이제 우리는에 추가 할거야 두 개의 필드, 폼 그룹. 이에 입력 될 것입니다 "이름"과 클래스 = "폼 컨트롤을"이름, = "텍스트"와 함께 입력 자리 = "당신의 이름입니다." 우리는 또한 정의 할거야 다른 양식 필드, 어떤 텍스트가 될 것입니다 지역 우리는 전에 가지고있다. 그냥 예전처럼 콘텐츠를 호출합니다. 클래스 = "폼 제어 할 수 있습니다." 자리 표시 자 = "여기에 작성합니다." 그리고 그냥 우리 실제로 제출할 수 있습니다, 타입과 클래스 = 제출 "BTN-차 BTN." 폼을 닫습니다. 이 작업을 닫습니다. 그래서 지금 우리가이 페이지 어디를 새로 고치면 우리는, 말하자면, 특정 게시물이 있습니다. 우리는 서버를 재부팅해야합니다. PHP 장인 역할을한다. 이를 다시 부팅합니다. 우리는 경로를 정의해야합니다. 하지만 지금은 그냥이를 보자 밖으로 있도록 우리는 실제로 당신을 표시 할 수 있습니다 어떤 페이지처럼 보이는 한 다음 우리는 실제로 그 길을 만들 것이다. 그래서, 헤이. 우리는 여기서이 새로운 형태를 가지고 우리가 의견을 만들 수 있도록. 그럼 실제로을 정의 할 수 컨트롤러 내에서 기능 우리는 주석을 추가 할 수 있도록. 의 돌아 가자. 그리고 blogcontroller.php 내에서, 우리가 무엇을 할 거 야 새로운 기능을 만들 수있다 코멘트를 작성했다. 공공 기능 createComment. 이는 단일를해야 할 것입니다 파라미터, 포스트들의 ID 것을 우리에 주석하고 있습니다. 그리고 예전처럼, 우리는있어 먼저 게시물을 얻을 것. 그래서, findOrfail ID를 게시합니다. 이후, 우리는거야 새 주석을 만들 수 있습니다. 그래서 = 새로운 코멘트를 주석으로 처리합니다. 이름 = 입력 코멘트 :: 이름을 얻는다. 코멘트 내용 = 같은 새로운 라인 입력의 휴식에 :: 콘텐츠를. 그리고 마지막으로, 우리는해야 할거야 게시물이 댓글을 연결합니다. 그래서 우리가 사용하는거야 이 기능, 주석, 즉, 우리가 저장할 수 있습니다 이 관계. 그래서 지금이 댓글은해야합니다 자동으로 게시물 ID. 우리는 또한 설정할 수 수동 있지만이며 지금까지 읽을 더 쉽게 함수는갑니다. 그리고 우리가 수행 한 후 이, 우리는 무엇을 할 로 사용자를 리디렉션입니다 경로 viewPost로 지정 와 배열 포스트 ID의 매개 변수입니다. 그리고 지금 그래서이 실제로 기능, 우리는이 경로를 정의 할 필요가있다. 경로 :: 게시 할 수 있습니다. 그리고 지금 우리는이 전화를 겁니다 게시물 ID 슬래시 주석을 슬래시. 배열은 새로운 함수를 사용하여 우리는 방금 만든 것을. BlogController. createComment로 CreateComment. 좋아. 그래서 지금 우리는이 페이지를 새로 고침 희망하는 경우 및 코멘트, 말, 데이비드 마란에 추가 할 수 있습니다. "아마이 작동합니다." 제출. 우리는 사실이 있습니까 이 블로그 게시물에 대해 언급. 쿨. 그래서 지금 우리는 꽤있다 기능 블로그 게시물. 우리는 단지에 갈거야 그래서 몇 개조하면 되겠 어를 추가 우리는 좀 더 유용을 가지고 이 게시물에 대한 정보를 제공합니다. 우리가 돌​​아갈 경우에 따라서 첫 페이지, 우리는 아무 의미가 없다 얼마나 많은 주석입니다 이 게시물의 각. 그래서 우리가 실제로 거냐 할 일은, 우리의 모델 내부, 허용 도우미 함수를 정의 우리는 의견의 수를 지정합니다 그 특정 게시물과 함께 할 것입니다. 그래서 우리가 창조하는거야 도우미 함수. 공공 기능. GetNumCommentsStr. 수를 지정 그래서 문자열 그것과 함께 갈 댓글. 그리고 우리가 무엇을 할 거 야하는 말입니다 그 NUM =이 의견을 계산합니다. 그래서 우리는 계산거야 댓글의 수. 이 값이 1에 해당하는 경우, 우리는있어 단지 1 개의 코멘트를 반환하는 것. 그리고 그렇지 않으면, 우리는 반환 할 NUM과 의견의 연결, 그래서 우리는 복수화가 올바른 얻을. 그냥이 작은 따옴표합니다. 한 의견. 그리고 지금 우리는이 기능을 사용할 수 있습니다 직접 우리의보기의 내부. 우리가 돌​​아갈 경우에 따라서 우리가 만든 부분 게시물, 지금 우리가 실제로 원하는 댓글의 수를 표시합니다. 그래서 우리가 할 수있는 일이다 포스트는이 기능을 사용 우리는 단지에 만든 댓글의 수를 표시합니다. 우리는 지금, 새로 고침을 그래서 경우 사실, 수행, 표시 숫자 의견 그것은 그것과 함께 이동합니다. 우리는 당신이 경우 공상이되고 싶어하는 경우 실제로 유통 코드를 보면, 우리는 실제로 링크 할 수 있습니다 댓글이. 당신이 기억한다면, 우리는 내에 정의 이 섹션 ID의 의견을 가지고 볼 수 있습니다. 그래서 우리가 실제로 연결하기를 원한다면 직접 코멘트 섹션에, 무엇을 우리는 여기에서 HREF입니다 것 경로 viewPost의 URL. 포스트 ID의 배열 ID를 전달합니다. 그리고 우리가 가고 싶어 특별히 코멘트 섹션. 여기의이 태그를 닫습니다 수 있습니다. 그래서 지금 우리가이 새로 고침 경우 페이지, 우리는이를 클릭합니다. 우리는 직접 갈거야 코멘트 섹션. 우리는 더 이상 게시물이 있다면, 당신은 할 수 실제로이 바운스를 참조하십시오. 하지만 당신은 그것의 것을 알 수 있습니다 하지 페이지의 상단에. 쿨. 좋아. 그래서 매우 간단이야 간단한 무언가의 예 당신은 Laravel로 할 수있다. 하지만 당신은 여기에서 확인할 수 있습니다 우리는 많은 일을했습니다 코드의 매우 작은 양. Laravel은 우리가을 수행 할 수 있습니다 무대 뒤에서 SQL 쿼리. 그것은 위생​​을 수행 무대 뒤에서 우리를합니다. 우리는 이러한 관계를 수행 할 수 있습니다 아주 쉽게 우리가 필요없이 어떤 SQL을 수행 할에 문을 가입 어떤 게시물과 댓글을 결합한다. 우리는이 작업을 수행 할 수 있도록 허용 템플릿의 상속 그래서 우리는 이러한 중첩을 정의 할 수 있습니다 파일에는 우리는 우리 자신을 반복하지 않을 단지 우리가했을 때와 같은 블로그 게시물의 표시 우리는 할 필요가 없습니다 코드를 복사하여 붙여 넣습니다. 그리고 여기에서 당신은 구축 할 수 있습니다 점점 더 복잡한 응용 프로그램. 당신이 상상할 수있는 경우 우리 구현하고 싶었 로그인을, 우리는 타사에 가져, 말할 수 우리가 그렇게 할 수 있도록 프레임 워크입니다. 그들의 무리가있다 그 정말, 정말 같이 할 수있는 훌륭한, 암호 복구. 그리고 그것은 당신을 보내드립니다 암호 이메일을 다시 설정합니다. 우리는 권한을 구현할 수 있습니다 제가 게시물을 작성할 수 있도록 하지만 다른 사람이 그것을 편집 할 수 없습니다. 우리는 구현할 수 있습니다 기능은 게시물을 삭제합니다. 하지만 우리가 꽤있는 그 여기에서 볼 수 있습니다 많은 모든 기초적인 구성 요소 정말 일부를 구축하기 위해, 정말, 역동적이고 흥미로운 웹 애플 리케이션. 그와 함께 그래서, 나는 우리가 좋은 것 같아요. 너희들은 질문이 있으십니까? 네? 스피커 3 : 어떻게 할 정적 콘텐츠를? ERIC OUYANG : 정적 콘텐츠입니다. 우리가 가진 그래서 당신은 그 전에 보았다 바로이 부​​분,이 레이아웃의 내용, 보기 메이크업, 우리는이 있었다 나중에이 배열없이. Blog.index, 우리는이 있었다 정적 인 파​​일로 저장됩니다. 우리가 통과하지 않는 경우에 따라서 그것에 따라 무엇이든, 그냥 직접 HTML을 렌더링합니다. 그러나 우리는이 연합에 전달하는 경우 동적 인 게시물의 배열, 데이터베이스에서 가져온, 우리 페이지를 동적으로 만들 수 있습니다. 쿨. 다른 질문? 스피커 3 : 어떻게 비교 것 어쩌면 다른 옵션 Laravel? ERIC OUYANG : 물론. 그래. 그래서 Laravel 그 인거 같에 좋은 question-- 웹 프레임 워크를위한 많은 옵션 중 하나. 그래서 루비 온 레일스 (Ruby on Rails)는 인기 하나입니다. 나는 트위터 예전 생각 루비 온 레일스 (Ruby on Rails)로 구현. 나는 그들이 이후 전환 것 같아요. FuelPHP라는 또 다른 하나가있다. 그래서 루비 온 레일스 (Ruby on Rails)는 루비 언어를 사용 그리고 MVC의 물건을 많이 구현 우리가 여기에서 보는 그. FuelPHP 다른 PHP 프레임 워크입니다. 장고 내 즐겨 찾기 중 하나입니다. 그것은 파이썬 웹 프레임 워크입니다. 그래서 파이썬에서 웹 응용 프로그램을 작성할 수 있습니다. 그래서 이러한 옵션의 톤이있다. Laravel, 나는 생각에 의해 큰 내가 제일 좋아하는 권리 이제 PHP 단지 때문에 성분 우리는 이전에 대해 이야기하는 것이. 그것은의 작곡가 가능. 정말, 정말를 포함 표현 ORM 시스템. 또한 정말 멋진 템플릿을 가지고 언어가 다른 사람의 일부 단지 제공하지 않습니다. 그리고 마이그레이션. 마이그레이션도 굉장하다. 쿨? 신난다. 잘, 정말 고마워요 이 세미나를보고, 최종 프로젝트와 행운을 빕니다.