>> Baiklah.
Jadi program dari instruksi.
Katalog kursus Harvard memiliki beberapa ribu kursus,
ada beberapa ratus fakultas
dan ada beberapa puluhan bidang,
ilmu komputer hanya menjadi salah satu dari mereka,
dan saya pikir kami akan menggunakan ini sebagai kesempatan untuk mulai berpikir
tentang bagaimana menerapkan aplikasi berbasis web standar
menggunakan PHP dan Laravel dan juga bagaimana kita dapat memodelkan beberapa
entitas ini dunia nyata.
Jadi untuk melakukan ini kita akan menggunakan Laravel, yang hanya kerangka
yang menambahkan banyak fitur untuk PHP,
seperti Jango menambahkan yang sama untuk Python,
Rails menambahkan sama untuk Ruby.
Jadi ada beberapa cara yang berbeda
di mana Anda dapat menginstal Laravel.
Dokumentasi untuk Laravel, karena Anda mungkin ingat
dari minggu lalu, adalah sebenarnya cukup kaya
dan Anda pasti bisa Anda sendiri di rumah bermain
main dengan ini dan ikuti instruksi khusus,
tapi aku akan pergi ke depan dan hanya memberi kita cepat,
angin puyuh tur beberapa dari mereka,
mirip dengan apa yang Tim melakukan hari lain,
dan aku pertama kali akan menggunakan ini.
Jadi Komposer adalah semacam fitur baru dan lebih baik
untuk dunia PHP yang membuat lebih mudah untuk menginstal sesuatu.
Jika Anda akrab dengan Undang-Undang Dapatkan di [tidak terdengar] dunia
atau [tak terdengar] dunia atau Yum di [tidak terdengar]
dan dunia topi merah, ini belum hanya alat lain
yang memungkinkan Anda untuk menginstal hal-hal
untuk lingkungan tertentu.
Jadi jika saya melakukan Composer, Buat Project dan sebagainya,
yang saya akan lakukan di sini, mari kita pergi depan dan hanya, saya akan memandu Anda
melalui beberapa ini langkah-langkah seperti yang kita lakukan terakhir kali
tanpa tanda persen, sial, tanpa Komposer.
Jadi dengan Komposer-aku menggunakan mesin virtual yang berbeda
daripada sebelumnya.
Mari kita lakukan dengan cepat nyata ini.
Baiklah, jadi menginstal Komposer adalah yang sederhana seperti ini.
Jadi saya akan membuat, saya akan bangun pada kotak sabun saya untuk sementara juga.
Ini sebenarnya sangat Paradigma semakin umum
untuk menginstal hal-hal di komputer orang hari ini,
di mana Anda pada dasarnya mengambil sebuah URL acak,
pipa melalui seorang penerjemah dan kemudian hanya melakukan apa
bahwa potongan sewenang-wenang kode Anda hanya download kata yang dapat dilakukan.
Ini sangat mudah karena Anda tentang untuk melihat tetapi menyadari skeptis
Anda harus dalam berpikir bahwa ini adalah di antara lebih aman
hal-hal yang bisa Anda lakukan; men-download file sewenang-wenang
dari internet dan kemudian membabi buta menjalankannya dengan cara
pipa, tapi kami akan percaya bahwa installer
sebenarnya sah hari ini.
Aku akan pergi ke depan dan menjalankan ini dan ini akan
untuk men-download program.
Ini akan men-download file disebut composer.farphparchive,
dan aku akan pergi ke depan dan melakukan hal ini,
sudo-pertama sebenarnya chmod755composer.far,
yang akan membuatnya dieksekusi oleh semua orang,
dan kemudian aku akan melakukan sudo komposer mv
pengguna komposer bin lokal, dan apa yang pengguna bin lokal
untuk mereka yang akrab dengan Linux?
Untuk menjadi jelas saya lakukan dalam ini
dari alat meskipun Saya menggunakan terminal di MAC saya.
[Rendah Audio] Tepat, sehingga dalam sebuah direktori,
sebenarnya klarifikasi sedikit.
Dalam direktori biasanya disebut / bin
atau / userbin memang beberapa program yang sangat populer
seperti CD dan LS dan sebagainya.
Dalam pengguna bin lokal dengan konvensi ada secara default dan kami,
pengguna dari sistem, dapat menempatkan apa pun yang kita inginkan di sana
dan secara default ada di Anda disebut pencarian jalan sehingga
ketika Anda hanya mengetik komposer sistem operasi, Linux,
akan terlihat bahwa direktori antara lain
untuk menemukan program tersebut, dan ternyata tidak apa-apa
untuk mengubah nama itu dengan ekstensi file
karena kita sudah membuat itu dieksekusi.
Hal ini akan benar-benar berjalan seperti yang kita inginkan.
Oke jadi sekarang aku akan kembali
ke baris saya mengusulkan kita mengeksekusi sebelumnya, yang ini;
komposer dan kemudian dibutuhkan baris perintah argumen,
yang saya tahu hanya dari membaca dokumentasi,
disebut membuat proyek.
Saya perlu menentukan nama proyek di mana saya ingin
untuk menambang dasar dan Laravel / Laravel dasarnya mengacu
ke hub repositori get di mana kode yang hidup.
Katalog adalah nama sewenang-wenang Aku akan berikan kepada proyek saya,
katalog saja, tetapi Anda bisa menyebutnya foo
atau apa pun, dan lebih-dist.
Ini sedikit terputus.
Ini hanya berarti lebih distribusi terbaru.
Jadi aku akan pergi ke depan dan tekan Enter dan sebagai Tim mengatakan
pada hari Rabu itu bisa kadang-kadang memakan waktu cukup lama,
terutama jika Anda pada koneksi yang lambat
atau jika Anda belum cache beberapa hal-hal ini,
tapi apa ini lakukan adalah itu memeriksa
out sekelompok keseluruhan kode dari online.
Ini perlahan-lahan akan download ke komputer saya
dan ketika itu akhirnya dilakukan,
Aku akan memiliki direktori Katalog disebut dalam
dari yang-oops, itu sebabnya.
Katalog, mari kita lakukan itu lagi.
Oke tidak menjalankan yang satu itu.
Tampaknya Anda telah yang ada Katalog direktori dan pemberitahuan
bahwa pada menit terakhir.
Ini akan miliki untuk saya direktori bernama Katalog dalam
satunya adalah semua kode yang saya butuhkan
untuk mulai menulis berbasis web aplikasi dengan Laravel.
Jadi dalam beberapa detik ini harus menendang
dan setelah kami punya ini-dan lagi jika Anda tidak pada titik
di mana Anda dapat mengikutinya sekarang,
itu benar-benar baik-baik saja, itu sangat mudah
untuk menciptakan langkah-langkah sesudahnya dalam alat Anda sendiri.
Baiklah. Alright di Sementara itu, seperti yang kita lakukan ini,
Aku akan menarik up satu petunjuk lain.
Jadi, Anda mungkin memiliki Tim dilihat menyebutkan
atau mengedit file ini terakhir kali.
Apa file etc / host dan di mana apakah itu hidup?
Baiklah mari kita memutar kembali waktu.
Apa itu DNS, yang kita dibahas tidak terlalu lama yang lalu?
Alright, sehingga sistem nama domain.
Ini hanya infrastruktur di internet
yang melakukan apa dalam sebuah kalimat?
Ya. [Rendah Audio] Tepat.
Mengkonversi nama domain untuk Alamat IP dan sebaliknya,
sehingga secara efektif tabel database besar
dengan dua kolom ini yang memiliki nama domain berkualifikasi lengkap
di sebelah kiri dan IP address di sebelah kanan, misalnya,
dan itu hanya mengubah dua.
Sekarang itu semua baik dan bagus tetapi jika Anda benar-benar ingin
untuk membuat nama host baru pada internet, nama domain baru
di internet, Anda biasanya harus memberi seseorang uang,
Anda harus mengkonfigurasi hal-hal di server mereka, server nama mereka
dan sebagainya, yang merupakan rasa sakit yang nyata, dan terutama
jika kita tidak benar-benar ingin membeli nama domain, kami hanya ingin
berpura-pura seperti yang kita miliki domain lokal kita sendiri,
misalnya disebut Katalog atau Catalog.com
atau sesuatu seperti itu.
Nah etc / host memungkinkan Anda untuk keras pemetaan kode di antara nama host
dan alamat IP pada Anda komputer lokal sendiri sehingga
pada dasarnya mengelabui komputer ke dalam pemikiran
bahwa nama domain benar-benar ada di IP tersebut.
Akan diperiksa terlebih dahulu sebelum DNS sistem benar-benar sendiri
diperiksa.
Jadi biarkan aku pergi ke ini window terminal dan tampak
seperti di latar belakang di sana,
semuanya telah di-download berhasil,
jadi apa yang saya sekarang akan harus dilakukan adalah sebagai berikut.
Jika Anda lebih akrab dari ke-50 atau 51 hari
dengan G Edit, aku akan pergi ke depan dan melakukan hal ini dengan G Sunting
pada awalnya, tapi aku akan pergi ke depan
dan melakukan sudo g edit / etc / hosts dalam alat,
dan ketika saya melakukan ini aku akan mendapatkan jendela
yang terlihat seperti ini di sini.
Garis agak samar hanya karena mereka lama,
tapi pada dasarnya itu pemetaan 127.0.0.1
untuk beberapa nama host yang berbeda, salah satunya adalah host lokal,
salah satunya adalah alat dan kemudian beberapa lebih;
localhost.localdomain, appliance.localdomain.
Ini hanya konvensi menggunakan hal-hal seperti localhost
sebagai nama host default dan localdomain
sebagai top standar level domain atau TLD.
Jadi perhatikan apa yang saya sudah lakukan di muka sini.
Jika saya ingin mengelabui alat ke dalam pemikiran
Katalog yang memang website nyata di internet,
Saya dapat memberitahu alat yang alamat IP-nya adalah 127.0.0.1.
Sekarang mengapa alamat itu?
Apa IP itu?
Dari mana asalnya?
Yang aku harus meminta untuk itu?
[Rendah Audio] Apa itu?
[Rendah Audio] Ini alamat back loop,
yang berarti ini adalah alamat IP default yang diberikan
untuk sebagian besar komputer manapun di dunia yang mendukung IP,
protokol internet, dan itu adalah alamat loop kembali
dalam arti bahwa itu mencerminkan itu.
Hal ini mengacu pada dirinya sendiri.
Jadi kita semua, jika kita memiliki alat atau bahkan MAC
atau PC memiliki alamat IP lokal dari 127.0.0.1 dan itu hanya digunakan
sehingga Anda dapat berbicara untuk diri sendiri.
Saya bisa dalam teori angka
apa IP alat ini alamat dan ketik 192.168
atau apa pun nomor yang adalah tapi itu tidak perlu.
Yang satu ini akan menjadi invarian dan hanya akan selalu bekerja.
Jadi sekali saya menyimpan itu yang pada akhirnya berarti
bahwa dalam browser saya bisa pergi ke http://Catalog, seperti yang saya akan lakukan di sini,
tapi beberapa hal yang rusak keluar dari gerbang.
Jadi, apa ini biasanya berarti,
ketika saya tidak memiliki izin, dilarang, untuk melakukan sesuatu,
apa insting pertama Anda untuk memecahkan masalah ini?
Aku men-download direktori bernama Katalog
ke saya direktori V host, yang dari minggu lalu Anda akan ingat adalah
di mana semua kita semacam situs lokal akan hidup.
Apa yang mungkin rusak?
Cara untuk memperbaiki?
[Rendah Audio] Izin.
Permissions apa?
Oke file yang berpotensi.
Jadi mari kita kembali ke kami jendela terminal di sini.
Aku di saya direktori tuan V.
Biarkan aku melakukan LS dan pemberitahuan ada beberapa hal.
Host lokal, yang datang dengan alat, kami menaruhnya di sana.
Catalog.original, yang Aku diletakkan di sana sebelumnya,
itu semacam yang selesai versi dari apa yang kita
akan menyelam ke dalam, dan Catalog, yang saya hanya download.
Jika saya ingin melihat pada izin
pada direktori Catalog, Aku bisa melakukan LS-L dan pemberitahuan
bahwa mereka sedikit berbeda dari yang lain.
Apa izin tampaknya direktori Catalog,
yang baru saja kita download, kurang secara default?
Bahkan jika Anda tidak tahu apa kata tersebut Anda bermuka masam dapat menyimpulkan
apa yang berbeda tentang masing-masing tiga baris?
Oke apa yang hilang antara garis satu dan dua baris dari output?
Ya? [Audio Rendah] Ya, jadi hilang X, yang merupakan singkatan
untuk dieksekusi dan apa artinya
jika direktori adalah executable?
Ini hanya berarti Anda bisa membukanya.
Anda dapat CD ke dalamnya.
Anda dapat mengakses file di dalamnya.
Jadi jika file executable, berarti itu seperti sebuah program yang dapat dijalankan.
Direktori adalah executable jika Anda bisa pergi ke dalamnya.
Jadi saya bisa memperbaiki ini dengan beberapa cara.
Aku bisa melakukan chmod A plus X, yang berarti semua ditambah executable
dan kemudian saya dapat mengatakan di katalog.
Atau ingat dari CS50 atau kelas-kelas lain,
Saya bisa menjadi sedikit lebih menarik dan mengatakan 0711 atau lebih sederhana 711
pada Catalog, tekan Enter, sepertinya tidak ada yang terjadi
tapi jika saya lakukan LS-L lagi, melihat bahwa itu dieksekusi
oleh kelompok saya, yang merupakan tengah tiga bit dan oleh semua,
yang merupakan hak tiga bit, dan itu sudah cukup bagi mereka
identik untuk tujuan kita.
Baiklah Saya merasa seperti kita dalam kondisi yang cukup baik.
Mari kita kembali ke Browser dan mari kita kembali,
sialan, masih dilarang.
Jadi apa lagi yang mungkin rusak?
Di mana lagi mungkin kita ingin melihat?
Jadi kita tetap Catalog, sehingga jika saya pergi ke Katalog,
mari kita lakukan LS lain, sekarang ada lebih banyak barang di sini dan terus terang
pada pandangan pertama itu luar biasa
dan saya berani mengatakan ini adalah salah satu sakit kepala kerangka
keluar dari gerbang dan bahwa Anda semacam dari memiliki banyak kesepakatan dengan,
tapi kami akan mengasah dalam pada apa yang penting hari ini
dan yang paling penting untuk saat ini adalah direktori ini.
Jika Anda telah menggunakan alat sebelum Anda mungkin tahu
bahwa publik dapat diakses direktori disebut Public,
atau di masa lalu itu disebut HTML tapi kami telah berubah sejak itu
dengan yang lebih umum Umum.
Jadi jika saya lakukan chmod 711 dari Public
yang tampaknya akan memperbaiki masalah itu.
Jadi sekarang Publik direktori juga dieksekusi
dan karena itu dapat diakses.
Mari kita lihat apakah kita satu langkah lebih dekat.
Mari kita kembali, masih ada baik dan sekarang itu akan
untuk mendapatkan sedikit menantang; yang satu ini sedikit lebih keras.
Jika saya pergi ke Public, recall Tim yang menunjukkan kita yang satu ini.
Jika saya melakukan LS-AL, yang daftar semua file dalam format lama,
ada dot berkas sehingga untuk berbicara
di mana titik file hanya File yang nama file dimulai
dengan dot.
Apa htaccess lakukan?
Nah mari kita lihat dalam hal itu.
Alih-alih menggunakan G Edit, Aku akan menggunakan VIM,
Anda dapat menggunakan Emax atau Nano atau salah satu editor pilihan Anda,
tetapi jika saya melihat di sini ini memiliki banyak hal tingkat rendah
yang datang dengan Laravel ini distribusi.
Ini adalah file yang Web server Apache memahami
dan cerita panjang pendek, ini beberapa baris
konfigurasi trick direktori Public seluruh
ke routing yang hampir semua HTTP permintaan untuk mengambil menebak.
File yang mana?
Semua permintaan HTTP masuk dengan beberapa pengecualian akan diarahkan
ke file apa, jika tidak dikenal sebagai front controller?
>> Index.
>> Garut.
Jadi bahkan jika ada sebuah foo.php file atau file bar.php
dalam direktori Public saya, arti dari garis-garis
secara umum adalah untuk rute semua permintaan
untuk index.php kecuali file-file memang ada karena hal-hal
seperti tembakan-f berarti jika nama file tidak ada,
dan jika langsung tidak ada,
rute semua permintaan untuk index.php.
Jadi dalam sedikit ini akan untuk memungkinkan kita untuk memiliki URL
seperti http://Catalog/courses/123
di mana 123 adalah unik pengidentifikasi untuk kursus
tapi itu jelas bukan nama file sehingga permintaan yang akan
yang akan dialihkan ke index.php siapa yang akan mencari tahu,
berkat Laravel dan Anda, di mana untuk rute
bahwa permintaan HTTP yang masuk.
Tapi ada masalah.
Perhatikan bahwa secara default htaccess tidak terbaca
atau dieksekusi.
Executability tidak penting tapi aku ingin melakukan chmod644
pada dot htaccess atau A plus R. Sekarang pemberitahuan
bahwa jika saya melakukan semua listing, sekarang dibaca.
Sekarang jika saya menyilangkan jari di sini dan isi ulang, wah,
kita memiliki itu dan berjalan.
Langkah begitu bodoh bahwa Anda perlu melalui pada awalnya,
tapi fakta bahwa saya semacam pergi melalui itu
jadi pedantically adalah persis jenis
langkah diagnostik Anda harus berpikir
tentang kapan sesuatu yang salah,
dan bahkan ketika direktori mungkin kacau,
menyadari mungkin ada juga file dot,
khususnya dot htaccess yang cukup umum
dalam distribusi Apache,
yang mungkin membuat sakit kepala seperti itu.
Jadi aku mendapatkan sedikit lelah akan kembali
balik ke alat.
Aku lebih suka bekerja pada MAC saya atau bahkan pada PC saya.
Jadi bagaimana saya bisa melakukan ini sama trik etc / host?
Nah melihat bahwa pertama-tama saya angka
apa alat ini Alamat IP.
Aku bisa melakukan ifcongig, yang menunjukkan saya beberapa output yang cukup samar
tetapi pemberitahuan sebelah eth0 atau lebih tepatnya sebelah eth1,
ada alamat IP ini di sini.
Aku akan pergi ke depan dan salin itu dan di dalam
jendela terminal MAC saya sendiri Aku akan mengedit sudo etc / hosts
pada MAC saya sendiri, yang memberikan saya file tampak mirip.
Semua saya lakukan adalah ini.
Jadi aku akan mengelabui MAC saya
ke dalam pemikiran http://Catalog sebenarnya peta
ke alamat IP tertentu.
Baiklah, jadi mari kita pergi ke depan dan simpan ini, sekarang biarkan aku menutup
jendela terminal dan sekarang MAC saya menggunakan browser yang saya inginkan,
http://Catalog dan saya melihat hal yang sama.
Sekarang aku bahkan tidak perlu repot-repot akan kembali ke [tidak terdengar]
yang Anda mungkin tidak ingin melakukan pula, jadi sekarang aku kembali
di komputer saya sendiri menggunakan benar-benar alat
sebagai hanya server web.
Baiklah, jadi di sini hanya rekap cepat dari beberapa
dari file permissions kita mungkin ingin mengubah
dan saya memotong beberapa sudut di hal-hal seperti favicon atau semua
yang menarik untuk saat ini.
Baiklah, jadi sekarang mari kita mulai
untuk mengkonfigurasi default Instalasi Laravel
untuk database.
Jadi Tim melakukan singkat ini terakhir kali juga dan file
yang dimaksud adalah yang satu ini di sini.
Jadi dalam, biar perubahan ini menjadi konsisten,
Katalog app config database.php.
Jadi mari kita pergi ke app, mari kita pergi ke config
dan mari kita pergi ke database.php.
Jadi ini adalah file yang cukup panjang, yang sebagian besar adalah komentar,
tetapi Anda akan melihat apakah Anda membaca ini erat
Anda dapat mengkonfigurasi Laravel dan banyak kerangka
untuk mendukung berbagai jenis database.
Mungkin Anda menggunakan MySQL, mungkin Anda menggunakan Pos [tidak terdengar],
mungkin Anda menggunakan SQL Lite, ada hal-hal lain
tetapi jika kita menggunakan MySQL