>> Rồi.
Vì vậy, các khóa học giảng dạy.
Danh mục Tất nhiên Harvard có hàng ngàn khóa học,
có vài trăm giảng viên
và có nhiều hàng chục lĩnh vực,
khoa học máy tính chỉ là một trong số họ,
và tôi nghĩ chúng ta sẽ sử dụng như là một cơ hội để bắt đầu suy nghĩ
làm thế nào để thực hiện một ứng dụng dựa trên web chuẩn
sử dụng PHP và Laravel và còn làm thế nào chúng ta có thể một số mô hình
của các thực thể thế giới thực.
Vì vậy, để làm được điều này chúng ta sẽ sử dụng Laravel, mà chỉ là một khuôn khổ
cho biết thêm rằng rất nhiều tính năng để PHP,
giống như Jango thêm cùng với Python,
Đường ray cho biết thêm cùng với Ruby.
Do đó, có một cặp vợ chồng cách khác nhau
trong đó bạn có thể cài đặt Laravel.
Các tài liệu cho Laravel, như bạn có thể nhớ lại
so với tuần trước, là thực sự khá phong phú
và bạn có thể chắc chắn một mình ở nhà chơi
xung quanh với điều này và làm theo các hướng dẫn cụ thể,
nhưng tôi sẽ đi trước và chỉ cho chúng ta một cách nhanh chóng,
tour du lịch cơn lốc của một số trong số họ,
tương tự như những gì Tim đã làm ngày khác,
và tôi đầu tiên sẽ sử dụng này.
Vì vậy, Composer là sắp xếp của một tính năng mới và cải tiến
cho thế giới PHP mà làm nó dễ dàng hơn để cài đặt những thứ.
Nếu bạn đã quen thuộc với luật Nhận được trong [không nghe được] thế giới
hoặc [nghe được] thế giới hoặc Yum trong [không nghe được]
và trên thế giới chiếc mũ màu đỏ, điều này chưa chỉ là một công cụ
cho phép bạn cài đặt những thứ
cho môi trường đặc biệt này.
Vì vậy, nếu tôi làm Composer, Tạo dự án và vv,
mà tôi sẽ làm ở đây, chúng ta hãy đi trước và chỉ, tôi sẽ hướng dẫn bạn
thông qua một số các bước như chúng tôi đã làm thời gian qua
mà không có dấu phần trăm, Chết tiệt, không Composer.
Vì vậy, với Composer-Tôi sử dụng một máy ảo khác nhau
hơn trước.
Chúng ta hãy làm nhanh thật này.
Được rồi, vì vậy cài đặt Nhà soạn nhạc cũng đơn giản như thế này.
Vì vậy, tôi sẽ làm một, tôi sẽ đứng dậy trên Soapbox của tôi trong một thời gian quá.
Điều này thực sự rất mô hình ngày càng phổ biến
để cài đặt những thứ trên máy tính của người dân những ngày này,
nơi bạn có cơ bản lấy một URL tùy ý,
ống thông qua một thông dịch viên và sau đó chỉ cần làm những gì
rằng đoạn mã tùy ý bạn chỉ cần tải về nói để làm.
Nó rất dễ dàng như bạn đang về để xem nhưng nhận ra hoài nghi
trong của bạn nên nghĩ rằng đây là một trong những không an toàn hơn
điều bạn đã bao giờ có thể làm; tải về một tập tin tùy ý
từ internet và sau đó một cách mù quáng chạy nó bằng cách
của đường ống, nhưng chúng tôi sẽ tin tưởng rằng trình cài đặt là
trên thực tế hợp pháp ngày hôm nay.
Tôi sẽ đi trước và chạy này và điều này sẽ
để tải chương trình.
Nó sẽ tải về một tập tin gọi là composer.farphparchive,
và tôi sẽ đi trước và làm điều này,
sudo-đầu tiên thực sự chmod755composer.far,
đó là sẽ làm cho nó thực thi bởi tất cả mọi người,
và sau đó tôi sẽ làm nhà soạn nhạc mv sudo
để người dùng nội bộ nhà soạn nhạc bin, và người sử dụng bin địa phương là những gì
cho những người quen thuộc với Linux?
Để được rõ ràng tôi đang làm trong này
của thiết bị mặc dù Tôi đang sử dụng thiết bị đầu cuối trên MAC của tôi.
[Thấp âm thanh] Chính xác, như vậy trong một thư mục,
thực sự làm rõ nhẹ.
Trong thư mục thường được gọi là / bin
hoặc / userbin có thực sự một số chương trình rất phổ biến
như đĩa CD và LS và vv.
Trong sử dụng bin địa phương theo quy ước không có gì là theo mặc định và chúng tôi,
người sử dụng của hệ thống, có thể đặt bất cứ điều gì chúng tôi muốn ở đó
và theo mặc định nó trong của bạn được gọi là con đường tìm kiếm để
khi bạn chỉ cần gõ soạn nhạc hệ điều hành, Linux,
sẽ nhìn vào đó thư mục số những người khác
để tìm chương trình trong câu hỏi, và nó chỉ ra rằng nó là tốt
để đổi tên nó với tập tin mở rộng
bởi vì chúng tôi đã thực hiện nó thực thi.
Điều này sẽ thực sự chạy như chúng tôi dự định.
Được rồi vì vậy bây giờ tôi sẽ quay trở lại
vào dòng tôi đề nghị chúng tôi thực hiện trước đó, mà là này;
nhà soạn nhạc và sau đó phải mất một đối số dòng lệnh,
mà tôi chỉ biết từ đọc tài liệu,
gọi là tạo ra dự án.
Tôi cần phải chỉ định tên của dự án mà tôi muốn
mỏ và cơ sở Laravel / Laravel chủ yếu là chỉ
để một kho lưu trữ trung tâm get trong đó mã sống.
Danh mục là một cái tên tùy ý Tôi sẽ cung cấp cho dự án của tôi,
các cửa hàng tất nhiên, nhưng bạn có thể gọi nó là foo
hoặc bất cứ điều gì khác, và thích-dist.
Đó là một chút cắt.
Nó chỉ có nghĩa thích sự phân bố mới nhất.
Vì vậy, tôi sẽ đi trước và nhấn Enter và như Tim nói
hôm thứ tư nó có thể đôi khi mất một thời gian,
đặc biệt nếu bạn trên một kết nối chậm
hoặc nếu bạn đã không được lưu trữ một số những điều này,
nhưng điều này là làm là nó kiểm tra
ra một bó toàn bộ mã từ trực tuyến.
Nó từ từ đi tải nó vào máy tính của tôi
và khi nó cuối cùng đã được thực hiện,
Tôi sẽ có một thư mục gọi là Catalog bên trong
trong số đó là-oops, đó là lý do tại sao.
Danh mục, chúng ta hãy làm điều đó một lần nữa.
Sao không chạy một đó.
Rõ ràng bạn có một hiện tại Danh mục thư mục và nó thông báo
rằng ở phút cuối cùng.
Điều này sẽ có cho tôi một thư mục gọi là Catalog bên trong
trong số đó là tất cả các mã tôi cần
để bắt đầu viết một trang web dựa trên ứng dụng với Laravel.
Vì vậy, trong vòng vài giây này nên đá trong
và một khi chúng ta có điều này và một lần nữa nếu bạn đang không ở điểm
nơi bạn có thể theo cùng ngay bây giờ,
nó hoàn toàn tốt, nó khá dễ dàng
để tái tạo các bước sau sau đó trong thiết bị của riêng bạn.
Được rồi. Ổn trong Đồng thời, như chúng ta làm điều này,
Tôi sẽ kéo lên một gợi ý khác.
Vì vậy, bạn có thể có Tim thấy đề cập đến
hoặc chỉnh sửa tập tin này thời gian qua.
Một tập tin etc / máy chủ là gì và nơi nào nó sống?
Được rồi chúng ta hãy quay trở lại trong thời gian.
DNS là gì, mà chúng tôi thảo luận cách đây không lâu?
Được rồi, vì vậy hệ thống tên miền.
Đây chỉ là cơ sở hạ tầng trên internet
mà những gì trong một câu?
Yeah. [Thấp âm thanh] Chính xác.
Nó chuyển đổi tên miền để Địa chỉ IP và ngược lại,
do đó, nó có hiệu quả một bảng cơ sở dữ liệu lớn
với hai cột này có tên miền đầy đủ
ở bên trái và địa chỉ IP bên phải, ví dụ,
và nó chỉ chuyển đổi hai.
Bây giờ đó là tất cả tiền phạt và tốt nhưng nếu bạn thực sự muốn
để tạo ra tên máy chủ mới vào Internet, tên miền mới
trên internet, bạn thường phải cho tiền một người nào đó,
bạn phải cấu hình những thứ trên máy chủ của họ, máy chủ tên của họ
và vv, mà là một nỗi đau thực sự, và đặc biệt là
nếu chúng ta không thực sự muốn mua một tên miền, chúng tôi chỉ muốn
giả vờ như chúng tôi có miền địa phương của chúng ta,
Ví dụ gọi Danh mục hoặc Catalog.com
hoặc bất cứ điều gì như thế.
Cũng etc / máy chủ cho phép bạn cứng đang ánh xạ giữa tên máy chủ
và địa chỉ IP của bạn trên máy tính địa phương của riêng như vậy là
về cơ bản lừa máy tính vào tư duy
rằng tên miền thực sự tồn tại ở IP đó.
Nó được kiểm tra trước khi hệ thống thực sự DNS chính nó
được kiểm tra.
Vì vậy, hãy để tôi đi vào này cửa sổ thiết bị đầu cuối và có vẻ
như trong nền đó,
tất cả mọi thứ đã tải về thành công,
vì vậy những gì tôi bây giờ đi làm là như sau.
Nếu bạn đang quen thuộc hơn từ 50 hoặc 51 ngày
với G Chỉnh sửa, tôi sẽ đi trước và làm điều này với G Sửa
lúc đầu, nhưng tôi sẽ đi trước
và làm sudo g chỉnh sửa / etc / hosts bên trong của thiết bị,
và khi tôi làm điều này tôi sẽ nhận được một cửa sổ
trông như thế này đây.
Dòng hơi khó hiểu chỉ vì họ dài,
nhưng về cơ bản nó lập bản đồ 127.0.0.1
đến một vài tên máy chủ khác nhau, một trong số đó là máy chủ địa phương,
một trong số đó là thiết bị và sau đó một vài chi tiết;
localhost.localdomain, appliance.localdomain.
Đây chỉ là quy ước sử dụng những thứ như localhost
như tên máy chủ mặc định và localdomain
như một đầu mặc định tên miền cấp hoặc TLD.
Vì vậy, nhận thấy những gì tôi đã đã làm trước đây.
Nếu tôi muốn lừa thiết bị vào suy nghĩ
Catalog đó thực sự là một trang web thực sự trên internet,
Tôi có thể nói rằng thiết bị địa chỉ IP là 127.0.0.1.
Bây giờ tại sao địa chỉ đó?
IP là gì?
Đâu nó đến từ đâu?
Tôi đã có người để hỏi cho rằng?
[Thấp âm thanh] Cái gì thế?
[Thấp âm thanh] Đó là địa chỉ trở lại vòng lặp,
Điều đó có nghĩa là địa chỉ IP mặc định cho
với hầu hết các máy tính bất kỳ trong thế giới có hỗ trợ IP,
giao thức internet, và đó là một địa chỉ lặp lại
trong ý nghĩa rằng nó phản ánh nó.
Nó đề cập đến chính nó.
Vì vậy, tất cả chúng ta, nếu chúng ta có một thiết bị hoặc thậm chí một MAC
hoặc máy tính có địa chỉ IP địa phương của 127.0.0.1 và nó chỉ được sử dụng
để bạn có thể nói chuyện cho chính mình.
Tôi có thể ở con số lý thuyết
ra những gì IP của thiết bị địa chỉ là và gõ 192,168
hoặc bất cứ điều gì con số đó là nhưng nó không cần thiết.
Điều này sẽ là bất biến và sẽ chỉ đơn giản là luôn luôn làm việc.
Vì vậy, một khi tôi tiết kiệm mà mà cuối cùng có nghĩa là
mà trong một trình duyệt tôi có thể đi đến http://Catalog, như tôi sẽ làm ở đây,
nhưng một vài điều bị phá vỡ ra khỏi cửa.
Vì vậy, những gì thực hiện điều này thường có nghĩa là,
khi tôi không có quyền truy cập, cấm, để làm một cái gì đó,
Bản năng đầu tiên của bạn là gì để giải quyết vấn đề này?
Tôi đã tải về một thư mục gọi là Catalog
vào thư mục V host của tôi, mà từ tuần cuối cùng bạn sẽ nhớ lại là
nơi tất cả các loại của chúng tôi các trang web địa phương sẽ được sống.
Điều gì có thể bị phá vỡ?
Làm thế nào để khắc phục?
[Thấp âm thanh] Quyền.
Quyền của những gì?
Các tập tin được không có khả năng.
Vì vậy, chúng ta hãy quay trở lại của chúng tôi cửa sổ thiết bị đầu cuối ở đây.
Tôi đang ở thư mục của host V của tôi.
Hãy để tôi làm LS và thông báo có một vài điều.
Máy chủ địa phương, mà đi kèm với thiết bị, chúng tôi đặt nó ở đó.
Catalog.original, mà Tôi đặt có trước đó,
đó là sắp xếp của thành phiên bản của những gì chúng ta
về để nhảy vào, và Catalog, mà tôi chỉ cần tải về.
Nếu tôi muốn nhìn tại các điều khoản
trên thư mục Catalog, Tôi có thể làm LS-L và thông báo
rằng họ là một chút khác nhau từ những người khác.
Cho phép những gì là rõ ràng thư mục Catalog,
mà chúng tôi chỉ cần tải về, thiếu theo mặc định?
Ngay cả khi bạn không có ý tưởng gì từ đó bạn có thể suy ra cáu kỉnh
những gì khác nhau về mỗi một trong ba dòng?
Rồi những gì còn thiếu giữa dòng một và hai dòng của đầu ra?
Yeah? [Âm thanh thấp] Có, vì vậy nó thiếu X, viết tắt
cho thực thi và có nghĩa là gì
nếu một thư mục được thực thi?
Nó chỉ có nghĩa là bạn có thể mở nó.
Bạn có thể CD vào nó.
Bạn có thể truy cập các tập tin bên trong của nó.
Vì vậy, nếu một tập tin thực thi, phương tiện nó giống như một chương trình bạn có thể chạy.
Một thư mục được thực thi nếu bạn có thể đi vào đó.
Vì vậy, tôi có thể sửa lỗi này với một số cách.
Tôi có thể làm chmod Một cộng với X, có nghĩa là tất cả các cộng với thực thi
và sau đó tôi có thể nói Catalog.
Hoặc gọi lại từ CS50 hoặc các lớp học khác,
Tôi có thể là một chút fancier và nói 0711 hoặc đơn giản hơn 711
trên Catalog, nhấn Enter, không có gì có thể xảy ra
nhưng nếu tôi làm LS-L một lần nữa, nhận thấy rằng nó thực thi
bởi nhóm của tôi, đó là giữa ba bit và của tất cả,
đó là ba bit bên phải, và nó cũng đủ cho những người
là giống hệt nhau cho mục đích của chúng tôi.
Sao tôi cảm thấy như chúng tôi trong hình dạng khá tốt.
Chúng ta hãy quay trở lại trình duyệt và hãy tải lại,
mẹ kiếp, vẫn bị cấm.
Vì vậy, những gì khác có thể bị phá vỡ?
Nơi nào khác có thể chúng tôi muốn nhìn?
Vì vậy chúng tôi cố định Catalog, vì vậy nếu tôi đi vào Catalog,
chúng ta hãy làm LS khác, bây giờ có công cụ hơn trong đây và thẳng thắn
ở cái nhìn đầu tiên nó áp đảo
và tôi dám nói rằng đây là một trong những cơn đau đầu của các khuôn khổ
ra khỏi cổng và bạn loại của tôi có rất nhiều hợp đồng với,
nhưng chúng tôi sẽ trau dồi tại trên những gì hôm nay là quan trọng
và điều quan trọng nhất bây giờ là thư mục này.
Nếu bạn đã sử dụng thiết bị trước khi bạn có thể biết
rằng có thể truy cập công khai thư mục được gọi là công cộng,
hoặc trong những năm qua nó đã được gọi HTML nhưng chúng tôi đã thay đổi kể từ đó
đạt tới công chúng phổ biến hơn.
Vì vậy, nếu tôi làm chmod 711 Công
mà dường như khắc phục vấn đề đó.
Vì vậy bây giờ hồ thư mục cũng được thực thi
và do đó có thể truy cập.
Chúng ta hãy xem nếu chúng ta một bước gần hơn.
Hãy tải lại, vẫn không có tốt và bây giờ nó sẽ
để có được một ít khó khăn; này là một chút khó khăn hơn.
Nếu tôi đi vào hồ, thu hồi mà Tim đã cho chúng ta một này.
Nếu tôi làm LS-AL, mà danh sách tất cả các file ở định dạng dài,
có một chấm tập tin như vậy để nói chuyện
nơi một tập tin chỉ là một dấu chấm tập tin có tên tập tin bắt đầu
với một dấu chấm.
Htaccess không làm những gì?
Vâng chúng ta hãy nhìn vào đó.
Thay vì sử dụng G Edit, Tôi sẽ sử dụng VIM,
bạn có thể sử dụng Emax hoặc Nano hay bất kỳ biên tập viên ưa thích của bạn,
nhưng nếu tôi nhìn vào đây này có một loạt các mức thấp thứ
đi kèm với Laravel của phân phối.
Đây là một tập tin mà Máy chủ web Apache hiểu
và câu chuyện dài ngắn, các nhiều dòng
cấu hình lừa thư mục hồ toàn bộ
vào định tuyến gần như tất cả các HTTP yêu cầu để có một đoán.
Tập tin đó?
Tất cả các yêu cầu HTTP đến với một vài trường hợp ngoại lệ sẽ được chuyển
những gì tập tin, nếu không được biết đến như một bộ điều khiển phía trước?
>> Index.
>> Index.php.
Vì vậy, ngay cả khi có một foo.php tập tin hoặc một tập tin bar.php
trong thư mục hồ của tôi, ý nghĩa của những dòng này
nói chung là tuyến tất cả các yêu cầu
đến index.php trừ khi các tập tin quả thực tồn tại vì điều
như bang-f có nghĩa là nếu tên tập tin không tồn tại,
và nếu trực tiếp không tồn tại,
tuyến tất cả các yêu cầu để index.php.
Vì vậy, trong một chút này sẽ cho phép chúng ta có URL của
như http://Catalog/courses/123
nơi 123 là độc đáo định danh cho một khóa học
nhưng rõ ràng không phải là tên của một tập tin để yêu cầu có nghĩa là sẽ
để được chuyển đến index.php ai sẽ tìm ra,
nhờ Laravel và bạn, nơi để tuyến đường
mà yêu cầu HTTP gửi đến.
Nhưng có một vấn đề.
Chú ý theo mặc định mà htaccess là không thể đọc được
hoặc thực thi.
Executability là không quan trọng nhưng tôi muốn làm chmod644
trên chấm htaccess hoặc Thông báo R. Bây giờ cộng
rằng nếu tôi làm một tất cả niêm yết, bây giờ nó có thể đọc được.
Bây giờ nếu tôi qua các ngón tay của tôi ở đây và tải lại, úi chà,
chúng tôi có nó lên và chạy.
Bước thật ngu ngốc mà bạn cần phải đi qua lúc đầu,
nhưng thực tế là tôi loại đã đi qua nó
nên vẻ thông thái là chính xác các loại
các bước chẩn đoán bạn nên suy nghĩ
về bất cứ khi nào có điều gì đó sai,
và ngay cả khi một thư mục có thể bị thất bại,
Có thể nhận ra cũng có thể được chấm tác phẩm,
đặc biệt là dấu chấm htaccess đó là khá phổ biến
trong bất kỳ phân phối Apache,
mà có thể tạo ra đau đầu như một đó.
Vì vậy, tôi nhận được một chút mệt mỏi đi lại
và ra đến thiết bị.
Tôi muốn có nhiều hơn làm việc trên MAC của tôi hoặc thậm chí trên máy tính của tôi.
Vì vậy, làm thế nào tôi có thể làm điều này cùng etc / máy chủ lừa?
Cũng nhận thấy rằng đầu tiên cho tôi con số
ra những gì thiết bị của Địa chỉ IP là.
Tôi có thể làm ifcongig, mà chương trình tôi một số đầu ra khá khó hiểu
nhưng thông báo tiếp theo để eth0 hay đúng hơn là bên cạnh eth1,
có địa chỉ IP này ở đây.
Tôi sẽ đi trước rồi sao chép và bên trong
của cửa sổ terminal MAC của riêng tôi Tôi sẽ sửa sudo etc / hosts
trên MAC của riêng tôi, mà cho cho tôi một tập tin tìm kiếm tương tự.
Tất cả tôi sẽ làm được điều này.
Vì vậy tôi sẽ để lừa MAC của tôi
nghĩ http://Catalog thực sự bản đồ
đến địa chỉ IP cụ thể.
Được rồi, vậy chúng ta hãy đi trước và tiết kiệm này, bây giờ hãy để tôi đóng cửa
rằng cửa sổ thiết bị đầu cuối và bây giờ MAC của tôi sử dụng bất kỳ trình duyệt tôi muốn,
http://Catalog và tôi nhìn thấy điều tương tự.
Bây giờ tôi thậm chí không cần phải bận tâm sẽ trở lại vào [không nghe được]
mà bạn có thể không thích làm anyway, vì vậy bây giờ tôi trở lại
trên máy tính của riêng tôi sử dụng thực sự là thiết bị
như chỉ là một máy chủ web.
Được rồi, vì vậy đây là chỉ một bản tóm tắt nhanh chóng của một số
của các quyền tập tin chúng ta có thể muốn thay đổi
và tôi cắt giảm một số góc trong những thứ như favicon hoặc tất cả
mà thú vị cho bây giờ.
Được rồi, vậy bây giờ chúng ta hãy bắt đầu
để cấu hình mặc định Cài đặt Laravel
cho một cơ sở dữ liệu.
Vì vậy, Tim đã làm một thời gian ngắn Lần cuối cùng quá và tập tin
trong câu hỏi là một trong những điều này ở đây.
Vì vậy, bên trong, hãy để tôi thay đổi điều này là phù hợp,
Danh mục ứng dụng cấu hình database.php.
Vì vậy, chúng ta hãy đi vào ứng dụng, chúng ta hãy đi vào cấu hình
và chúng ta hãy đi vào database.php.
Vì vậy, đây là một tập tin khá dài, hầu hết trong số đó là các ý kiến,
nhưng bạn sẽ thấy nếu bạn đọc qua điều này chặt chẽ
mà bạn có thể cấu hình Laravel và rất nhiều một khuôn khổ
để hỗ trợ khác nhau loại cơ sở dữ liệu.
Có lẽ bạn đang sử dụng MySQL, có thể bạn đang sử dụng cuối [nghe được],
có thể bạn đang sử dụng SQL Lite, có những thứ khác
nhưng nếu chúng ta đang sử dụng MySQL