[Powered by Google Translate] [Viikko 8]
[David J Malan] [Harvardin yliopisto]
[Tämä on CS50.] [CS50.TV]
>> Tervetuloa takaisin.
Tämä on CS50, ja tämä on alku 8 viikon.
Pari mahdollisuuksia tällä viikolla,
joukossa tätä puhetta täällä, jossa ruokaa on tarjolla.
Lisätietoja tutustu diat ovat verkossa.
Ja myös toinen tapahtuma tällä viikolla oman Thomas Carriero.
Hän on yksi CS50: n entisen johtajan opetus kaverit, jotka on nyt Dropbox,
ja hän on kaveri, joka koukussa meidät ylös tiedätkö mitä,
joten jos haluat enemmän tuon pään heidän puhua tänä iltapäivänä Dropbox ja enemmän.
CS50 lounas perjantaina.
Onko liittyä meihin jos sinulla on mahdollisuus, 1:15, kuten tavallista, Fire and Ice.
>> Ja nyt me sukeltaa jotain kutsutaan Seminaarit.
Meidän CS50 Seminaarit, Recall, nämä valinnaiset luokat johtama opetuksen kaverit
ja tietysti avustajien ja ystäviä tietenkin
ihmiset ryhmästä kampuksella kutsutaan ABCD, jossa on ryhmä
technophiles kampuksella, sekä yhtyeen HCS,
Harvardin Computer Society, undergraduates jotka ovat kiinnostunut myös tietotekniikka.
Tämänvuotinen roster seminaareja sisältää seminaareja Android ja iOS-ja JavaScript
ja PHP, Unix, Vim, ja enemmän, niin ymmärtää, että nämä seminaarit ovat tulossa.
Jos haluat vastata kutsuun mitään niistä suunnata että URL siellä.
Sitten lähettää kurssin verkkosivuilla ajat ja paikat, kun ne on viimeistelty.
Mutta tiedämme, että n 5 vuoden verran ennen seminaarien saatavilla verkossa,
joista monet ovat edelleen hyvin nykyisessä kannalta teknologioiden saatat
haluavat pelata oman opinnäytetyöt, joten pää siellä joitakin saatavana videoita sen.
>> CSS, ne teistä, jotka tuntevat CSS jo
Mikä on se pähkinänkuoressa?
Mikä on CSS?
Se CSS-tyylisivut ja mitä se tarkoittaa?
Mitä tämä tehdä meille, CSS?
Selvä, mennään lämmetä helpomman yksi, HTML, Hypertext Markup Language.
Mitä tämä tehdä meille?
Jokainen ollenkaan?
On tulossa todella hankala kysyä näitä kysymyksiä.
HTML, Hypertext Markup Language.
Kyllä? Ei?
[Äänetön opiskelija vastausta]
Okei, hyvä, se antaa meille mahdollisuuden merkitä jopa näytettävän tekstin selaimen.
Se ei ole ohjelmointikieli.
Se on todellakin kuvauskieli, eli se ohjaa selaimen miten näyttää
tietoa, joten yksinkertaisinta inkarnaatio tätä olemme nähneet
on jotain erittäin yksinkertaista, kuten boldfacing, alkusulkumerkki b kiinni kiinnike sanoo
tehdä tämän tekstin rohkea, ja se on oikeastaan ​​vain yksi monista tavoista
jossa voimme tehdä sen, ja todellakin, näinä päivinä parempi lähestymistapa
ja stylizing sivuillesi, jolloin asiat rohkea ja kursiivilla
ja keskitetty sekä perusteltuja ja vastaavat, ei ole tehty kautta HTML tageja yksin
vaan pikemminkin tekniikkaa kutsutaan CSS, CSS-tyylisivut.
Tämä on kieli outo.
Sekin ole ohjelmointikieli, mutta-
kaikki, tämä on Dan, joka pitää yhdistää meidät tänään.
Joitakin teknisiä ongelmia. Ei ongelma.
>> CSS mahdollistaa tyylitellä sivulle
asettamalla mitä kutsutaan kiinteistöä, joten katsotaanpa katsomaan tätä
Poiketen joitakin perusasioita esimerkkejä.
Sallikaa minun mennä laitteen tänään.
Olen lähteen 8 maanantai hakemiston täällä,
ja aion mennä hakemistoon CSS jossa meillä on koko joukko
Tiedostojen odottavat meitä täällä,
ja tämän kansion meillä on, esimerkiksi, search0.html viime kerralla.
Nyt Muistelen search0 jätimme tämän huomautuksen
jonkinlaisessa täytäntöön Googlen tai oikeastaan ​​vain etuosa sen viikko sitten,
ja huomaa, että meillä oli joitakin uusia tunnisteita siellä.
Meillä oli H1 iso, rohkea otsikko,
muoto, joka antoi meille mahdollisuuden todella on HTML muodossa käyttäjän syötettä.
Toiminta, mikä oli tarkoitettu toiminnan ominaisuuden
HTML-lomakkeen tunniste?
Mikä oli merkitystä tämän toiminnan?
Otan vain tehdä tämän tänään.
Toimenpide on kohde, jossa lomake tulee toimittaa.
Se, että sanotaan action = "google.com / search"
tarkoittaa, että kun käyttäjä napsauttaa Lähetä-painiketta tai vastaava
tahansa muodossa kentät he täytetty aiotaan ei ole lähetetty palvelimelle
tai meidän laite vaan kyseisen URL Google.
Ja menetelmä se tulee käyttämään kutsutaan päästä,
ja saada, nyt on vain tekniikka välittämästä tietoa pitkin web-palvelin
Poiketen URL, joten sallikaa vilkaista taaksepäin miten tämä toimii.
>> Huomaa, että siellä on tulo, jonka nimi on q
, jonka tyyppi on tekstin ja sitten toiseen tuloon tyyppiä esittämään
joiden arvo on CS50 haku, ja todellakin, jos me avata tämän tiedoston tänne,
search0.html, se on erittäin yksinkertainen muoto,
ja jos etsin jotain tietojenkäsittelytiede
ja paina Enteriä tai klikkaa CS50 Haku
huomaa, että mitä tapahtuu on kuin päästä Google
Olen nimenomaan päätyi tämän URL huipulla,
google.com / search? q = tietokone + tieteen,
ja tietojenkäsittelytiede on tietenkin mitä olen kirjoittanut tuumaa
+ Vain sitä, että siellä välilyönti oli
ja se tehdään selaimen vain varmistaa, että ei ole
sekavuus ja valkoista tilaa varsinaisen URL.
Ja sitten q, tietenkin, on parametrin nimen.
Emme ole nähneet, kuinka me, ohjelmoija, voi tosiasiallisesti käyttää q vielä.
Voimme olettaa, että Google tietää, mitä tehdä täällä,
mutta me sinne ajoissa tänään.
>> Mutta haluan katsoa sen sijaan on search1.html,
joka näyttää hieman erilainen, koska olen päättänyt, että tämä lomake täällä oli vain hieman ontuva.
Tarkoitan, se on ylhäällä vasemmalla.
Ei todellakaan ole estetiikkaa sitä, ja niin haluan tyylitellä tähän
hieman kuten Google, jonka kotisivu, Recall,
vaikka et ehkä käydä sitä usein, näyttää tältä tänään Halloween.
Jos sen sijaan avata versio 1 Tämän tiedoston haku 1.html, olen keskellä sitä.
Silti melko ruma, mutta ainakin nyt olen alkanut hallita estetiikkaa tämän sivun,
ei vain merkkauksen sen.
Katsotaanpa katsomaan haku 1, ja siellä on oikeastaan ​​vain yksi ero tässä
jotka saattavat hypätä ulos sinua, tai ehkä ei,
mutta mitä yhden rivin tai pätkä ero?
>> On tämä tyyliattribuutti, joten näyttää siltä, ​​että HTML
useimmat elementit, useimmat tunnisteet voivat olla tyyliattribuutti niitä,
ja sisällä että tyyliattribuutin on noteerattu merkkijono,
ja että lainasi merkkijono on CSS.
Voit laittaa CSS tyylisivu siellä
määrittämällä sen ominaisuuden nimi
seuraa kaksoispiste, jota seuraa arvo.
Tämä on tavallaan valitettavaa suunnittelu päätöksen joitakin vuosia sitten
että CSS on kieli outo,
mutta syntaktisesti se on hyvin erilainen kuin HTML.
Tässä tapauksessa näemme, että sisällä minun verkkosivun, joka on kirjoitettu HTML,
Olen CSS sisällä näitä lainauksia, ja yleissopimus CSS
on, että sinulla on ns kiinteistön seurasi jälleen, kaksoispiste,
jälkeen kyseisen kiinteän omaisuuden arvosta, joten ei ole yhtäläisyysmerkkiä.
Ei ole ylimääräisiä lainausmerkkejä.
Se on vain tämä kaksoispiste erottaa avaimen arvo-pari,
ja tekstirivi tekee mitä se sanoo.
Se tasaa tekstin runko sivun, joka on todella rohkeutta sivun
keskustassa.
>> Okei, lopputulos sitten on selvä, on tämä.
Ei kaikki seksikkäämpää, mutta ainakin se on keskellä ja hieman enemmän kuin todellisia Google.
Mutta mitä jos minä sen sijaan avata versio 2 tästä
ja huomauttaa tänne uusi tagi kokonaan?
Nyt pää sivuni, joka aikaisemmin oli vain joka tag
kaikki ennen esimerkkejä?
Se vain oli tämä, otsikko.
Hetki sitten pään tag näytti tältä.
Nyt sen sijaan se on tyyli tag sisällä se,
ja tämäkin, pyydän anteeksi, syntaktisesti näyttää hyvin erilainen kuin HTML,
mutta siihen tottuu, jolloin sisällä tyyli tag
Voin nyt tekijä, mikä oli hetki sitten
määrite, tyyliattribuutti, ja voin laittaa sen hyvin alkuun sivuni.
>> Miksi?
No, tämä on askel kohti puhdistus asioita, aivan kuten kirjallisesti C-koodia
olisimme joskus kirjoittaa toimintoja tekijä yhteiset toiminnot.
Se on vain hieman puhtaampi aloittaa factoring pois asioita, kuten estetiikka
yhteen keskitettyyn paikkaan mieluummin kuin ottaa se kaikki lomittaa koko HTML.
Sekin tekee mitä se sanoo, vaikka siellä vähän uuden syntaksin.
Tämä tässä on valitsin, ja ruumis vain tarkoittaa valitse runkoelementti
ja soveltaa seuraavat ominaisuudet siihen.
Hyvin, omaisuus on täsmälleen sama.
Hyvä toimenpide Olen lisännyt puolipiste lopussa,
joka yleensä yleissopimukseen, ja olen kääritään koko tämän omaisuuden
vuonna aaltosulkeita koska voisin oikeastaan ​​olla eri asioita täällä.
Voisin oikeastaan ​​sanoa jotain väriä: sininen;
>> Nyt tämäkin ei tule olemaan askel kohti jotain kaikki kauniimpi,
mutta jos nyt palata versio 2 olen ainakin nyt tehnyt elin minun
sivun tekstin kaikki siniset.
Painike pysyy samana, koska se tulo. Se ei ole puhdasta tekstiä.
Mutta kaikkea muuta tekstiä, kuten CS50 Search ylös, on itse asiassa sininen.
Jälleen kaikki olemme tehneet nyt poistaa body, ilmoitus,
tyyliattribuutti, ja olemme laskelmiin sitä täällä.
Tämä ei ole valtava parannus, mutta jos otamme tämän askeleen pidemmälle
huomaa mitä voimme tehdä tässä kolmannessa versiossa täällä.
>> Vuonna search3.html verkkosivu on lähes identtinen
paitsi mitä uusia tag nyt?
Link, joten tämä ei ole kovin osuvasti nimetty
koska et yhdistää merkityksessä klikattava hyperlinkin.
Pikemminkin, olet tavallaan tekee vastaavan # include C
jolloin yhteys tunnisteen href attribuuttia
ja rel attribuutti sanoo mennä eteenpäin
ja kopioi liitä tiedoston sisällön nimeltä search3.css täällä lähinnä.
Se ei aivan tee sitä, mutta se on sen hengen.
Siinä sanotaan aukasta tiedoston, search3.css,
ja käsitellä sitä ikään kuin käyttäjä olisi kirjoittanut sen täällä pään sivun
aivan kuten tein edellisessä esimerkissä.
Search3.css puolestaan ​​on melko yksinkertainen.
Se oikeastaan ​​vain sisältää mitä oli hetki sitten
tyyliin tag, mutta olen laskelmiin sitä täällä oman tiedoston.
>> Vaikka emme ole viettänyt paljon aikaa lainkaan HTML tai web ohjelmointi
vain intuitiivisesti mitä motivaatio, ehkä, sillä factoring ulos
Tässä pieni pätkä jopa CSS omaksi tiedostoon
ja sitten lukien se linkki tag täällä?
[Äänetön opiskelija vastausta]
Okei, se on helpompi lukea siinä mielessä, että sinulla on CSS CSS-tiedosto.
Sinulla on HTML HTML-tiedostoon, joten se on enemmän luettavissa mielessä.
Mitä muuta voisi olla vakuuttava? Joo.
[Äänetön opiskelija vastausta]
Joo, niin voit sisällyttää sen monta kertaa, joten nyt teemme nämä
perus esimerkkejä yksittäisiä tiedostoja, mutta kai olet todella tehdä
todellinen verkkosivuilla kuten Saat PSET 7 tai opinnäytetyön kenties,
ja haluat olla useita verkkosivuja, koska on varmasti tavallisia
varsinainen World Wide Web, ja se olisi eräänlainen ontuva
täytyy kopioida ja liittää sama sininen väri
ja sama teksti linjassa keskus jokainen näistä sivuista.
Pikemminkin se järkevämpää tekijä ulos, aivan kuten olemme tehneet C
kanssa. h tiedoston, laita se yksi keskeinen paikka,
tässä tapauksessa search3.css, ja sitten sallia minkä tahansa tiedoston
sivustoosi todella ovat, että tiedosto tapa tämän tag täällä line 16.
Koska on tyypillisesti asia, aloitimme versio 0, millaisia ​​teoksia
mutta ei ole välttämättä paras, ja kunkin vaiheen,
haku 1, haku 2, ja nyt haku 3 olemme ottaneet nämä askelin
kohti malleja, jotka ovat hieman puhtaampia ja ovat valmistelevia
monimutkaisempien sivujen voisimme tehdä tiellä.
>> Saanen avata viimeisen Esimerkiksi täällä vain näyttää
vieläkin tyylitelty sivun, mutta ensin katsokaamme HTML.
Tämä on search4.html, ja huomaat, että rakenteellisesti se on melkein sama
paitsi uuden tunnisteen, Div.
Div on tagi, joka esittelee jako sivun.
Voit ajatella tätä näkymätön suorakulmion.
Se tavallaan luo väylä alueen verkkosivun
että voit tyylitellä kaikki kerralla.
Mitä olen tehnyt täällä on seuraavanlainen.
Sisällä ruumiini tag, joka on ollut siellä koko ajan,
Sanon luoda jako sivun täällä linjojen 45 kautta 47,
ja tämä tarkoittaa lähinnä antaa minulle näkymätön suorakulmion yläreunassa sivun.
Sitten anna minulle toinen suorakulmio, joskin näkymätön, alle,
ja tunnistaa sen nimen sisällön, ja sitten lopuksi,
anna minulle kolmasosa jako sivun alareunassa
kutsutaan tunnus.
Näemme, miksi olen tehnyt tämän vain hetken,
mutta käsitteellisesti minulla otsikon jako.
Minulla sisällön jako, ja minulla on alatunnisteeseen jako sivun
vaikka nämä ovat vain markup.
Käyttäjä ei tule näkemään 3 suorakulmioita,
mutta tavallaan rakenteellisesti siellä kulissien takana
he todella läsnä.
>> Nyt, who cares? Miksi oikeastaan ​​tehdä tämän?
Kaikki muu sivulla on sama kuin olemme nähneet aiemmin.
Tässä on minun muodossa. Tässä on minun input, minun panos, rivinvaihdon ja niin edelleen.
Tässä kuva, vaikka niin näemme, missä tämä tuli vain hetken.
Tässä footer, joka on uusi, vain koska halusin esitellä
jotkut enemmän sisältöä tänne.
Jos me selaamalla ylös huomata, että ID Tämän div on otsikon.
ID Tämän div on sisältöä, ja ID tämä on alatunnistetta.
Ja kuten nimestä voi päätellä, kun sinulla on tunnus-määritteen
HTML määritelmän on yksilöitävä
yksi osa, yksi tunnisteet sivusi.
Taakka on täysin teitä muistamaan, että sinulla on otsikko tunnus jo.
Sinulla alatunnisteen. Sinulla sisällön tunnus jo.
Tietokone ei aio selvittää, mitä tarjolla tunnus on sinua varten,
niin voisitte vahingossa antaa 2 tageja ID otsikon,
ja se olisi vain väärin.
>> Sinun pitää mielessä, mitä olet luonut,
mutta kun olet tehnyt, että huomaa, mitä me voimme tehdä.
Voin nyt määritellä minun tyyli tag yläreunassa
tai yhtäpitävästi minun CSS-tiedoston, jos olin vielä käytössä tämä versio,
Voin sanoa # header, ja mitä se tarkoittaa, että mitä tahansa tag
Tämän verkkosivun on tunnus otsikon
ja #, vain ihmisen yleissopimuksessa edustaa tunnus.
Terävä merkki tai punnan merkki edustaa tunnus.
Header on nimi, jonka annoin sen.
Tämä tarkoittaa soveltaa tätä CSS omaisuus
mihin tahansa tag tällä sivulla on tunnus otsikon.
Sama käsitellä täällä.
Soveltaa tämän ominaisuuden, joka sattuu olemaan sama, mikä tahansa elementti
jonka tunnus on sisältö, ja sitten tänne
huomaa Sain hieman harrastaja kanssa alatunniste.
Jokainen elementti, jonka tunnus on footer, josta voi olla vain yksi määritelmä,
mennä eteenpäin ja tehdä sen fontin kokoa pienempi,
sen fontti paino rohkea, sen marginaali 20 pikseliä.
>> Mitä se tarkoittaa?
Se on vain marginaali ylhäällä, alhaalla, ja vasemmalle ja oikealle.
Tämä tarkoittaa antaa minulle 20-pikselin näkymätön marginaali sen ympärille
vain työntää kaiken muun pois vähän, että saatat tehdä Wordissa,
Microsoft Word tai sivut tms..
Ja sitten teksti Tasaa keskelle.
Katsotaanpa lopputuloksen, ja sitten menemme takaisin ylös yksi jäljellä pätkä CSS siellä.
Tämä on versio 4, viimeinen etsinnän esimerkkejä, ja se on paljon, paljon seksikkäämpi.
Nyt, oikeudenmukaisuus, juuri googled "google font logo generaattori."
Ja se saa minut luoda GIF, kuvan muodossa, joka näyttää, että.
Itse voit tehdä tämän myös.
Meillä on "google fontteja logo generaattori."
>> Katsotaan jos voimme tehdä tämän.
Okei, mielestäni tämä on sivusto käytin.
Voimme sanoa Ec 10, esimerkiksi, ja tehdä niistä omia.
Voit pelata tätä koko päivän ja sitten oikealla klikkaa sitä
ja sitten lataa varsinaisen GIF, mikä on kaikki mitä tein.
Ja todellakin, siksi minun HTML, muistuttaa, tänne
Minulla oli kuva tag, jonka näimme lyhyesti viime viikolla
, jonka lähde on logo.gif.
Ja mikä vielä oli motivaatiota ottaa tämä alt attribuuttia,
tämä vaihtoehto määrite?
Joo.
[Äänetön opiskelija vastausta]
Hyvä, niin 2 syytä todella, jos selain ei voi vetää kuvan
koska olet hidas verkkoyhteys tai kuva on vioittunut
tai jotain, että ainakin ihmisen näkee "CS50 haku"
ja sitten myös esteettömyyden syistä.
Jos sinulla on käyttäjä, joka on sokea ja käyttää näytönlukijaa
ja siksi ilmeisesti näe kuvia he voivat ainakin
kuulla tekstiä jos heidän tietokoneensa puhuu sen heille.
>> Yleensä tämä on paras käytäntö, kun kyse on esteettömyyden sivujen
niin että vaikka käyttäjät tilanteessa voi kuulla tai nähdä, niin sanotusti,
Mikä se on, joka on sivulla.
On yksi asia, että tein täällä
joka on hieman mielenkiintoinen, ja näemme lisää tästä ongelmasta asettaa 7
kautta yksi shortsit johti yhden opetuksen kaverit.
Mutta # sisältö viittaa tag
jonka tunnus on sisältöä, mutta sitten on välilyönti, ja sitten on sana tulo.
No, mitä kiinnostavaa CSS on, että voit
viittaavat tunnisteet sivun eräänlainen hierarkkisesti,
ja mitä tämä pätkä CSS keinoja on löytää tag
jonka tunnus on sisältö, ja sitten soveltaa seuraavia ominaisuuksia
kaikkien tulo-tunnisteita, jotka ovat jälkeläisiä sisältö,
se on, että on sisennetty sen sisälle.
Sisennys taas on tärkeää vain tietokoneessa, ei ihmisen,
vaan yleissopimukseen me luetelmakohdassa muassa mennään syvemmälle sivulle,
joten tämä tarkoittaa sovelletaan marginaali 5 pikseliä tahansa syöttöosassa
että on jossain sisällä tai sisäkkäin sisällä
elementti, jonka tunnus on sisältöä.
>> Ketä se koskee?
No, on oikeastaan ​​vain nämä 2 kaverit täällä.
Huomaa, että sisällä lomakkeen siellä 2 tuloa,
koska siellä on ollut kaikkien näissä esimerkeissä.
Mutta huomaa, että nämä 2 tuloa sattuvat olemaan sisäkkäin,
vaikkakin hieman syvästi, pari kerrosta sisennys,
sisällä tunnisteen, jonka tunnus on sisältöä.
Mitä tämä tarkoittaa?
Jos menemme selaimen täällä voi nähdä yhä niin vähän,
haluan zoomata-että hieman pehmuste välissä painiketta
välillä tekstikenttään.
>> Saanen poistaa väliaikaisesti irti.
Anna minun mennä jopa minun CSS, ja anna minun mennä eteenpäin ja juuri
muuttaa marginaali 5 pikseliä 0 pikseliä.
Anna minun mennä eteenpäin sitten ja tallenna tiedosto, palaa hakukone
ja lataa, ja katsella sivun keskelle.
Kaikkea todella puristetaan yhteen, ja kun ensimmäinen lyöty tämän esimerkin ylös
Ajattelin, että katsoin tyhmä kanssa tekstikenttään ja sitten painiketta heti sen alapuolella.
Halusin pad sitä vähän, joten otin käyttöön marginaalit.
Mitä emme tehdä luennon läpi useita kymmeniä
CSS-ominaisuuksia olemassa siksi, taas on asioita, kuten fonttikokoa,
font paino, marginaali, tekstiä tasata, ja muutamia kymmeniä muita,
ja me viitata sinulle ongelma asettaa 7 eri tutorials verkossa
ja viitteet, joiden avulla voit poimia näitä asioita.
Mutta mikä on todella tärkeää lopussa päivän
>> on ymmärtää miten nämä asiat sovelletaan.
Jälleen, jos meillä on tyyli tag sisällä, jotka
voi mennä valitsimet, eräänlainen tunnisteita, jotka määrittävät
jolle haluat hakea näitä ominaisuuksia,
ja sitten laitat ominaisuudet avaimen arvo pari
erottaa kaksoispiste ja sitten päättyi puolipisteellä,
tai voit repiä kaiken tämän pois ja laita se erilliseen CSS-tiedosto
itseensä.
Selvä, kysyttävää käsitteitä
tai iso kuva CSS?
Tulet taas nähdä enemmän sitä PSET 7,
mutta me pitää se yleensä melko yksinkertainen.
Ei? Selvä.
On aika todellinen ohjelmointikieli,
ja tulemme takaisin hieman CSS muodossa esimerkin.
PHP on todella ihanan ymmärrettävällä kielellä
että se on rakenteeltaan lähes vastaava C.
Toisin sanoen, jos tiedät C, tiedät että suurin osa PHP-
ainakin syntaktisesti, vaikka joitakin uusia ominaisuuksia
ja joitakin uusia käsitteitä meidän täytyy katsoa.
>> Mutta suurin osa nyt, että me siirtyminen C PHP
useimmat uutta tavaraa on todella iso kuva,
miten käytät kieltä ohjelman Web verrattuna
komentoriviltä tai vilkkuu nopeasti kuin olemme tehneet tähän mennessä.
Vertailukohtana, erityisesti PSET 7 ja opinnäytetyön eteenpäin,
älä hyödyntää tätä URL, jos haluat lukea siitä muodollisuudet PHP.
Se on oikeastaan ​​kuin ilmainen online oppikirja tehokkaasti,
ja löydät myös, että mitä todella mukavaa noin PHP
on, että on olemassa satoja toimintoja, jotka tulevat sen kanssa,
taas C sinulla ei välttämättä saada
enemmän toimintoja kuin oli matematiikka kirjasto, CS50 kirjastoon.
PHP ja paljon nykykielten, Python ja Ruby joukossa,
saat pääsyn niin paljon enemmän toimintoja, mikä tarkoittaa, että saat kirjoittaa
paljon vähemmän koodia, koska et voi seisoa olkapäät muiden ihmisten
jotka ovat jo kirjoittaneet tiettyjä asioita sinulle.
>> Otetaanpa nopea kierros syntaksia PHP ja sitten kirjoittaa muutamia esimerkkejä.
Mitä kivaa PHP ensisijaisesti
ei ole mitään päätehtävä.
Jos haluat kirjoittaa ohjelman PHP juuri alkaa kirjoittaa koodia,
ja sinun ei tarvitse murehtia main.
Ei ole int. Ei ole paluuta.
Ei ole argv, argc että tarvitaan kun kirjoitat ohjelman.
Pikemminkin voit vain aloittaa kirjoittaa koodia, ja tämä on osittain
koska PHP on mitä kutsutaan tulkita kieltä.
C koottiin, ja se on laadittu siinä mielessä, että aloitat
lähdekoodia, ajaa se läpi clang, joka on kääntäjä,
ja lopulta muutaman useita vaiheita saat konekielisessä 0s ja 1s.
PHP ja Python ja Ruby ja Pearl ja muut
ovat erilaisia ​​kieliä että et kääntää niitä.
Et siirtyä lähdekoodin 0s ja 1s.
Sinä vain ajaa lähdekoodia, ja juokset lähdekoodin
kirjoittamalla tavallista tekstitiedosto, päättyy. php tässä tapauksessa
sijasta. C, ja mitä ohjelma tekee tietokoneen
on se kirjaimellisesti tulkitsee koodin rivi rivi.
>> Toisin sanoen, sen sijaan kirjoittaa ohjelma ja ajaa ohjelman
suoraan sinulle sen sijaan kirjoittaa ohjelman tiedoston päättyy. php.
Sitten käynnistät varsinaisen ohjelman nimeltä php.exe, jos olet Windows,
tai vain PHP jos olet Mac OS tai Linux,
ja annat tulona PHP ohjelmaan oman lähdekoodia,
ja sen tarkoitus elämässä on lukea koodi ylhäältä alas, vasemmalta oikealle,
ja tehdä mitä olet kertonut sen tehdä.
>> Katsotaan, mitä tämä tulee tarkoittamaan syntaktisesti.
PHP olemme olosuhteissa.
Tämä dia on sama mitä näit takaisin viikolla 1
koska syntaktisesti olosuhteet, IFS ja muu jossittelua ja muualla PHP
näyttää täsmälleen samalta kuin tämä.
Kun se tulee boolean ilmaisut he aikovat näyttää juuri tältä.
Kun se tulee anding asioita yhdessä booleans se tulee näyttämään täsmälleen samalta kuin tämä.
Kytkimet näyttävät samalta, ja saat lisäetuna PHP
että kytkimet C voi vain kytkeä päälle char tai int.
Voisit ei kytkeydy päälle merkkijonoarvo.
PHP voit itse olla lauseke
että on muuttuja, jonka sisältö on merkkijono,
ja voit itse tehdä merkkijono vertailu todellisessa intuitiivisella tavalla
ei osoitin vertailua, jotta päättää tehdä asian i tai j tai jotain muuta.
Näemme, että mahdollisesti ennen pitkää.
>> Silmukat liian ihanan ovat samat.
Silmukoiden on alustus, ehto, ja jotkut useita päivityksiä.
Vaikka silmukat esiintyy myös PHP.
Tee samalla silmukoita myös olemassa PHP,
ja taulukot olemassa PHP, mutta tässä tarina syntaksin alkaa saada hieman erilainen,
mutta käsitteet ovat samat, ja käsitteet ovat todella samat
koska ne olivat viikon 0 Scratch.
Ensinnäkin on $ merkki.
Tämä oli malli päätös PHP jolloin tahansa muuttujan
PHP suunnittelun alkaa $ merkillä.
Ei enää X, Y, Z. Se on nyt $ X, $ Y $ Z vain siksi.
Se on jotain pitää mielessä, ja nyt oikealla puolella
Tämä näyttää samanlaiselta array,
mutta käytämme hakasulkeiden täällä.
PHP ja JavaScript, sillä me lopulta nähdä,
julistaa array teet avoin hakasulje ja suljettu hakasulje,
ja sitten on pilkulla erotettu lista arvoista, onko ints
tai merkkijonoja tai merkkiä, mitä haluat, sisällä että ilmaisun siellä.
>> Nyt, miten voimme tehdä jotain C?
Mikä oli syntaksi staattisesti julistamisesta joukko tunnettuja numeroita?
Se oli aaltosulkeita, joten pieni ero täällä, mutta molemmissa PHP
ja lopulta JavaScript se vain käyttää hakasulkeissa joten todella
ainoa mielenkiintoinen yksityiskohta tässä on $ merkki muuttujan nimen
ja myös hakasulkeita, ja siellä on yksi omituista
joka on jätetty myös vasemmalla puolella = merkki.
Mitä puuttuu että olemme vaaditaan viikkoja nyt? Joo.
[Äänetön opiskelija vastausta]
Koko, joten ei ole mitään mainintaa taulukon koko.
Suoraan sanottuna, ei ole mitään mainintaa hakasulkeissa vasemmalla puolella
ja = merkin, ja mitä muuta puuttuu linja?
Joo. >> [Äänetön opiskelijan vastausta]
Tyyppi, niin mitä mielenkiintoista varsinkin noin PHP
on se, että se ei ole voimakkaasti kirjoitettu kieli kuten C on
ja joka on vahvasti kirjoitettu siinä mielessä, että sinun täytyy sanoa char,
sinun täytyy sanoa int, sinun täytyy sanoa kellua.
>> Aina kun haluat muuttujan sinun täytyy kertoa clang mikä sen tyyppi on.
PHP on hieman lazier.
Se väljästi kirjoitettu siinä mielessä, että
voit olla kellukkeet ja merkkiä ja jouset
ja ints ja niin edelleen, mutta kieli itse
ei oikeastaan ​​välitä mitä laitat sisällä muuttuja.
Sinun ei tarvitse ilmoittaa sille etukäteen mitä tietotyyppiä
on menossa muuttuja.
Se on täysin sinun, joten tämä on mukavaa
että sinun ei tarvitse huolehtia niin paljon tietoja kirjoittamalla
ja huolestuttavaa mitä argumentit ovat ja niin edelleen.
Tämä tarkoittaa myös sitä lopulta toimii PHP ovat menossa pystyä palaamaan
joko int suurimman osan ajasta, ja ehkä kerran kun
He palaavat bool, boolean false, esimerkiksi merkiksi siitä, että jotain meni pieleen.
Tämä antaa meille puolensa, mutta se myös tekee meidät tavallaan suunnittelun
vähän lazier, kun se tulee tietojen kirjoittamista.
>> Mitä muuta pitää mielessä täällä?
Muuttujat näyttävät aivan kuin tämä, joten $ s = "Hello, world."
Se on ehkä pääteltävissä edellisen esimerkin,
ja meillä on toinen tyyppi silmukan.
Tämä yksi me itse nähdä silloin tällöin, koska se on varsin kätevä,
foreach rakentaa.
Tällöin foreach silmukka ottaa sisälle sen sulkujen 3 sanaa tyypillisesti,
$ Jotain ensin, mikä on mitä array haluat toistaa yli jäsenille,
sitten kirjaimellisesti avainsanan, ja sitten lopuksi,
toisen muuttujan nimi, että saat valita.
Se voi olla foo, bar, tai elementti,
ja mitä tämä konstruktio ei
on jos $ array sisältää 10 elementtiä
joka iteraatio tämän array-Anteeksi, jokaisella iteraatio tämän silmukan
muuttujan nimeltään elementti tulee olemaan päivitetty
olla ensimmäinen alkio, sitten toinen alkio,
Sitten kolmas alkiota, jolloin vältetään tarve
tehdä hieman harmittaa hakasulje notaatio ja
$ I jotta indeksinä taulukkoon.
PHP tekee kaiken tuon työn puolestasi ja joka iterointia
vain ojentaa sinulle seuraavan alkion array
eikä sinun tarvitse tietää tai välitä sen numeerinen indeksi sijainnin.
>> Ja sitten lopuksi, nyt, on olemassa yksi muu ominaisuus PHP
että tulee olemaan erittäin hyödyllistä, varsinkin kun alamme ohjelmointi Web-
ja joka on tunnettu assosiatiivisia array.
Matriiseja että tiedämme toistaiseksi kuin 20 sekuntia sitten
ja viimeiset 8 viikkoa on numeerisesti indeksoitu ryhmät,
eräänlainen perinteisen paneelit, joissa indeksit ovat ints,
0, 1, 2, koko matkan ylös.
Assosiatiiviset taulukot ovat paljon tehokkaampia.
Niiden avulla voit olla mielivaltainen avaimet,
mielivaltainen indeksit ja mielivaltaisia ​​arvoja.
Ottaa huomioon, että perinteisessä array se on 0, 1, 2,
vuonna assosiatiivinen array voi olla indeksi
tai avaimen foo, jonka arvo on bar.
Voit sitten toinen keskeinen jonka nimi on Baz ja joiden arvo on qux.
>> Jälleen tyhmä tietojenkäsittelyoppi geneeristen muuttujan nimiä täällä,
mutta kohta on, että tämä ryhmä ei ole kannattimen 0 tai kannatin 1.
Se sen sijaan olemaan kiinnike foo ja kiinnike Baz.
Tämä on paljon monipuolisempi, että aiomme pystyä liittämään
sanat sanoen avaimia arvoihin täysin mielivaltaisesti,
ja aiomme pystyä saamaan nämä arvot takaisin vakioaikavälein
koska alla huppu mitä assosiatiivisia array
todella on hash taulukon.
Muistuttaa, että hash table voit laittaa joitakin tulon
kuten laittaa sana David jos haluat lisätä David jonkinlainen sanakirja,
ja sitten saat takaisin jotain arvoa tyypillisesti.
Kun kyseessä on aapinen, tosi tai epätosi.
David tai mikä sana on tai ei ole sanakirjassa.
Assosiatiivisia array on oikeastaan ​​vain hash-taulukko,
mutta se on paljon käyttäjäystävällisempiä inkarnaatio sitä.
Kuten näemme, se tulee antaa meille mahdollisuuden tehdä joitakin asioita
hyvin, hyvin helposti.
>> Otetaan katsomaan joitakin perustiedot PHP
esimerkkejä ja mitä voimme tehdä tällä kielellä.
Anna minun mennä eteenpäin ja avata meidän lähdehakemistoon tänään
tiedosto nimeltä hello1.php.
Tämä tiedosto on enemmän kommentti kuin se on todellista koodia
joten haluan todella poistaa kaikki kommentit tiedosto
ja esitellä teille ehkä yksinkertaisin PHP-ohjelma täällä.
5 linjat, ja jotkut niistä ovat valkoinen tila,
niin huomaat joitakin keskeisiä eroja täällä.
Tiedosto on nimeltään hello1.php.
Aivan ensimmäinen rivi, vaikka on <? Php.
Samanlaisia ​​hengessä HTML,
että jono merkkejä kertoo tietokoneen
"Hei, tietokone, tässä tulee ohjelma olemme PHP."
Se varmistaa se ole sekaisin, että se on jokin muu kieli.
Linja 2 on mielenkiintoinen valkoista tilaa.
Rivi 3 on vanha tuttu printf,
tällä kertaa yhteydessä PHP.
PHP on oma versio printf joka käyttäytyy täsmälleen sama,
niin tämä on juuri menossa painoon "Hello, world."
Ja sitten tämä päinvastainen tag täällä?> Tarkoittaa, että on se minun PHP-koodin.
>> Katsotaanpa miten ajaa tätä.
Aion mennä takaisin minun pääteikkuna täällä.
Aion mennä minun PHP hakemistoon.
Huomaa, että meillä on koko joukko tiedostoja, joista ensimmäinen on hello.php.
Anna minun mennä eteenpäin ja suorittaa tämän, hello1.php, kirjoita.
Lupa evätään. Okei.
Miten olemme kiinteä asioita, kuten tämä aikaisemmin?
Mikä tuo on? >> [Äänetön opiskelijan vastausta]
Tarvitsemme lukea ja kirjoittaa, mutta anna minun tehdä ls-l.
Muista tämä hieman arvoituksellinen ulostulo jolloin hello1
näyttää olevan luettavissa ja kirjoitettavissa minua
mutta luettavissa kaikki muu.
Paljastui, että tämä oikeastaan ​​ole askel oikeaan suuntaan.
Erotus, jälleen, tulkittu kieli
ei et suorita ohjelmaa suoraan.
Sinä sen sijaan ajaa tulkin ja ojennan sen koodin
että olet kirjoittanut niin se voi tulkita sen rivi riviltä.
Tällöin tulkki tai ohjelman olen itse haluat käyttää
on kirjaimellisesti nimeltään PHP.
>> Jossain tällä kiintolevylle laite on ohjelma
joku muu kirjoitti nimeltään PHP tai Windows php.exe.
Mitä aion tehdä tässä aion todella ajaa PHP
mutta antaa sen komentorivillä koodin kirjoitin,
ja sitten minä loitontaa ja paina enter.
Se toimii minun ohjelma minulle, ylhäältä alas, vasemmalta oikealle.
Anna minun mennä eteenpäin ja avata hieman varianssi tästä.
Vuonna hello2.php ilmoituksessa, että tämänkin
on enimmäkseen kommentit, joten haluan päästä eroon näistä kuin häiriötekijä,
ja mikä on selvästi erilainen nyt tästä tiedostosta?
On tämän uuden, hieman arvoituksellisia yläreunassa.
Rivillä 1 on #! / Bin / php.
Bin on yleissopimuksen Linux ja Mac OS binäärit,
niin / bin tarkoittaa tämä kansio sisältää kasan binäärejä
, joka on ohjelmoitu, joista yksi on PHP.
#! on lempinimeltään roska,
joka on nopea tapa sanoa se, ja mitä tämä tarkoittaa
on, että kun ohjelma suoritetaan nyt siellä vihje yläosassa tiedoston
joka kertoo tietokoneen mitä tulkki käyttää.
>> Se saa hieman harmittaa, jos olisit kertoa käyttäjille ja asiakkaille
"Hei, me kirjoitti tämän ohjelman nimeltä hello1.php."
Kaikki mitä sinun tarvitsee tehdä, on ikuisesti ajaa PHP ja sitten nimi ohjelman.
Suoraan sanottuna, se olisi vain mukavampi ajaa hello1.php,
ja todellakin, me voimme jos teemme seuraavasti.
Anna minun mennä eteenpäin ja tehdä ls-l, ja ilmoituksen hello2 se on silti vain lukea kirjoittaa
ja sitten lukea lukea, joten en voi vielä tehdä tätä, hello2.php.
Mutta me esitteli tämän hurjan nopeasti viimeisen kerran, chmod komento.
Jos en chmod + x, mikä tarkoittaa kaikkia plus toteutettavuutta,
ja sitten hello2.php ja tee ls-l taas huomaa mikä muuttui.
Yksi, Linux näyttää minulle tiedostonimen vihreä välittää ajatusta
että se on suoritettavissa, mutta vielä tärkeämpää, vasemmalla puolella
huomaa että bitti edustaa x suoritettavia on nyt asetettu.
Mitä tämä nyt tarkoittaa sitä voin ajaa ./hello2.php kuten tavallista,
Enter, ja koska shebang aivan tiedoston alkuun
se vihje, jälleen, Linux, joka sanoo
Käytä tätä tulkin suorittaa tämän tiedoston.
Älä ole huolissasi pakottaa käyttäjä todella kirjoittaa sitä.
>> Ja mitä hienoa on nyt se tavallaan merkityksetön minun asiakkaille tai ystäväni
mitä kieltä Kirjoitin tämän ohjelman, niin voin mennä eteenpäin mv
ja nimeä tämä asia hello2, esimerkiksi.
Ja nyt jos teen ./hello2
ja loitontaa minun ohjelma toimii edelleen.
Nämä tiedostopäätteet ovat ihmisen yleissopimus, joka on tarpeen
ja jotain clang ja Make jotka etsivät heitä.
Mutta PHP, voisin kutsua tätä tiedostopääte mitä haluan.
Voisin huijata maailman luulemaan että olen todella hyvä Ruby,
ja voisin kirjoittaa hello2.rb ja suorita sitten tämä,
ja voila, nyt minulla on Ruby-versio, joka on täydellinen valhe.
Mutta tiedostopäätteet ovat merkityksettömiä
jos tiedosto on suoritettava, ja on tämän erityisen vihje yläreunassa tiedoston.
>> Nyt, kuten syrjään, anna minun näyttää sinulle nopeasti version 3,
mikä on tavallaan hyödyllinen temppu tietää.
Vuonna hello3 tein jotain hieman väärin
että minä päivittää lähdekoodin verkossa.
Versiossa 3 käy ilmi, että useimmissa Linux-koneissa
siellä ohjelma nimeltä env ympäristöä,
ja mitä voit tehdä tässä, jos sinulla ei ole aavistustakaan missä PHP
on asennettu kovalevylle, koska se todellakin voi vaihdella tietokoneen
että joku käyttää, env sanoo vain juosta env,
joka on useimmissa järjestelmissä, ja selvittää missä PHP on.
Vain yhteinen temppu, joten sinun ei tarvitse huolehtia siitä, selvittää missä ohjelma on.
Mutta jos et huolellisesti selvittää, missä ohjelma on, ja et ole välittänyt toistaiseksi
voit käyttää minkä komennon.
>> Saanen loitontaa ja tyyppi, jotka php,
ja huomaa se kertoo minulle se on oikeastaan ​​usr / bin / php.
Se on tavallaan valhetta. Se on myös bin.
Se vain osoittaa minulle ensimmäinen osuma.
Jos olet joskus miettinyt missä clang on, mikä clang, sehän on usr / bin / kalahtaa,
jotka tekevät, usr / bin / tee, ja mitä se tarkoittaa on koko ajan
olet voinut kirjoittaa usr / bin / clang tulee ajaa clang,
mutta se on aika ikävä tehdä sitä, joten jotkut kansiot
kuten usr / bin ja bin oletetaan olevan oletusarvot
niin tietokone tietää katsomaan ne sinulle.
Kaikki kysymykset kirjoittamisesta super, super yksinkertainen Hello World-ohjelma
PHP ja sitten ajamalla se?
Koska nyt aloitamme esitellä enemmän pakottavia syntaksi.
Selvä, nyt mennään.
Nämä ohjelmat olemme nähneet oikeastaan ​​ne kaikki ennen.
>> Jos minä avata esimerkiksi Tehdään beer1.php,
emme mene läpi useita versioita, mutta mitä tein
oli Istuin alas ja kaatoi sen tai muunnettu
minun C PHP-koodin tähän.
Useimmat alkuun tiedoston kommentit täällä.
On käynyt ilmi, että yksi uusi toiminto tarvitsemme kutsutaan readline.
GetString, Recall, viikosta 0 eteenpäin oli CS50 juttu.
PHP on oma käyttäjäystävällinen toiminto nimeltään readline
joka vie 1 argumentti, joka määrittää nopeasti
jonka haluat näyttää käyttäjälle, ja mitä readline tekee
on se palauttaa riippumatta käyttäjän tyypit sisään
Tässä tapauksessa olen julistaa muuttuja nimeltä $ n.
Olen tallentaminen se palauttaa arvon readline
jälkeen kysymättä käyttäjältä tällä merkkijonolla.
Vain varmuuskopioida, todella ajaa tätä asiaa, anna minun mennä eteenpäin
ja ajaa php beer1.php.
Kuinka monta pulloa tuleeko? Toivotaan vain tehdä 2 tällä kertaa.
Enter. Siinä kaikki.
>> Ohjelma on toiminnallisesti identtinen C versioon viikkoa sitten.
Mutta syntaktisesti katsotaanpa mitä eri.
Kun saan int käyttäjältä huomaa, että olen tekemässä joitakin virheentarkistukset,
ja jos n on pienempi kuin 1 lopetin ja minä tulostaa
Anteeksi viestin käyttäjälle ja poistu 1.
Tämäkin on hieman erilainen.
C Mitä me teimme? C palasimme 1.
PHP poistut 1, joka suoraan sanottuna on mielestäni hieman intuitiivinen
koska olet kirjaimellisesti poistuu ohjelmasta.
Selvä, ja sitten tänne harmittaa laulu on sama syntaksi
paitsi muuttujan, joten tänne on line 24 eteenpäin
Huomatkaa for silmukka on lähes sama,
mutta olen $ eteen i ja n,
ja mikä on myös puuttuu linjaa 26, joka meillä on ollut aikaisemmin
kun todetaan muuttujan i?
Ei ole tyyppiä.
On väärin PHP sanoa int.
Et yksinkertaisesti ei tarvitse tehdä sitä.
Tietokone, tulkki PHP on fiksu ymmärtää
että jos laitat numeron $ I se hoitaa sitä
kuten puhelinnumeron.
Ja sitten täällä meidän plug in $ i, $ i, $ i - 1.
Kaikki tämä on sama, ja sitten täällä teemme "Vau, se on ärsyttävää" printf
ja sitten poistua (0).
>> Jälleen takeaway tässä on, että vaikka me aiomme viettää suhteellisen
vähän aikaa PHP, varmasti versus mitä teimme C,
se on melkein sama, joten mitä me teemme tänään ja ensi viikolla
ja sen jälkeen on keskityttävä todella joitakin uusia ideoita.
Vain nähdä, että yksi asia ei kääntää vuodelta C,
Tämä oli erittäin yksinkertainen ohjelma teimme viikko 1
tai 2, kuutiona arvo.
Mutta mikä oli mielenkiintoista tuolloin tästä ohjelmasta on, että se
käyttöön käsitteen mukautetun kirjallinen tehtävä, että me itse kirjoitti.
Syntaksi PHP on melkein sama.
Tässä on minun ohjelma ylös.
Huomaa jälleen poissa on jokin käsitys tärkeimmistä.
Aloitan kirjoittaa koodia, ja tämä on mitä menossa toteuttamia tulkki.
Olen tulostaa x on nyt 2, oletettavasti.
Sitten väittävät cubing ...
Sitten pyydän datakuutiofunktioiden ja kulkea $ x
ja antaa palauttaa arvon $ x.
Sitten väittävät, että se on kuutioitu, ja sitten sanon tämän, mikä toivottavasti
sanovat x on nyt 8.
Syntaksi toiminnon PHP on koskaan niin hieman erilainen.
Jälleen puuttuu palautuva.
Jälleen puuttuu on palautuva ja myös puuttuu, mitä muuta?
[Äänetön opiskelija vastausta]
No, okei, se on hyvä. Palataan siihen toisessa.
>> Meillä ei ole esimerkiksi int tässä.
Meillä ei ole, esimerkiksi, ovat int tässä, koska, jälleen, PHP
et yksinkertaisesti ei tarvitse ja ei pitäisi tehdä, että
vaan on tämä uusi avainsanan nimeltään toiminto.
PHP on melkein hieman selkeämpi, sillä kun haluat funktion
te kirjaimellisesti sanoa toiminnon, annat sille nimen ja pilkuilla erotettuina
jos joku sen väitteitä.
Ei tarvitse sanoa mitättömäksi tai mitään sellaista, ja sitten paluu on sama,
$ * $ * $.
Mitä puuttuu myös? Sammy totesi tämän täällä.
Ylimpänä tiedoston kokonaan poissa PHP on myös prototyyppi.
Tämäkin on tarkoituksellista.
Kielet ja tulkit kuten PHP ovat älykkäämpiä kuin C koskaan ollut
vuonna kerääjiä kuten clang.
>> Muistuttaa, että clang, jos et kerro sitä, että kuutio on olemassa,
jos et kerro sitä, että printf olemassa kuin prototyyppi
tai # include, hyvin se aikoi huutaa sinulle ja ei edes kääntää koodia.
PHP ja modernit kielet ovat paljon fiksumpia, kun se tulee tähän.
He ottavat tehtäväkseen lukea läpi kaikki koodi
ja sitten huutaa vain, jos se havaitsee kuutio minnekään.
Sillä ei ole väliä, jos kuutio on alhaalla tai ylhäällä tai jopa joissakin erilliseen tiedostoon.
PHP ja vastaavat kielet ovat nyt fiksu katsoa tulevaisuuteen
kaikessa ennen päättämällä sinulle tehneensä virheen.
Jos se jättää meidät?
>> Tehdään vielä viimeinen esimerkki tästä olosuhteissa,
ja jos minä avata conditions2.php huomautus liian
syntaksin tässä on lähes sama.
Käytän readline sijasta GetString, mutta että linja on sama kuin ennen,
"Haluaisin kokonaisluku kiitos."
Sitten on, jos ehto, if, ja sitten muuta,
mutta toiminnallisesti tämä ohjelma on myös sama, mitä teimme viikko sitten,
joten jos juoksen tämä asia, php conditions2,
ja annan sen numero kuin 23 -
Otin positiivinen numero. Jos annan sen -1 Otin negatiivinen luku.
Jos annan sen 0 Olen todellakin poimittu 0.
Joten kuka välittää tästä kaikesta?
No, yksi hauska sellainen harjoituksia täällä
Ainakin minun oli mennä takaisin ja nähdä, kuinka nopeasti voisin toteuttaa PSET 5,
kirjoitusvirheet PSET.
Muistaa, että siellä oli tiedosto nimeltä speller.c,
ja siellä oli tiedosto nimeltä dictionary.c.
Mitä tein oli sellainen viettänyt muutaman minuutin, ja minä muunnetaan C-koodia
php koodia, ja emme viettää paljon aikaa aapinen
koska aivan kuten PSET 5 et todellakaan tarvitse
viettää paljon aikaa aapinen itse koska huomio oli sanakirja.
>> Riittää, kun sanon, että jos luet aapinen,
tämä tiedosto täällä, se on aika paljon vastaavia C-koodia
Annoimme sinulle PSET 5.
Olen vain lisännyt joitakin $ paikoissa.
Olen muuttanut eräiden toimintojen nimet, jos he eivät ole PHP.
On vielä yksi asia täällä, preg_match,
joka on hieman harrastaja tapa tehdä jotakin, mutta tulemme takaisin, että lopulta.
Mutta lyhyt, aapinen on lähes identtinen, ja jos tarkastellaan alareunassa
mitä se lopulta sylkee on täällä,
sanoja väärin kirjoitettujen, sanoja sanakirjasta, sanoja tekstissä.
Selvä, niin mitä mielenkiintoista on nyt seuraava.
Ylimpänä minun tiedoston olen vaativat dictionary.php.
Aivan kuten C on # include PHP on erityinen toiminto nimeltään vaativat
että melko paljon ei sama asia, vaatia tiedosto nimeltä dictionary.php.
Miten voin mennä noin täytäntöön PSET 5?
Anna minun mennä eteenpäin ja avata tiedosto tästä.
Otan hieman viittaus tähän.
Ja anna minun luoda uusi tiedosto ja soita tämä dictionary.php.
Sanon sen toiseen kansioon, jotta voimme tehdä tämän elää.
Ja nyt minä Lähennä
Aion aloittaa minun PHP tiedoston alkusulkumerkki PHP kiinni kiinnike.
Ja sitten täällä oli muutamia toimintoja minun piti toteuttaa PSET 5,
joten aloitan täytäntöön joitakin näistä,
niin funktio tarkistaa, mikä oli otettava sanaa argumenttina.
Teemme niin ja palata siihen hetken.
>> Oli tehtävä kuorman, joka otti mitä sillä argumentti?
Sanakirja, niin tiedosto halusin ladata.
Oli tehtävä koko, joka ei ottanut mitään perusteluja
ja siellä oli toiminta-mikä oli toinen?
Unload, joka ei ottanut mitään perusteluja joko.
Nämä ovat 4 toiminnot että minun pitäisi nyt toteuttaa PHP,
ja mitä aion tehdä, on mennä eteenpäin ja tehdä tämän.
Paljon käytit hash taulukon PSET 5,
joten anna minun mennä eteenpäin ja luoda hash taulukon PHP.
Valmis.
Se antaa minulle hash taulukon. No, miksi?
Yksi, muuttuja on nimeltään $ taulukko, vain loihtia ajatus hash taulukon.
Hakasulkeita kuitenkin muistaa, edustaa mitä?
Array, mutta PHP ryhmät eivät tarvitse numeerisesti indeksoitu.
Ne voivat myös olla assosiatiiviset taulukot,
mikä tarkoittaa, että voit olla mielivaltaisia ​​avaimia ja arvoja.
>> Aivan kuten PSET 5, ne teistä, jotka tekivät tiiviste toteutuksia
luultavasti asetettu sanan ja sitten lisätään sen ketjun linkitettyjä listoja,
tai voit tallentaa arvon tosi jonnekin tai jotain tältä osin.
Jotenkin muistaa että sana oli siellä.
Nyt se tulee olemaan minun tiiviste,
joten nyt edetä toteuttamisessa tarkistustoiminnon
Minun täytyy vain katsoa sisälle että tiiviste
ja katso, jos sana on siellä.
Mitä aion tehdä, on aion sanoa, jos-
sanotaanko isset, joka on PHP funktio, joka kirjaimellisesti tarkoittaa vain sitä on avain asetettu,
joten isset ($ taulukko [$ sana]
ja jos näin return true.
Siinä kaikki. Se PSET 5 PHP.
No, oikeudenmukaisuus, okei.
Else return false, joten se ei ole siellä.
Mitä todella tapahtuu täällä?
No, jos pöytä-tai hash taulukon täällä yleisemmin-
on assosiatiivinen array Eli voit indeksoida siihen
jossa sana kuten "sana" ja sinun täytyy saada takaisin jotain arvoa.
>> Olemme aika saada askeleen itseämme.
Olisi tavallaan mukavaa, jos me todella lastattu tiedosto ensin,
joten kuormitus ei ole aivan niin yksinkertainen, mutta haluan mennä eteenpäin ja lietsoa
todella nopea täytäntöönpano kuorman.
Anna minun mennä eteenpäin ja sanoa sanoja saa tiedoston sanakirja.
Tiedoston funktio PHP avaa tiedosto
ja palaa teille joukko kaikkien sanojen tiedoston,
vain ojentaa ne sinulle.
Se oli iso kipu liian, eikö?
Nyt foreach, tämä on uusi konstruktio, foreach ($ sanoja $ sana).
Tämä silmukka aikoo aloittaa iteroimalla yli array sanat
ja määrittää $ sana muuttuja jokaisen sanan tiedosto
ensimmäisestä toiseen ja kolmanteen ja neljänteen aina
joten minun ei tarvitse tehdä harmittaa [i] notaatio ja vastaavat.
Ja mitä minä yksinkertaisesti teemme jokaiselle näistä sanoista
on tallentaa sen minun taulukossa indeksointi taulukkoon
ja sitten tekee totta koska muistaa
että sana on minun sanakirja en todellakaan tarvitse tehdä
on eräänlainen kääntää hieman ja sanoa sanan minun tiiviste on siellä, totta.
Ja jos se ei ole siellä, en tarvitse erikseen laittaa vääriä,
muuten olisin laittaa vääriä kaikkien mahdollisten sanojen maailmankaikkeudessa.
>> Riittää minulle vain asettaa indeksin arvo
true jos sana on oikeastaan ​​minun hash taulukon.
Nyt olen leikkaus pari kulmat täällä, että minä heiluttaa käsiäni at nyt,
mutta nyt kuorman toiminto on valmis.
Lataan kaikki sanat tiedostosta array.
Olen toistaa yli että array, ja jokaisen sanan array
En kytke se minun hash taulukon 1 rivi koodia.
Tämä on hauskaa. Tiedät miten voimme toteuttaa koko nyt?
No, koko on aina melko helppoa, oikeudenmukaisuus.
Täällä voimme vain tehdä palata määrä taulukon.
Se on melko helppo myös laskea useita asioita taulukossa.
Se on oikeastaan ​​aika ole tehokkain.
Minun olisi luultavasti muuttuja nimeltä kokoa, jotta voimme tehdä sen
jatkuvasti aikaa, mutta se on melko helppo.
Niin, ja sitten purkaa, jos todella haluamme olla anaali täällä
Voimme sanoa, että miten te purkaa jotain.
Sinä vain määrittää muuttujan yhtä tyhjän array,
ja se pääsee eroon kaikesta, joka oli siellä.
Ei tarvitse soittaa ilmaiseksi.
>> Jälleen olen leikata joitakin kulmat, ja pahoittelen osoitetaan Harjoitus 5
ehkä C, mutta jos me nyt mennä eteenpäin ja suorittaa tämän,
Aion todella ajaa versio kirjoitin etukäteen
juuri niin, että en tee mitään syntaktisia virheitä lainkaan.
Anna minun mennä eteenpäin ja ajaa aapinen. Käyttö on sama.
Tässä on sanakirja tiedosto joka vain sisältää sanan foo.
Tässä on tekstitiedosto, joka juuri sisältää foo bar.
Katsotaan oikeinkirjoituksen tarkistaa tämän, joten aapinen, käyttäen tätä sanakirja tiedosto tähän tekstitiedosto.
Siellä on yksi väärin kirjoitetun sanan, baari, ja voila.
Tehdään PSET 5.
Otetaanpa 5 minuutin tauko täällä, ja me tulemme takaisin ja PHP.
Selvä, olemme takaisin.
Tehdäänpä-vihaa minua taas.
Katsotaanpa nyt itse nähdä, jos tämä ei ole positiivinen
todella täytäntöön tämä asia PHP.
Myönnettäköön, se kesti 45 sekuntia toteuttaa.
>> Mutta mennään eteenpäin nyt ja hoitaa asioita.
Anna minun mennä eteenpäin ja ajaa C-versio
sekä aapinen, ja me ajaa se yksi suurimmista tiedostoja,
mikä on King James Bible.
Ja täällä on-Mennään meidän C-kansioon,
speller kuningas James 5th.
Paljon väärin kirjoitettuja sanoja.
Okei, se on lähtö luultavasti saanut, vaikka ajat ovat hieman erilaisia,
jos sinulla kaiken toimimaan oikein, joten aikaa yhteensä oikeinkirjoituksen
King James Bible oli 0,38 sekuntia, joten ihan hyvä käyttää, että täytäntöönpano.
Nyt haluaisin mennä PHP versio, jota juuri kirjoitti.
Saanen ajaa aapinen kuningas James.
Oho, ohita se virhe. Olen väärässä hakemistossa.
Speller kuningas James 5th.
Melkein valmis.
>> Okei, ansiokas tarkkailija ymmärtää, että oli yli 3 sekuntia siellä.
Tämä on totta käyntiaika.
On käynyt ilmi, että se vie aikaa sylkeä paljon tekstiä ulos
koska puskurointi asioista, mutta pitkä tarina lyhyt,
, joka oli 3,15 sekuntia koneen aikaa, CPU-aika,
vs. mitä se oli hetki sitten?
Kuten 0.3.
Tarkoitan, se on kertaluokkaa hitaammin, niin missä on se
naurettavaa hidastumisesta tulevat?
No, kuten on käynyt eniten kaikista suunnitteluun päätös teimme
luokassa viime 9 viikkoa siellä lähes aina tätä vaihtokauppaa.
Joskus välillä vain tilaa, joskus väliin tilaa ja aikaa,
tilaa, aikaa ja kehitystyötä, ja itse asiassa tässä, vaikka
pelastimme valtavasti aikaa, ehkä mahdollisesti 10.20.30 tuntia
kehityksen aikaa täytäntöön oikeinkirjoituksen tarkistus
yliluottelemalla sitä vain 45 sekunnissa tällä kielellä
hinta me korvaamaan on, että se on suuruusluokkaa hitaampaa seurauksena,
ja tämä on yleensä asianlaita useimpien tahansa tulkittu kieli,
PHP, Python, Ruby, Pearl tai muita jolloin
Jos aiot ajaa se läpi tulkin ja saada se lukea koodi
riveittäin ylhäältä alas, vasemmalta oikealle,
että välikäsi vie jonkin aikaa omaa,
ja mitä tunsit täällä 3 sekunnin sijasta 0,3 sekuntia
on se, että tämä on välikäsi, joka on kirjaimellisesti tulkita meidän koodi
rivi riviltä, ​​ja Jumala varjelkoon, jos olet silmukan sisällä
valtava tiedosto sisältää satoja tuhansia sanoja.
>> Että yläpuolella tulee lisätä ylös ja lisää ylös ja lisää ylös ja täsmää.
Jotta väline näin se luultavasti ole paras kieli käyttää toteuttamiseksi
oikeinkirjoituksen tarkistus, jos välittömyys kiinnostaa käyttäjät ja sinulle.
Mutta ylellisyyttä meillä hetki on, jos
käyttää kieltä, kuten PHP tai paljon tulkita kielillä
yhteydessä Web, että asia, sinulla on hyötyä
että internet on paljon hitaampaa kuin useimmissa tietokoneissa.
Sinulla GHz CPU tietokoneeseen, 2 GHz, ehkä jopa enemmän näinä päivinä.
Mutta todellisuus on Internetissä on suuri määrä latenssi
jolloin sillä selaimen puhua palvelimelle, vaikka näimme viime viikolla
että ihan nopeasti, puoli millisekunnin tai niin,
sekin täsmää, ja jos lataat asioita, kuten kuva
tai Facebook-valokuvan tai saada pikaviestejä Facebook pulista,
Gchat tai vastaavat, kaikki nämä meno-paluu kertaa
välillä selaimen ja palvelimen alku täsmää,
mikä tekee juuri sinun kielen valinta monissa tapauksissa
ei kaikki asiaan, joten olet hieno käyttämällä hieman hitaampi kieli
kuten PHP tai Python tai Ruby
mutta jonka olemassa valtava upsides sinulle ja työtovereillesi
ja ystäväsi koska voit toteuttaa asioita niin, niin paljon nopeammin.
Ja lisäksi sinulla on paljon pienempi riski tiettyjen tietoturva-aukkoja.
Ei ole viitteitä PHP.
Ei ole seg viat voit helposti aiheuttaa
samalla tavalla kuin voisi C.
Kanssa C olet erittäin lähellä laitteiston.
PHP ja vastaavien kieliä olet tavallaan korkeamman tason, niin sanotusti,
kanssa paljon puolustusta välillä sinulle ja mitä todella tapahtuu
koneen sisältä, ja se on vain kompromissi.
>> Olemme saaneet siihen pisteeseen ottaa nämä enemmän nykyaikaisia, korkean tason kielellä
kuten PHP koska opitut kielet kuten PHP C.
Mutta jos et ymmärrä, mitä on tekeillä alla huppu kaiken tämän ajan
et varmasti pysty tekemään oikeita suunnitteluun päätöksiä,
ja varmasti kun se tulee töissä paikassa, kuten Facebook-tai Google-
tai mikä tahansa näistä paikoista, jotka ovat yhä leikkivät suurten tietomäärien
vaikka mennä takaisin ja tehdä premed ja työskentelemme joidenkin MD
joitakin suuria datakokonaisuudella johon potilaat ja lääkärit
ja kuten käyttämällä oikeita työkaluja on erittäin vakuuttava
koska muuten analyysin joidenkin tietojen joukko saattaa kestää sekunnin,
tai se voi kirjaimellisesti kestää tunteja.
Tämä on vain yksi esimerkki, ei estetä sinulle kuinka paljon vaivaa
se oli C mutta auttaa sinua ymmärtää, että kun et toteuttaa jotain C
te todella ymmärtää, tai teoriassa oikein ymmärrä
miten kaikki on tai pitäisi toimia, ja sinulla on lähes täysi kontrolli
yli missä mennään alla huppu, ja näitä korkeamman tason kielillä
sinun täytyy luopua valvomaan paremmin ihmiset keksi niitä
ja niihin enemmän niiden suunnitteluun liittyviä päätöksiä kuin sinun.
Mutta jos otamme itsestäänselvyytenä, että suorituskyky
ei ole aivan yhtä tärkeä Web koska näistä muista asioista,
vain verkon nopeudet ovat hieman hitaampia kuin prosessorin nopeudet muutenkin,
jotta voimme tavallaan varaa käyttää hieman hitaampaa kieli
jos upsides ovat pystymme kehittämään asioita 10 kertaa nopeampi tai jopa enemmän.
>> Katsotaanpa miten voimme alkaa käyttää tätä.
Sallikaa minun mennä kansioon
keskuudessa nykypäivän esimerkkejä nimeltään frosh.ims,
ja tämä oli todella henkilökohtaisesti motivoi se, että aivan ensimmäinen asia
Kirjoitin Web vuosia sitten ottamisen jälkeen CS50 ja CS51
oli verkkosivuilla Frosh IMS-ohjelmaan, fuksi sisäiset urheilu,
joka tuolloin tämä riitti vuotta sitten, että tuolloin
ei ollut verkkosivuilla ohjelmaa, vaikka oli web-
ja sen sijaan oli Proctor vuonna Wigglesworth jolloin jos halusi
rekisteröityä lentopalloa tai jalkapalloa tai mitä voisitte täyttää paperille.
Voit sitten kävellä pihan poikki.
Olisit sitten koputtaa heidän ovelleen ja liu'uta kotiovelle tai käsi Proctor
paperinpala sinun nimesi, vai et halua olla joukkueen kapteeni,
mitä urheilu halusitte tehdä, ja mitä asuntolan olit tuumaa
Se oli tavallaan vanhan koulun tapa tehdä asioita, ja tämä oli ensisijainen
mahdollisuuden automatisoida paljon tätä prosessia.
Sinä vain mennä verkkosivuilla. Kirjoitat jotain sisään
Saat sähköpostitse vahvistuksen, ja puomi, olet valmis.
>> Tämä oli ensimmäinen asia, jonka tein, vaikkakin kielellä nimeltä Pearl,
mutta se on suhteellisen helppo tehdä PHP, ja tämä on tavallaan edustava
ongelmista voit alkaa ratkaista, kun voit ilmaista itseäsi
ohjelmallisesti ja ei tarvitse tukeutua asioita, kuten Google-sivustoissa
tai Excel tai työkaluja, jotka annetaan sinulle.
Teidän on nyt mahdollisuus tehdä asioita, kuten tämä.
Tämä on erittäin ruma version muodossa,
mutta katsotaanpa vain käyttää sitä alussa keskustelun, jossa tämä on
suunnilleen missä muodossa näyttivät vuotta sitten meille
jotta ihmiset Webissä rekisteröityä Frosh infrastruktuurin.
Pyysimme nimeä, valintaneliö vai ei halunnut olla kapteeni,
mies tai nainen, ja mitä sitten asuntolan he olivat,
ja sitten he lähetä tämä lomake.
Katsotaanpa ensin katsoa alla huppu oli HTML, joka edustaa tämän sivun.
Sallikaa minun mennä froshims0,
ja varaavat PSET 7 otan itsestäänselvyytenä
hakemistot ja kansiot Laitan asioita sisään
Me opastamme sinua tarkalleen missä tavaraa on mennä laitteeseen,
mikä mod komennot täytyy ajaa, joten älä välitä kaikkia
tyhmä yksityiskohtia synkronointi get-go tänne.
>> Okei, tässä on froshims0.php.
Saanen selaa alaspäin ja mitä utelias täällä,
Tämä on PHP tiedosto, mutta mitä sen sisällä, selkeästi?
Se on paljon HTML, ja todellakin, PHP: n alkuperä
todella olivat siitä, että Web-centric kieltä.
Hetki sitten käytimme sitä toteuttamaan olutta esimerkiksi
olosuhteet esimerkiksi Hei esimerkki, ja se on hienoa.
Voit käyttää PHP scripting kieli
jos käsikirjoitus on oikeastaan ​​vain nimikkeistössä annettu nopea ja likainen ohjelma
tai jotain, mitä kirjoittaa käsikirjoitusta tai yleisemmin tulkitaan kieltä.
PHP on erittäin hyödyllinen, että koska olet nähnyt, kuinka nopeasti
suhteellisen voimme lietsoa ohjelmia PHP.
Mutta se oli todella suunniteltu käytettäväksi web-
ja suunniteltu Web siinä mielessä, että huomaa täällä yläosassa tiedoston
En aluksi <? Php.
Sitten on nippu hyödytön kommentteja, myönnetään, mutta sitten suljen PHP tilassa.
Mutta sitten pudota HTML-tilaan.
>> Mitä kiinnostavaa PHP on vaikka tiedoston päättyy. Php
se on yleensä tarkoitus joihin on sekoitettu HTML,
Joissakin PHP, joitakin HTML.
Ja näemme lopulta voimme alkaa kiusata niitä toisistaan
ja pidämme HTML erillään meidän PHP kokonaan,
mutta alkuperä PHP todella antaisi teille tätä joustavuutta,
että jos haluat joitakin HTML vain kirjoittaa sitä, ja se tulee olemaan
sylkäistä identtisesti selaimen.
Mutta jos tarvitset ohjelmointi tekniikka,
Joissakin ohjelmakoodia, voit myös laittaa se täsmälleen sama tiedosto, kuten tulemme pian huomaamaan.
Tässä on minun HTML.
Minulla otsikko tämä Frosh infrastruktuurin.
Minulla body joka on saanut joitakin CSS se keskusta kaiken keskellä,
ja sitten täällä minulla muoto joka ilmeisesti tulee jättää
uuteen tiedostoon nimeltä register0.php, joten näemme, että hetki.
Se käyttää menetelmää kutsutaan virka, joka me palaamme samoin.
Sitten minulla on jonkinlainen tuloa, yksi nimeltään nimi, jonka tyyppi on teksti,
yksi, jonka nimi on kapteeni, jonka tyyppi on valintaruutu,
ja tämä, emme ole nähneet sitä ennen, mutta se mitä se sanoo.
Saat valintaruudun sijasta tekstikenttään.
Tänne olet valintanappi, joka on yksi niistä pyöreä painikkeet
että voit valita joko tämä tai tuo.
>> Ilmoitus on tahallista että annoin molempia valintanapeista nimen sukupuolen.
Näin saat poissulkevuuden jossa sinun täytyy klikkaa
joko tämän yhden tai että yksi, ja klikkaamalla muita
se unchecks muut, joten sinun täytyy antaa heille sama nimi
jos haluat niiden olevan toisensa poissulkevia tuollainen.
Ja sitten asuntolan, en usko olemme nähneet tätä vielä, mutta se valitsemalla valikosta pudotusvalikosta.
Tag tähän on Select.
Voit sitten antaa pudotusvalikosta nimi,
ja sitten on koko joukko näistä vaihtoehdoista.
Ensimmäinen, vain estetiikka, on tyhjä merkkijono.
Halusin avattavasta olla tyhjä oletusarvoisesti,
ja sitten on Apley, Canaday, Grays, ja niin edelleen.
Ja huomaa kahtiajako täällä.
Vaihtoehto pudotusvalikosta on arvo,
mutta sitten se on ihmisen sopiva nimi, joka tässä esimerkissä
on sama, mutta jos halusimme olla anaali voisimme olla
arvo tämän avattavasta vain olla lyhyt versio,
Grays, mutta voisimme todella sanoa Grays Hall että ihmisen todellisuudessa näkee,
mutta se ei ole kovin kiinnostavaa, joten olen vain pitää asiat yksinkertaisina ja tehnyt niistä samanlaisia.
Sitten alas alareunassa meillä submit-painike
jonka olemme nähneet aiemmin, mutta huomaa Annoin sille eri sana.
Sen sijaan CS50 haku Annoin etiketti "Register".
>> Lopputuloksena on tämän verkkosivun täällä, ja taas,
jos tämä saa toimittaa?
Se saa toimitetaan joitakin tiedosto, arvo toiminnan ominaisuus,
joka oli register0.php.
Katsotaan, mitä todella tapahtuu täällä.
Anna minun mennä eteenpäin ja täytä tämä lomake, vaikkapa David,
mies, Matthews, ja sitten sanon rekisteröidy.
Saanen loitontaa ja klikkaa rekisteröidy.
Okei, joten tavallaan turha, mutta katsotaanpa, mitä todella tapahtuu.
Huomaa, että URL on muuttunut olevan register0.php.
Mikä on uteliaana poissa URL, mutta vaikka me vain toimitti lomakkeen?
[Äänetön opiskelija vastausta]
Okei, se on vain Chrome on käyttäjäystävällinen näinä päivinä.
Se on todella olemassa. He vain piilottaa tilan säästämiseksi.
Mutta hyvä ajatus, hyvä ajatus.
Kohti toista URL-osoitteen loppuun, vaikka, mitä puuttuu? Joo.
[Opiskelija] kyselymerkkijono.
Kyselymerkkijono, joten muistamme yksinkertainen Google-haku esimerkkejä.
Heti kun olen klikkaa lähetä-painiketta URL
vei minut Google, mutta sitten oli? q = tietotekniikan tai mitä olin kirjoittanut tuumaa
Näin siksi, että käytetään GET-menetelmää haku esimerkin.
>> Tällä kertaa käytämme mitä menetelmää sen sijaan?
Lähettää, ja yksi välittömästi erotteluja
välillä saada ja viesti on, että viesti ei aseta käyttäjän panos URL.
Se kätkee sen. Se vielä lähettää sen.
Itse asiassa, mitä me näemme että selaimessa täällä, koska me paljastaa hetken
tarkastelemalla register0, on olen vain nähdä sisällön
ja array jotka jätettyjen selaimen palvelimelle.
Mutta URL ei ole?, Ei ole mitään avainsanoja
tai arvoja, ja miksi?
No, post voit silti lähettää tietoja lomakkeen palvelimelle,
mutta se ei laittaa sen URL, niin minkälaista tietoa on post
erityisen sopiva ehkä kun pyydät käyttäjä
kirjoita tulo muotoon?
Jotain salasanan, jotain mitä muuta?
Luottokortin numeroita.
Mitään, että on lievästi herkkä et varmaankaan halua päätyy URL
jos vain koska se tarkoittaa sinun kämppäkaveri tai perheenjäsen voi vain peikko kautta
Internet historia ja sitten kirjaimellisesti nähdä salasanoja,
kirjaimellisesti nähdä luottokortin numeroita, koska useimmat selaimet
muistaa historian tahansa URL olet ollut,
joten jos vain koska se olisi huono idea.
Käyttämällä post vuotia että yksityiskohta käyttäjältä.
>> Myös, miten ladata kuvan Facebookiin?
No, vain 2 mekanismit voit todella käyttää,
vaikka siellä muutamia muita arcane niistä, on saada ja lähettää.
Miten mahdollisesti ladata kuvan kautta URL?
Voit todella tehdä sen.
Voit ottaa JPEG-tai bittikartta tai GIF ja voit edustaa sitä heksadesimaali
tai jotain kutsutaan pohja 64.
Sen sijaan 16-kantainen käytät pohja 64, joka olennaisesti näyttää
ASCII-merkkejä, ja voit itse ladata kuvan kautta URL
jälkeen kysymysmerkin, mutta yleensä kokorajoituksia.
Useimmat selaimet pakottaa URL-osoitteet olla enintään 1000 merkkiä,
ehkä 2000 merkkiä tai vastaavaa, niin et voi ladata
10 Mt Facebook kuva.
Sillä, että käytät postitse hyvin, joten nyt get parametrit URL-
mikä on mukavaa ja hyödyllistä joskus, mutta mitään arkaluontoisia tai iso
viesti on tapa edetä.
Mitä register0 oikeastaan ​​tekee täällä?
No, jos en avaa register0 ilmoituksen, että tämä on erittäin yksinkertainen sivu,
mutta se osoittaa, että voin samanaikaisesti seurustella, parempaan tai huonompaan,
HTML PHP.
Tämä koko tiedosto lukuun ottamatta huomautusten huipulla, ovat HTML
paitsi tämä kaveri täällä.
>> Huomaa keskellä minun PHP-koodin,
keskellä minun HTML, olen tavallaan väliaikaisesti
kirjoittaa PHP tilassa.
Soitan erityinen toiminto nimeltään Tulosta r.
Se tarkoittaa tulostaa rekursiivinen, ja mitä se tekee on se rekursiivisesti tulostaa
mitä muuttujaan voi luovuttaa niitä, puolipiste, exit PHP tilassa.
Ja pre tag saat valmiiksi muotoiltua tekstiä,
mono tilaa tekstin niin, että jokainen tila te todella nähdä sen.
Se ei katoa. Mikä on viesti?
No, mikä on mielenkiintoinen ja mukaansatempaava noin PHP
että kun lähetät lomakkeen avulla saada tai postitse
jotain, joka on antanut sinulle selaimen
PHP itse keksii mitä nämä keskeiset arvo-parit ovat,
luvut, onko siellä yhtäsuuruusmerkit luvut, jos siellä kysymysmerkki.
Se tekee kaiken työn puolestasi, ja sitten se ojentaa sinulle assosiatiivisia array
sisältää kaiken, käyttäjä kirjoitetaan muotoon.
No, mitä kenttiä ei tässä muodossa ole?
>> Se oli 4 kentät.
Yksi oli tekstikentän nimeltä nimi.
Yksi oli valintaruutu nimeltään kapteeni.
Yksi oli valintanappi nimeltä sukupuoli,
ja yksi oli pudotusvalikosta nimeltään asuntolan,
niin huomaa, kun voin tulostaa rekursiivisesti
sisältö erityinen muuttuja.
Tämä on erityinen globaali muuttuja nimeltä kirjaimellisesti $ _POST, kaikki korkit.
Tämä on erityinen globaali muuttuja PHP vain luo sinulle
ja kädet niin, että voit käyttää kaiken
että jätettiin kautta muodossa käyttäjä.
Ja soittamalla print r se-et tekisi tätä normaalissa käytössä.
Teemme tämän nähdä sisälle tämän muuttujan
ja mitä sen sisällä, hyvin, 4 avainta,
4 http parametrit, niin sanotusti,
nimi, kapteeni, sukupuoli, asuntolan ja sitten arvot käyttäjä
kirjoitetaan yhtä poikkeusta lukuun ottamatta.
Tein tyypin D-A-V-I-D.
Tarkistin laatikon, vaikka miesten, joka ilmeisesti antanut arvoa
vain m olla ytimekäs.
>> Kun olen valinnut Matthews se arvo, joka sai valittu
ja tämä on vähän tyhmä, mutta se on yleissopimuksen.
Kun tarkistin ruutuun arvo on "päällä", mutta jätetty valintaruutu.
Jos en olisi tarkistanut sitä, mitään arvoa ei ole lähetetty mitään.
Tämä on vain antaa meille tietoa siitä, mitä sisällä tämän erityisen globaaliin muuttujaan,
ja se on niin erikoinen, että sitä kutsutaan super globaali muuttuja.
Se on olemassa sinua kaikkialta omassa koodia niin, että voit itse käyttää sitä.
Tämä ei ole kovin vakuuttava, joten katsotaanpa todella käyttää super globaali
ja todella yrittää rekisteröidä joku.
Vuonna froshims1 aion tehdä yhden muutoksen.
Muutan kanne on register1.php,
ja minä teen yhden asian.
Olin sellainen hämmentynyt laatu minun verkkosivun siellä.
Ihan hirveä, rehellisesti, joten se kääntyy pois
että voit käyttää helposti verkossa
muiden ihmisten JavaScript-koodia, muiden ihmisten CSS
että he ovat kirjoittaneet ja avoimen lähdekoodin ja saatavilla kuin kirjasto,
niin sanoakseni, ja esimerkiksi täällä olen käyttäen vapaasti käytettävissä kirjaston,
nippu koodin että joku muu kirjoitti.
>> Twitter tapahtui kirjoittaa tämän koodin, ja sitä kutsutaan bootstrap kirjasto,
ja se on vain nippu CSS-tyylisivut, nippu. css tiedostoja
että joku muu kirjoitti ja tajunnut, miten saada kaikki kiva ja kaunis
niin että ihmiset kuten me voi huolehtia hieman vähemmän noin estetiikka ja keskittyä paljon enemmän
on logiikka ja varsinainen ohjelmointi.
Yhdistämällä sen kanssa tag, joka on sama tagi käytin muistan styles3.css aiemmin,
Olen nyt käytössään tiedosto nimeltä bootstrap.min.css.
Min tarkoittaa vain he Minified sitä ja he ovat saaneet eroon kaikista valkoista tilaa ja niin edelleen
vain varmista, että ne eivät lähetä minulle enemmän tavuja kuin minun todella tarvitsevat.
Mutta on olemassa koko joukko CSS, joten jos en nyt avata versiossa 1 Frosh IMt
huomaan että tiedosto on ehdottomasti kauniimpi.
Nyt se on silti vain mustaa ja valkoista, mutta huomaa, että vain käyttämällä heidän tyylisivua
ja käyttämällä tiettyjä ominaisuuksia se minun muodossa se ei ole hämmästyttävää,
mutta se on ehdottomasti puhtaampaa kuin se oli ennen, ja projektori ei tee sille oikeutta.
Ei ole juurikaan harmaita viivoja ympäri painikkeet ja ympärillä tekstikenttään täällä,
mutta se on ehdottomasti puhtaampaa kuin se oli ennen.
>> Nyt, oikeudenmukaisuus, en tarvitse muuttaa merkinnät hieman.
Tämä on versio 1, ja huomaan, että olen käyttänyt muutamia uusia tunnisteita,
ja rehellisesti, minulla ei ollut aavistustakaan, miten tämä kunnes luin dokumentaatio
Twitterin n bootstrap kirjasto, ja he kertoivat minulle, jos haluat käyttää kirjastoa
Käytä fieldset elementin sisällä lomakkeen,
laittaa sanan haluat näyttää kentän vieressä sisällä Kalervo Ojutkangas,
Sitten anna syöttää nimen, aivan kuten ennen,
ja sitten valintaruutu, ei vain sinä kääri se etiketti elementti,
käytät jotain kutsutaan luokan, joten emme ole nähneet tätä ennen,
mutta näet tämän yhden PSET 7: n shortsit.
Luokka CSS voit tehdä jotain hyvin samanlainen tunnus,
mutta ennen kun meillä oli ID kanssa # tunnuksella
, joka oli yksi ja vain yksi elementti.
Mitä kivaa luokka on se, että useita elementtejä voi olla samaa luokkaa
tai sama CSS kamaa soveltaa sitä.
>> Mutta jälleen enemmän kuin lyhyet, ja loput tästä on vain kopioida ja liittää
niiden dokumentointi missä olen lisännyt tarra siellä täällä.
Ja lopussa, koska olen mukana linkin tag yläreunassa,
kaikki näyttää kauniimpi automaattisesti
yksinkertaisesti ottaa merkitään sivuani siten, että
Twitter odotettavissa, ja siellä on niin monia erilaisia ​​tapoja
tähän, ja tämä on todellakin erittäin sopiva.
Tässä vaiheessa lukukauden, kuten näet, PSET 7: n spec,
Googling ympärillä, lukemalla kirjastoja käyttäen muiden ihmisten CSS
ja JavaScript ratkaista liitännäisiä ongelmia
ongelman asettanut itselleen on varmasti kannustetaan ja tapa
Web rakennetaan näinä päivinä, seisomalla toisten harteille
niin että voit todella keskittyä uusia ja mielenkiintoisia ongelmia.
Mutta katsotaanpa nyt keskittyä jälleen logiikkaa.
>> Se oli nopea kiertotie estetiikan vain näyttää mihin suuntaan voi mennä.
Aion palata takaisin rumempi yksi nyt vain siksi,
ei ole mitään häiriötekijöitä Twitter juttuja, ja haluan mennä eteenpäin ja avata
froshims2, joka taas on erilainen vain kanteen, register2.php,
ja mennään katsomaan mitä vaikutuksia on täällä.
Anna minun mennä eteenpäin ja kirjoita David.
En ole kapteeni tällä kertaa.
Sanon mies, Matthews, rekisteri.
Hitto. Okei, tyriä minun osaltani.
Valmiustila.
Register2, linja 22, jos tyhjä tai-Anteeksi.
Katsotaanpa uudelleen.
Okei, kun lähetät tämän lomakkeen, mitä juuri tapahtui?
Olen kirjoittanut David, tarkastetaan mies, napsautetaan Matthews, rekisteri.
Olet rekisteröitynyt. (No, ei oikeastaan.)
Tämä on selvästi askel pidemmälle vain tulostaa sisältöä joidenkin muuttujan
mutta mitä tämän tiedoston oikeastaan ​​tekee?
Vuonna register2.php
huomannut, että minulla on uusi koodi.
Sisällä ruumiini tag olen lähinnä jos muuta rakentaa,
mutta koska olen yhteistyössä mingling tässä joitakin HTML
Minun täytyy tulla ja poistua PHP tilassa edestakaisin, joten katsotaanpa mitä olen tekemässä.
>> Ensimmäisellä rivillä täällä sanon, jos se on asian
että viesti Super globaali on tyhjä avain nimen,
joten toisin sanoen, jos käyttäjä ei anna minulle arvo nimi muodossa,
Sitten tyhjä aikoo palata totta, koska arvo on tyhjä.
Tai-huomaa pystypalkkia-jos sukupuoli on tyhjä
sisällä tämän erityisen Super maailmanlaajuisen, joka taas edustaa sisällön muodossa,
tai asuntolan on tyhjä, niin aion mennä eteenpäin ja huutaa käyttäjä.
Miten? No, huomaat aion sanoa sinun on annettava nimi, sukupuoli, ja asuntolan.
Mennään todella aiheuttaa tämän virheen.
Anna minun mennä takaisin minun muodossa. Saanen reload poista sitä.
Ja olen juuri menossa antaa heille Daavidin, ja he eivät tarvitse tietää missä asun.
Rekisteröidy. Ilmeisesti en tarvitse kertoa heille missä asun.
Sinun on annettava nimi, sukupuoli ja asuntolan. Mene takaisin.
>> Ja voisin klikkaa palata lomaketta, mutta miksi?
No siinä tapauksessa nimensä ei tyhjä, mutta sukupuoli oli, ja asuntolan oli
joten koko tämä lauseke arvioitu totta, ja vaikka syntaksi on vähän uutta,
taas astumme PHP-tilaan, tuttu jos ilmoitus,
mutta uusi osa tässä on juuri tämä paksusuoli, ja olin mokasin jättämällä pois suluissa
vahingossa, mutta huomaa kaksoispiste, ja se tarkoittaa
vaikka me poistutaan PHP tilassa kaiken
joka seuraa pitäisi sylkäistä sanatarkka selaimeen
kunnes näet muu lohko, kuin me täällä,
jolloin sinun pitäisi sen sijaan sylkäistä tämän ulos
kunnes näet endif, joten jotkut hieman uutta syntaksia
jonka avulla voin vaihtaa HTML ja PHP.
Voimme puhdistaa tähän asti lopulta, mutta nyt
Se on eräänlainen pakottavia tapa virheentarkistus muodossa.
>> Nyt, sanon et todellakaan rekisteröidä, koska ilmeisesti olemme tehneet vain tietoja,
joten katsotaanpa todella yrittää tehdä jotain kivaa.
Vuonna froshims3 ainoa ero on aion esittää register3,
joten HTML on sama.
Vuonna register3 huomata tämän.
Tämä on eräänlainen seksikäs.
Huipulla olen käyttäen vaati lausuman, joten tämä on kuin # include.
Tällä kertaa se ei ole stdio.h tai mitään sellaista.
Se on PHP kirjasto, ja tämä on nimeltään phpmailer.
Miten tiedän sisällyttää juuri tämä mainittu merkkijono?
Luin sen asiakirjoissa, joten kun he kertoivat minulle laittaa tämän yläosassa tiedoston
Jos haluat käyttää erityistä kirjastoa nimeltään phpmailer että mitä se sanoo.
Sen avulla voit lähettää sähköpostia kautta PHP.
Nyt selaa edelleen.
>> Ilmoitus aloittaa Olen PHP tilassa koko ajan,
joten nyt huomaa tänne tuomisen jälkeen, että kirjasto-
niin sanotusti, teen joitakin järki tarkastuksia.
Jos se on totta, että nimi ei ole tyhjä
ja sukupuoli ei ole tyhjä, huomaa huutomerkit-
ja asuntolan ei ole tyhjä, niin käyttäjä on loogisesti täytetty lomake, ainakin tarpeeksi.
En välitä, jos he kapteeni vai ei. Tarvitsen vain nimensä, sukupuoli, ja asuntolan.
Jos he ovat täyttäneet ne niin, että yksikään näistä kentät ovat tyhjiä
tämä on hieman uusi syntaksi.
PHP, kuten syrjään, on olio-ohjelmointikieli
jonka jotkut teistä saattavat muistaa siitä APCS tms..
Nyt, jos tuntematon, vain tietää, että käyttää tätä kirjastoa
sinun täytyy kirjoittaa koodiriviä kuten tämä käyttäen uuden avainsanan,
kirjaimellisesti uuden avainsanan nimeltä uutta.
Mutta sen jälkeen meillä on joitakin tuttuja syntaksi.
Se on nuolella operaattori, joka on samanlainen kuin mitä käytetään tietueet yhteydessä osoittimia.
Sillä tänään PHP ei ole viitteitä,
mutta tiedämme nyt, että sisällä postin muuttujan
on olennaisesti sellainen osoittimen erityinen kirjaston
että joku muu kirjoitti, ja jos haluan käyttää tiettyjä toimintoja
sisällä että kirjaston en, kuten C, nuolinäppäimillä operaattori,
vaikka nämä eivät oikeastaan ​​osoittimia.
Se on eräänlainen PHP: n oma versio siitä.
Tämä tarkoittaa mennä kirjastoon ja kutsua IsSMTP toimintoa.
SMTP, Recall, meidän Warriors of Net viittaa sähköpostiin,
ja se tarkoittaa vain käyttää sähköpostipalvelimen tämän Frosh IMS-rekisteröinnin.
>> Mitä isäntä haluan käyttää?
No, Harvard, jos Google ympärille, on sähköpostin palvelin nimeltään smtp.fas.harvard.edu.
Jos pelaat pitkin kotona tai asut Comcast verkossa
se voi olla jotain smtp.comcast.net.
Se riippuu täysin siitä, missä asut ja kuka ISP on.
Sen jälkeen aion asettaa minun osoitteesta mielivaltaisesti olla jharvard@cs50.net.
Olen sitten menossa asettaa käsitellä on jharvard@cs50.net.
Ainoa tapa tiesin, että näistä toiminnoista kutsuttiin SetFrom ja AddAddress
on taas luin asiakirjat.
Tämä ei ole sellaista maagisesti kaikkien tiedossa ohjelmoijia.
Sitten asettaa kohteena "rekisteröinti".
Ja nyt tämä linja on vähän ruma koska mitä piste operaattori tarkoittaa PHP?
Jokainen tietää?
KETJUTA.
C on kipua niskassa ja liität 2 langat yhteen.
Sinun täytyy käsitellä malloc tai realloc tai kaikki jutut
vain pidentää merkkijono.
PHP, JavaScript ja muilla kielillä
voit yleensä tehdä tämän yksittäisen merkin.
Tällöin piste tarkoittaa tätä merkkijono täällä
ja liittää sen tähän merkkijono.
>> Niin, ja muuten, liittää se tähän merkkijono,
joka sattuu olemaan vaihteleva sisällä että super globaali.
Sitten liittää siihen uuden linjan, joten kaikki nämä pisteet tarkoita vain
pitää tehdä isompi ja isompi ja isompi string,
ja sinun ei tarvitse välittää lainkaan siitä malloc tai kuten kielen, kuten tämä,
ja siellä on muitakin tapoja tehdä tämä, mutta tämä on yksi nopeimmista
tapoja antaa se pois.
Mitä tämä tekee?
Se luo sähköpostin elin, joka menee sanoa Nimi: Captain: Sukupuoli: Dorm:
kaikki eri linjat, ja sitten lopuksi,
yksi rivi koodia, ja aion jättää tämän nyt.
Jos == false tarkoittaa vain, jos jokin meni pieleen,
mutta taika tapahtuu täällä.
Sähköposti Lähetä tarkoitetaan lähettää sähköpostia.
Katsotaan mitä nettotulos on.
Alareunassa tiedosto, huomaa se tulee sanoa olet rekisteröitynyt todella
jos saan näin pitkälle.
Jos kuitenkin käyttäjä mokaa, huomaa että aloitimme tämän
Jos ehto tänne, jos se ei ole tyhjä eikä tyhjiä
ja ei ole tyhjä lähetämme postia.
Muuten aiomme lähettää koodirivin
joka joutuu vaikutus, kuten näet, PSET 7, suuntaamalla käyttäjän
takaisin mistä he tulivat, froshims3.php.
>> Peukkuja, muuten tämä tulee olemaan suurin pettymys demo tänään.
Täällä mennään.
Saanen avata minun postilaatikossasi jharvard Gmailissa.
Ei sähköpostia nyt. Selvä.
Nyt haluan avata froshims3, joka on kolmas ja viimeinen esimerkki tutustumme täällä.
Okei, nyt mennään.
Nate, hän on kapteeni, miespuolinen, mistä vaikkapa Apley.
Rekisteröidy. Okei, olet rekisteröitynyt oikeasti.
Nyt jos vieritä sähköpostiini, voi Luoja.
Olen juuri dynaamisesti lähettänyt sähköpostia Webissä.
>> Jätetään tästä huomautuksen.
Video on tulossa sillä luento meni ohi. Nähdään ensi viikolla.
[CS50.TV]