[Powered by Google Translate] [Aste 8, Continúa]
[David J. Malan] [Harvardeko Unibertsitateko]
[Hau da CS50.] [CS50.TV]
>> Hau CS50 da, eta, beraz, hau Astea 8 Hemen amaiera izango da.
Jakina izan dugu urakan bat apur bat lehenago aste honetan,
beraz, oraintxe bertan benetan da besterik ez duzu eta ni areto honetan,
baina, gaur egun, gure elkarrizketa jarraituko dugu PHP buruz
eta web programazio buruzko informazio gehiago, oro har, eta aurkeztu ere ideia
datu-base, batez ere deitu MySQL, nahiko popular da egun hauetan,
duelako eskalagarritasuna, baita libre eta open source ari delako neurri handi batean.
>> Baina, lehenik eta behin, non utzi ditugu azken aldian begirada bat.
Gogoratu ziren hainbat Frosh Berehal adibide begira,
eta hau izugarri Inprimaki zen izan zen I 15 + urte.
campus erregistro ikasle freshman kirol intramural
benetan trek gehiago izatea patioan zehar Wigglesworth gabe
PROCTOR batzuk ate azpian paper fisiko irristatu.
Guztia online ordez joan zen bizitzera, baina aprobetxatu behar dugu
teknologia batzuk, eta, beraz, bat, HTML, hipertestu markup hizkuntza behar dugu,
eta berriro markup language hau duten web-orriak egin nahi duzun egituraz da.
>> CSS apur bat erabiliz, egun hauetan, Kaskadako estilo-orriak,
Horren bidez, web orrian stylizations erabili dugu hainbat sintaxia apur bat erabiliz,
HTML horien egitura buruzko informazio guztia izan zen, berriz.
Web programazio hizkuntza bat aurkeztu ere egin beharko dugu.
Kasu honetan, PHP erabili dugu, eta PHP gaitu
dinamikoki irteera edukia, baita egin programazioko gauzak.
emailak bidaltzeko, oharra utzi dugu azken astean kasuan izan zen.
>> Gogoratu kodea 2 zati izan zen.
One, froshims3.php izan genuen,
eta hori izan zen, neurri handi batean, barruan HTML markup
CSS apur txiki hemen estilo-atributuak
beraz, forma bera litzateke orrian, baina haratago zentratua
inprimaki input ordezkari batzuk, testu-eremu bat, kontrol-laukia bat izan genuen,
irrati batzuk botoiak, menu bat hautatu, eta botoi bat submit.
Eta formulario honen bidez, aurkeztu duen fitxategi bat izan zen itxuraz izeneko register3.php dugu,
berez apur bat begiratu honen antzeko zerbait.
, Abisuaren, register3.php kodea gehienak email buruz izan zen.
Baliozkotzeko bit inprimakia aurkeztu ziurtatu apur bat egin du
eremu benetan ziren espero.
PHP funtzioak Gero batzuk deitu genuen pixka bat sintaxia erabiliz,
C. from maileguan arren
>> Arrow operadorea honek aukera ematen du zerbait objektuetara bideratutako programazioa izeneko erabilera egiteko.
Ez dugu horretan hemen zehatz-mehatz, baina gaur egun ezagutzen
objektu lotutako funtzioak izatea modu bat da,
egitura mota berezi bat dira, C. dugu ikusi
Baina orain, fede on hori sintaxia zuzena erabili
liburutegi bat erabiliz PHPMailer liburutegi hau atsegin dute.
Eta gero, fitxategi honen amaieran dinamikoki genuen posta elektroniko bat
bidali got my jharvard@cs50.net kontu
nire jharvard@cs50.net kontutik,
eta erabiltzaileak jakinaren arabera kobratu ohi dute izan dira kirol hau.
Hau da, nahiko askoz zer egin Frosh Berehal gune Duela urte horietan guztietan
noiz jarri du martxan, I, ematen, beste hizkuntza batean,
baina agian erakusten du boterea duzula
gaur egun zeure burua duzula adierazteko ezin programazioaren
C bezalako hizkuntza batean maila baxua, baina maila askoz ere handiagoa da
aplikazio horiek email atsegin mundua oso erreala benetan konpontzeko
mundu errealeko arazo batzuk.
>> Baina, noski, nahiz eta script hau batzuk sortzeko erabiltzen dut
e-posta dinamikoki jharvard@cs50.net, hau da, hain zuzen ere, kontu bat
sartzeko, oso kontuz ibili bidali izan ez
bidaliko dira benetan zeure kontuak,
gauzak lortuko duzu kausituko ur bero pixka bat bizitzan.
Horrekin, esan dezagun orain beste arazo bat konpontzeko guztiz trantsizioa,
estatu mantenduz.
Orain, zer du horrek benetan esan nahi?
HTTP, hau hipertestua transferitzeko protokoloa
, estaturik gabeko protokolo bat da, benetan, eta zer esan nahi duen
sortu tira Google.com moduko zerbait, eta, ondoren, hit sartu
normalean zure nabigatzailean ikonoa spinning nolabaiteko du orduan
web orri batzuetan emaitzak deskargatzen ari
eta, ondoren, apur icono que gelditzen spinning, eta hain zuzen ere, iradokitzen
HTTP zerbitzariak konexio mota batzuk amaitu, eta hori da.
HTTP zentzurik ez duela mantentzen da estaturik gabeko
zerbitzariak konexio iraunkor bat du, modu berean Skype
edo Gchat du HTTP delako
suposizio da behin eskuratu duzun web orri bat da.
>> Orain, errealitatean, Facebook eta Google Maps bezalako guneak egun hauetan
eta Twitter eta antzeko asko gehiago dinamismo horren bidez
ondoren ere ikono hori spinning gelditzen da, hain zuzen ere, ahal izango dituzu eguneratzeak gehiago
zerbitzariak, tweets gehiago, Facebook-en egoera eta antzekoak.
Hala ere, teknika bati buruz hitz egingo dugu aste bat edo bi erabiltzen ari da
Ajax JavaScript izeneko hizkuntza bat erabiliz gisa ezaguna,
baina egunaren amaieran, HTTP oraindik estaturik gabeko.
Eta, hala ere, nolabait, gogoratu nahi duzun erabiltzaile bati buruzko gauzak bada
ondoren ere, zure zerbitzaria haiekin deskonektatu
PHP ez ordaindu duzu hau egiteko modu bat
zeren, azken aldiz ikusi genuen bezala, PHP superglobals zenbaki bat du,
eta superglobal bat da, berriro ere, aldagai berezi bat global
hori entregatu duzun web zerbitzariak eta PHP berak.
>> Ez duzu ezer egin balioak sartu da,
eta ikusi dugu, beraz, orain arte superglobals artean eta lortu dira bidaltzeko,
hau da, non inprimaki eremu jarriko dira automatikoki,
eta baita beste pare bat ikusi ez dugun oraindik.
$ _Zerbitzaria Inside zerbitzaria berari lotutako aldagai batzuk bereziak dira.
Zer da IP helbidea, protokoloa, HTTP edo HTTPS ez duzu erabili,
eskaera metodoa eta erabili nahi duzun bezala, beraz, ez da interesgarri batzuk
urtsua zerbitzariak buruzko xehetasunak, eta, hain zuzen ere, han erabiltzaile baita.
$ _cookie, Hau da, non gauza horiek izeneko cookie-ak gordetzen dira.
Ez dugu denbora cookie-bere burua gaur egun,
baina orain jakin cookie bat informazio-zati txiki bat besterik ez da
web zerbitzari bat web nabigatzaile bat landatu
eta aldi berean, bere RAM edo bere ordenagailuko disko gogorrean
erabiltzaile bati buruzko informazioa gordetzeko, adibidez, bere erabiltzaile izena
beraz, ez dute idatzi aldi bakoitzean saioa edo batzuk
zenbaki edo erabiltzaile hori identifikatzailea
beraz, ez duzu galdera berdina mota horietako pester
etorkizuneko lehentasunak, baina interes gehien
oraintxe $ _saioa da.
>> Superglobal hau, besteak bezala da entregatu automatikoki PHP
PHP-oinarritutako webgune idazten ari zaren
ezer nahi duzun, kateak, zenbaki osoak gordetzeko,
puntu mugikorreko, balioak, array, objektuak,
ezer benetan nahi duzula, eta gordetzeko aukera ematen du horrela
nahiz eta erabiltzaileak bisitatzen duzu eta, ondoren,
bueltatzen minutu edo 5 minutu delako
bere denbora behar dute, beste esteka batzuk egin klik aurretik
PHP edozein dela ere jarri saio superglobal hori ziurtatzeko
Duela minutu edo 5 minutu bat izango da oraindik ere hor erabiltzaile itzultzen.
Eta kanpaia azpian superglobal hori modu ezarri
izeneko gauza horiek cookieak, baina oraingoz, abstrakzio bat besterik ez da
Horren bidez, erosketa saskia programazioko baliokidea sort da.
Whatever, programatzailea, horretan jarri
elkartze-array superglobal han minutu beranduago izango da zenbaki batzuk
ezabatu arte edo erabiltzaileak bere nabigatzailean irten arte guztira.
>> Dezagun begirada bat nola gauza hau gaur egun erabiltzen adibide bat.
, Gaur egungo kodea pieza artean counter.php
honako lerroa dugu.
Fitxategi honen hasieran iruzkinak urdina, oraingoz uninteresting sorta bat dugu.
Baina line 13 linea berri bat dugu,
session_start, eta egia esan, ez du zehazki zer dio.
Saioak hasiko da.
Aukera ematen du, handi superglobal $ _saioa erabili ahal izateko, eta hori bezain erraza da.
Orain, aurrera jarraitu dugu line 16 begiratuz gero, web orrialde hau da, zer egingo irudikatu saiatu-en.
(Isset ($ _saioa ["counter"]) ondoren, joan aurretik
eta counter aldagaia denda, minuskulaz counter
$ _saioa ["Counter"].
Badirudi izeneko counter tokiko aldagai bat deklaratzen
barruan, edozein dela ere barruan superglobal, kopia bat jarri
izeneko saioa kokapena "counter".
Bestela, itxuraz, lokal txiki honetan counter aldakorra da, eta 0 hasieratu.
>> Baina gero, lerro batzuk geroago, 26 oharra saio counter kopia,
bere gakoa, gaur egungo balioa gehi 1 balio berri bat ezarri du.
Azken finean, fitxategi hau dela dirudi, eguneratzeko
barruan gordetzen den saio superglobal counter bat
incrementing 1, baina lehen aurreko balio kopia bat mantentzen du
izeneko tokiko aldagai batean gorde $ counter
eta, ondoren, behera hemen zer geratzen da ikus-en.
Bihurtzen da, pretty much da HTML.
Orri honen behealdean line 37 ikusten dugu gune hau bisitatzen dut
counter zenbat aldiz, pare ezaugarri interesgarri bat dago hemen, beraz.
Bat, hau da, argi eta garbi aldagai bat da, baina ez da nahikoa jarri
$ Zure HTML delako gorputz ikastaro counter
da, besterik ez bada zure HTML PHP artean besterik HTML bereganatzeko.
Literalki nahi duzu $ counter pantailan inprimatu behar.
>> Baina, horren ordez, PHP moduan jareginez
sintaxia zati hori dinamikoki balio bat sartu ahal izango dugu hemen
espirituz oso antzekoa da azken aldian egin dugun
balioak txertatu kateak sartu.
Izan ere, hori besterik ez da honen antzeko zerbait esaten literalki idazkera azkarra,
inprimatu ($ counter) edo printf (% s, counter) antzeko zerbait ere,
edo, are gehiago, ikusi duzu online edo testu-liburuak,
izeneko oihartzuna PHP funtzioaren
gauza bera egiten du, eta horiek guztiak ez dira besterik ez longer winded modu
esaten <? =.
Kasu honetan, ez duzu jarri
galdera ikurra ondoren PHP hitza.
Azkarra notazioa da, berriro ere, zer ikusi besterik ez dugu une batez ago
horrek balio batzuk echoing da.
>> Honen azken emaitza benetan da ikus-en.
Baino gehiago joan me gure counter.php fitxategi,
ikusi eta David besterik kodea jolasten akatsen bat egin dugu.
Fix edozein izanda ere izorratu zuen joan dezagun,
, eta badirudi errorea egon, joan, on line 37.
Orri honen hasierara arabera gune honetan 0 bisitatu dut.
Beno, goazen aurrera, eta nabigatzailearen goialdean egin klik
ikonoa birkargatu, eta birkargatu klik egin I,
eta gaur egun gune 1 aldiz, 2, 3, 4, 5, 6, 7, 8 bisitatu dut.
Eta, hain zuzen ere, orri hau iturri kontuan hartuz gero, benetako iturburu-kodea aldatzen ari da,
eta konturatu PHP edozein ez osoa, eta hori delako
PHP kodea ebaluatzen da edo zerbitzariaren aldeko interpretatu,
eta, beraz, horrek esan nahi du PHP script irteera horixe da, azken finean, nabigatzailea bidali
kasu honetan, zenbait HTML eta testu batzuk gordina da.
Zer gertatzen da hemen?
>> Beno, kode lerro gutxi gordetzeko gai naiz
segundo hainbat ikastaro baino gehiago etengabe, edo nahikoa luzea itxaron dugu,
minutuan, nahiz eta ordu, que hace HTTP modu balio batzuk
Badirudi stateful nahiz gisa atxiki dugu
zerbitzariak konexioa hau, eta besterik ez da zer esan nion azken aldian gogoratzeko,
baina errealitatean konplexutasun sorta osoa kanpaia azpian
cookies den PHP me ilusioa hau emateko aukera ematen parte hartu
erosketa honen saskia bezala-eginbidea.
Orain, trivial Adibidez zenbaki oso bat gordetzeko besterik ari gara,
baina eginbide berriro etorriko da, balio handiko
proiektu konplexuagoa buruz hitz egiten hasten gara,
horien artean arazoa ezarri 7.
Hau da zure azken CS50 en arazo bat da.
Badakit, beraz, triste da, baina zer aurkituko duzu ari garela ondoriozta joan
seihilekoan benetan transitioning
C testuinguruan, zalantzarik gabe, PHP testuinguruan
baina oinarri bera erabiliz, berriz, zenbait
buruz hitz egin dugu, denbora pixka bat.
>> 7 pset helburua da CS50 Ogasun ezartzeko,
zein zure Yahoo Finance edo Google Finance bertsio propioa da
edo are Etrade.com Horren bidez, gaitasuna behar duzu
begiratu stock prezioak sinboloak eman, baina, are gehiago, hori baino gehiago
"erosi" eta "saltzeko" stock gaitasuna duzu
stock hainbat trukeak negoziatutako diren bezala delako home Orri honetan
Hemen iradokitzen du, hau da, benetan zenbateraino hasi dugu
zuretzat arazoa, erabiltzaile-izena eta pasahitza eskatu saioa hasteko inprimaki duzu.
Submit botoi bat du, baina hortik aurrera, ikusiko dugu azkenean ikus
ez dago ezer benetan kanpaia azpian delako oraindik
hondarrak gaitasuna erabiltzaile berriak erregistratzeko ezartzeko,
stock erosi, stock saltzeko gaitasuna,
benetan begiratu uneko stock prezioak.
>> Eta, hain zuzen ere, mundu errealeko ahalik eta egin dugulako
kode bit bakar bat funtzio aukera emango dizu
Yahoo Ogasun, wonderfully free datuak eskura jartzen galdetzeko
stock stock sinboloa edo ticker sinbolo oinarritutako prezioak begira,
eta berriro lortu duzun eguneko stock uneko prezioa.
Benetan ikusten ari zaren datuak pset zehatz honetan izango da
mundu errealeko gisa lor daiteke ari zaren benetan interfazearen
mundu errealeko zenbakia, mundu errealeko prezioak,
ikusi eta zenbat diru egin, agian dezakezu emango dugu
zure arazoa bere jaurtiketa jolasean hurrengo hainbat egunetan zehar.
>> Baina nola diseinatzeko zerbait da, zalantzarik gabe, zailagoa da lehenengo etapa
, counter.php baino gehiago edozein Frosh Berehal adibide, beraz, orain arte baino konplexuagoa
eta dezagun saiatu paradigma bat aurkeztuko batzuk hemen onartzea gurekin
bai pset 7 eta, agian, zure proiektua behin betiko zerbait egiten duzun web oinarritutako
Zure kodea ondo antolatuta mantentzeko, zeure burua sane mantentzeko,
eta laguntzaile norabidean urrats bat da, bai CS50 proiektuaren azken
edo jarraituko duzu etorkizunean zerbait programatu nahi izanez gero haratago.
Diseinu orokor honen paradigma
informatika eta software garapenean, oro har
MVC, eredua view kontroladore gisa ere ezaguna,
eta hau silly akronimoa nice idea bat deskribatzen da,
programa bat alderdi desberdinak bereiztea da,
zehazki, bereizi logika edo enpresa-logika web orri bat mantentzeko
ezer egiten duten gauza bezala, beraz
funtzioak deituz eta datu-baseak kontsulta eta antzeko
gertatzen zure HTML artean ez
, baina fitxategiak desberdinetan baizik, eta, hain zuzen ere, fitxategi bat da hau
normalean izeneko duzu controller
eragiketaren atzean garunak da benetan, eta adibide bat ikusiko dugu
une bat besterik ez hau.
>> Kodea duen eredu bat da programazioa
horrela, ez zure datu-base hizketan, Yahoo Ogasun eta antzeko hitz egiten,
eta, ondoren, ez da MVC V, aldiz,
stuff guztiak estetika, fitxategiak benetan eduki lotutako
HTML, agian zure CSS eta antzekoak.
Ideia hemen, argazki hau dioen bezala, controller
fitxategia da, dugu bezain laster ikusiko duzu eta bereziki 7 pset ikusi
munduan hitz egiten du, bere web-nabigatzaile bidez.
Fitxategia lortzen publikoa internet bisita da,
baina controller potentzialki eredu bat hitz egiten da,
den beste bat edo gehiago dauzkaten fitxategiak kodea datuen da,
kodea eta datu-base bezala, eta, ondoren, hitz egiten du
kontroladore bat edo gehiago beste aldiz bezala ezagutzen fitxategiak,
diren web-orri baten estetika, era askotako txantiloiak,
sarrera gisa zenbait datu iraun dezake, baina egunaren amaieran
ikuspegi baten barruan logika bakarrik datu horiek ematea izan behar du,
begizta bat baino gehiago errepikatzean, eta egia esan, zenbait tu
HTML-oinarritutako interpretazio kontratuan edo PDF bat ere antzeko zerbait.
>> Zer da MVC buruzko nice hainbat aldiz duzula
oinarritutako gailu-mota, fitxategi-formatua duzula benetan motaren arabera
nahi erabiltzaileak erakusteko.
Ikus dezagun begirada bat adibide batzuk pixkanaka-pixkanaka, konplexuagoak eta ongi diseinatutako
lehen bertsio 0 hemen hasten.
Dezagun aurrera eta ireki gure MVC direktorioa gaur
izeneko fitxategi bat index.php direktorioa 0.
Oharra super simple eta oso underwhelming web
homepage baten bertsio 0 sort CS50
eta konturatu nola Hitzaldiak link bat dugu, Ikasketa plana esteka bat dugu,
eta jarraitzen dut esteka URL Hitzaldiak oharra
top sortu nahi lectures.php aldatu egingo da.
Ondoren jarraitu dut bada link Aste 1 oharra aldaketak week1.php URL.
Badirudi hemen nahiko simple egitura hierarkikoa izango.
>> Dezagun kanpaia azpian begirada bat nola ezarritako
eta, hain zuzen ere, index.php at I begiratuz gero, nahiko erraza da.
Izan ere, nahiz eta hau PHP izeneko fitxategi bat dut, ez dago benetako programazio-kodea.
Iruzkin bat idatzi dut hemen PHP besterik ez, beraz, erabiltzaileak ez du, azkenean, ikusten da.
Jakina, aurretik bezala, ezer PHP tags arteko
lortzen interpretatu bada ere, iruzkin bat da, eta iruzkin bat interpretatzeko
esan nahi du, besterik gabe botatzen urruntzen egunaren amaieran, eta ez benetan
bidaltzen du nabigatzailea, beraz, hemen dena besterik ez da estetika.
Ireki nuen bada, era berean, lectures.php honetan ere gogor bat besterik ez da kodetuak fitxategia.
Deitu beharreko zerbait gertatzen da. Php,
baina benetan besterik ez. html, eta week1.php, week2.php
era berean, besterik ez dira markaketa dauka, beraz, ez da diseinu hau gabeziak sorta bat.
One, kopiatu / itsatsi, kopuru handi bat da.
Nahiz eta gauza bakarra fitxategiak hauen artean aldatzen Ordenatu gabeko zerrenda da,
li tags, hala ere, I doc mota, HTML, burua,
izenburua, gorputza itxi, itxi HTML eta gehiago
behin-fitxategi bakar batean, horrek esan nahi du, inoiz ez dut nahi bada berregituratu
web orri hau edo restylize joan eta aldatu behar dut
fitxategi horiek eskuz edo masiboa batzuk aurkitu eta ordeztu.
>> Dezagun version 1 hemen diseinu smarter, jada pentsatzen norabidean urrats bat
Horren bidez, gisa per irakurri dugu beraz, sartzen gara batera jolastu ahal
horiek hasiera-oharra lasai dugula hemen
version 1 gune honetako fitxategiak laburpena,
eta hartu dudan neure burua faktorea haren badirudi
orokor batzuk-kodea, header.php eta footer.php.
Beno, dezagun zer duten lehenengo barruan begirada bat.
Header.php itxura ezagutzen,
baina konturatu non ez ebaki get off?
Eskuin line 19 ondoren, dena izan zen komuna da, beraz
fitxategiak index.php, lectures.php
aurreko adibide week1 eta week2.php.
Zer egin nuen kopia eta ebaki guztia fitxategi horiek guztiak izan zen,
jarri goiburu fitxategi ezberdin bat, eta, era berean, footer.php
printzipioa bera aplikatu ez dut horren bidez soilik interesgarria lerro
footer.php bi hauek, gorputza itxi eta itxi HTML.
>> Baina zer gertatzen da, horrek esan nahi du gaur egun, hau da, bertsio berria
oharra index.php zenbat errazagoa lor daiteke.
Ematen, eta pixka bat gehiago críptica begira, apur bat gutxiago intuitiboa
goitik behera jarraitu nahi du, baina nire Jainkoa, erredundantzia hori guztia desagertu da gaur egun.
Literalki deitu behar sortu top PHP funtzio bat erabiliz behar dugu,
Oso gogorarazten da, gogoratzen, # C-en artean, besteak beste mekanismo.
Goialdean header.php behar ditugu.
, Behealdean footer.php behar dugu, eta gauza bakarra da hainbat
edo fitxategi hau berezia den edukia ekarri da bakarra izan da.
Ondoren, esan, sartu lectures.php joan bada, printzipioa bera aplikatzen da.
Berriz ere, batzuk goiko sortu iruzkinak, baina gero goiburua behar dut, behar footer
eta artean bakarrik edukia da benetan aldatu.
Eta Aste 1 eta Aste dugu begiratu 2 ikusiko genuke
printzipioa bera aplikatu izan dira bertan.
Beno, gaude ez oso egin bertan.
>> Dezagun bertsioa 2 begirada, antzeko egitura du,
baina konturatu sartu dut beste zerbait.
Linea 10 sartu dut helpers.php
itxuraz funtzio helper ditu.
Helper funtzio bat da, oro har, nahiko laburrean funtzio bat
idazten duzun laguntzeko hainbat tokitan,
eta utzi zer helpers.php barruan ikus-en.
Kasu honetan, 2 funtzioak dirudienez.
Beste egun Gogoratu gure kubo adibidez
PHP Zure funtzioak zehaztu dezakezu, eta zer egin dut, gaur egun dut
definitu izeneko errendatu orri-oina eta goiburua errendatzeko funtzioak,
argumentu bat hartzen du lehen deitu datuak
horien balio lehenetsia huts bat array da, iradoki han da,
eta benetan egin ahal dugu idatzi hau are gehiago succinctly PHP azken bertsioa
irekita kortxetea esanez, itxi kortxetea.
Hori tamaina 0 array huts bat, baina, hala ere, array bat esan nahi du.
>> Extract funtzioa hau da apur bat berezia
zer egiten da, elkartze-array bat hartzen du bere argumentu gisa
0 edo gehiago gako pare dituzte, eta foo gako bat behar duzu bada
eta bar extract funtzioa balio bat
egoera bat sortzen du horrek gaur egun, line 11,
izeneko $ foo bere balioa bar tokiko aldagai bat behar duzu.
Gakoetan eta balioetan gehiago izan duzu datuak array
era berean, tokiko esparrua dira ateratako
edo izena footer.php eta, beraz, espazio
behera hemen ideia bera da, beraz, header.php
aldagai berri horien sarbidea.
Izan ere, ireki berriro header.php
eta arreta marrazteko orain zer bertsio honetan dirudienez.
>> Baino gogor CS50 kodeketa orri bakar guztietan titulua
nabarituko dinamismoa posible da gaur egun.
Linea 5 izenburua aldagai bat naiz echoing
baina lehen titulua aldagaia pasatuz izeneko htmlspecialchars funtzio bat naiz.
Funtzio baten izena ergelak, luzea da, baina benetan esaten.
Bermatzen du, edozein karaktere bereziak
kate hori gainditu behar bezala ihes HTML.
Hau da, benetan zerbait saihesteko modu bat cross site scripting erasoa izeneko
Horren bidez, norbait maliciously ahal edo nahi gabe
inject beren HTML zure webgunean
formulario batean itsasteko, esate baterako,
zerbait ez zinen oso, batez ere, JavaScript kodea espero,
buruz hitz egiten dugu, aste bat edo bi denbora.
>> Gaur egun header.php honek, ikuspegi bat da
Zentzu uzten dela ikusteko estetikoki datu multzo batzuen edukia.
Baina, zehazki, txantiloi bat da.
Aurreproiektu bat sort da gaur egun, zer nahi dugun orrialde bakoitzean goiburua itxura
baina dinamismoa batzuk izenburua dinamikoki sartu nahi dugu
izenburua aldagai oinarritutako
izan zen ateratako deitzen dugunean, berriro ere,
render goiburua funtzioa.
Orain, render orri-oina begiratu badugu, ez da benetan ez askoz ere eskubide hori erabili
footer.php dinamismoa ez dago inolako delako.
Bertan, izan liteke, baina une honetan, 2 tags zerrenda kodetua gogorra da,
baina ideia bera aplikatzen zaie, eta, beraz, zergatik benetan iradokitzen
denbora alferrik ez gara bat render goiburua eta render footer funtzioa izatea?
Ordez joan me now bertsioa 3 sartu,
eta 3 helpers bertsioa erabaki nuen, are gehiago errazteko.
>> Demagun me bat render funtzioa.
Argumentua beste hartu dit, baina oraingo honetan izeneko txantiloia
hori ekarri txantiloi baten izena izango da,
eta ondoren kateatu presumptuously egingo dut. php aldagai horren balioa
eta, ondoren, badago, bar.php edo header.php foo.php eta footer.php bada,
ondoren, aurrera joan eta aldakorra datuak atera ditut
eta ondoren, bide hori eskatzen.
Beste era batera esanda, hau erabiltzeko, orain, ireki dut bada index.php
nabarituko ez ez dut deitu render goiburu gehiago.
Deitu besterik ez dut errendatu, baina pasatzen goiburua balio bat quoted I
argi utzi txantiloi benetan nahi nuen kargatu.
>> Ondoren, hemen baino gehiago nabarituko zer egiten ari naiz.
Dinamikoki izenburua gako bat pasatzen ari naiz,
bat CS50 balioa, eta hau ere, aurretik ikusi genuen bezala,
egin ahal izango da PHP bertsio azken succinct gehiago
kortxete funtzioak array ordezkatu ahal izango dut,
I proposatzen da, are gehiago irakurgarria eta zalantzarik gabe
pixka bat errazagoa idatzi.
Eta, jakina, render, behealdean dei footer,
ez dugu traba bigarren argumentua pasatuz, elkartze-array ez,
ez dago orri-oina horren barruan dinamikoa delako.
Besterik ez HTML tags itxi da.
Ona, urrats ari gara, benetan gauza garbiketa Hemen bidean,
baina utzi ireki me 2 final adibide.
Ko hau, multzoko 4, aldez aurretik jakinarazi egin ditudan erabaki kontziente bat
Adibidez, aurreko gainean, azkenik, hierarkia batzuk erabiliz nire fitxategiak hobetzeko.
>> Iragarki laburpen honetan, hau irakurri me sartu dut
direktorio eta txantiloiak direktorio bat
horren edukia sartu nahi dut gauza izango
eta txantiloiak nahi dut, errendatu hurrenez hurren.
Hau da, benetan ari me anal eta gauzak txukun mantentzen saiatzen
mantendu erlazionatutako fitxategiak batera, baina azken emaitza
dugu orain dela apur bat tidier konfigurazioa, baina Orain gogoan izan behar dugu
, adibidez, index.php
fitxategi helpers.php behar dugu
eskatzen dugu includes / helpers.php bidez
baino gehiago besterik ez helpers.php esaten gaur egun benetan delako azpi direktorioa.
Orain, bat alde batera utzita, adibide horiek eta beste batzuk dituzu ikusi
funtzioak behar bezala, behin behar.
Ez da benetan funtzio bat izeneko bere burua, eta izan zuten, apur bat desberdinak portaera.
Hemen behar behin super argi utzi diot, besterik ez dut nahi dituzten
helpers nire proiektua behin.
Baina nago, kontuz ibili naiz bada, eta benetan nire logika bidez behar bezala pentsatzen
nahikoa ere besterik ez da eskatzen sortu top esan beharko
hain luze jo ez neure burua ustekabean fitxategi hori bera behar beste nonbait.
Hain zuzen ere, gauzak egiteko gero erabiltzeko modu apur bat gehiago eraginkorra da
behar behin, txikitu dut besterik behar, beraz.
>> Dezagun urrats bat gehiago.
Azken adibide honek, 5, are garbiagoa karpeta hierarkia bertsioa du.
Ohartu zer egin dut hemen irakurri me bakoitzeko azken bertsioa honetan
da orain nire HTML direktorioa dut, izan dut denbora honetan guztian,
baina han barruan bakarrik index.php, lectures.php da,
week1.php eta week2.php.
Barne hartzen direktorioa HTML direktorioa ondoan bizi,
beraz, anai-arreba gisa maila berean, eta, beraz, hitz egiten.
Beraz, txantiloiak karpeta du.
Gako takeaway hemen sartu dut pixka bat gehiago egitura,
baina funtsezko eginbidea hori bakarrik fitxategiak
web eskuragarria, publikoki addressable izan behar duten
direktorioa HTML publikoa internet URL bat dira.
>> Bien bitartean, beste fitxategiak, helpers.php, footer.php
header.php, dudarik gabe, agian gehiago sentikorrak diren
agian helpers benetan ditu erabiltzaile-izenak eta pasahitzak edo intelektual batzuk
nirea jabetza, funtzionatzen Ez dut munduan ikusi nahi, ustekabean bada ere.
Praktika onak mantentzeko HTML publikoen direktorioa
fitxategiak utzi behar ez duten beren burua publikoak izango.
Guztiak kasu honetan begiratu behar duzu, esate baterako,
HTML direktorioa index.php fitxategia,
nabarituko dugu apur bat gehiago kontuz ibili behar denean, eskatzen
eskatzeko edo fitxategi hau behin.
Lehen egin behar dut .. direktorio gurasoan joan
ondoren ez / / helpers.php
back behera murgiltze buruz zait fitxategia lortzeko.
>> Ondoren, MVC edozein zalantza argitzeko
edo nahiko erraza Enkarnazio kontratuan?
Eta let me egiteko argi pixka bat nahiko zentratu dugu
V hemen, aldiz eta factoring txantiloiak horiek.
Ez dugu benetan bereizten C-tik M besterik ez da oraindik.
Izan ere, benetan M ez hemen da, eta, are gehiago, gure C
controller, ez da benetan asko egiten, baina askoz gehiago lortuko duzu
MVC letrak 2 horiek bi ezagutzen,
edo, hobeto esanda, askoz gehiago ezagutzen duzu C
arazo multzo 7, beraz, ez da hori baino gehiago horizonte MVC.
Zalantzak dituzu?
Inork ez da benetan, hemen.
>> Ados, dezagun para hoy gaia bigarren eta azken mugitzeko.
Hori da datu-base bat ezartzea da.
Up Puntu honetan arte datuak gordetzeko modu batzuk izan dugu.
Erabiltzen dugu aldagai.
Itzuli gure C file, I / O testu-fitxategiak erabiliz eztabaida hasi ginen
eta fitxategiak erabiliz fprintf bezala, eta, ondoren, nahiz eta hasi gara
CSV buruz hitz egiten pixka bat, komaz bereiztutako balioen fitxategiak,
beraz, horiek guztiak esker, datuak gordetzen
bai ez-etengabe edo etengabe.
Hala ere, CSVs ez dira benetan bilatzen aproposa
eta txertatu ezabatzen.
Benetan da bakarrik testu-fitxategi bat ergelak komaz bereizita
lerro lerro lerro lerro, hala bada, nahi duzun
bilatu fitxategi onena egin dezakezu benetan lineal bilaketa.
Fitxategia goialdean hasi behar duzu, gauza osoa irakurtzeko,
eta interes balio batzuk bilatzeko.
Txertatzeko nahi duzun bada, gauza bera egin behar duzu,
gainean toki jakin bat errepikatzean eta txertatzeak
eta hain zuzen ere, logika bilatzeko zuk zeuk egin behar duzu.
>> Ezin duzu egin clever eredua CSV fitxategi batean zuk idazten ezean kodea bat datozen.
CSV fitxategi bat filtrazio ezin duzu
zeure burua ez baduzu idazten kodea.
Ez litzateke polita izango da beste norbaiten ahalegina guztietan jarri
benetan erraza eta erraza txertatzeko bilatzen
eta ezabatzeko eta eguneratzeari eta abar?
Hori da zehazki zer datu-base bat da.
SQL kontsulta, egituratu hizkuntza, beste hizkuntza bat da oraindik
ari gara hemen sartuz gaur egun, baina hori ere nahiko eskuragarria da,
eta benetan zer ari gara egingo besterik ez da pluck da gehien garrantzizko batzuk
duten ezaugarriak, beraz, 7 pset, eta zerbait webean oinarritutako egiten baduzu,
zure azken proiektua, zeure burua adierazteko gaitasuna duzu
datuak kontsultei dagokienez.
Gaitasuna pixka bat gordetzeko edo datu asko duzu
modu bat, askoz ere egituratua izango da egunaren amaieran
zure bizitza errazago SQL adierazteko zeure burua dezakezu
askoz ere gehiago, hain zuzen ere, askoz ere metodikoki ahal izateko
itzuli datu azpimultzo batzuk datu-corpus handiago bat.
>> Datu-base bat egin ahal izango duzu uste, kasu honetan, SQL datu-base bat, benetan, Excel bezalako
edo zenbakiak non kalkulu orri bat da,
edo kalkulu-orri bat baino gehiago, agian, eta kalkulu-orri bat, noski,
errenkadak eta zutabeak ditu, eta hori ere
SQL datu-base erlazionalak dira, erlazionalak, zentzu
gordetzen dituzten datuak mahai horien arabera,
errenkadak eta zutabeak.
Kalkulu orri bat bezala zerbait baino handiagoa eszenikoak dira,
eta kalkulu orri bat da, ondorioz, giza erabili ahal izateko.
Datu-base bat da, ondorioz, programatzailea bat erabili ahal izateko
kodea idazten aurka, eta, beraz, datu-base bat Enkarnazio
komando-lerroan bai izango da.
>> Datu-base erlazionalak ezagunenetako bat daude, berriz, MySQL,
wonderfully free, Oso baxua eszenikoak, eta hori da
Facebook erabiltzen oso goiz eta neurri batean gaur egun
bere datu asko bat gorde nahi du, eta une batean ikusi dugu
nahiko erraza komandoak erabiliz
datu, txertatze-datuak, eguneratu datuak aukeratu ahal izango dugu,
datuak ezabatu eta antzekoak, baina zorionez, ez more user-friendly interface
zuri-beltza eta gonbitean hemen idazten baino.
Pset 7 eta free izeneko tresna bat phpMyAdmin haratago erabili dugu.
Izena da coincidental.
Tresna gertatzen PHP aplikatzen dira,
baina funtsean garrantzirik.
Zer da phpMyAdmin buruzko erabilgarria da web-oinarritutako utility dela.
Dugu aurrez instalatutako tresnaren
eta taulak sor ditzakezu datu-base batean,
datuak sartu ahal izango duzu, datuak ezabatzeko, eta, oro har, ikus
zure datuak nahiko user-ingurumena errespetatzen duten.
Zure erabiltzaile ez dira, phpMyAdmin erabili.
>> Hau da, benetan administrazio-edo developer tresna bat
ikusi eta ikutu zure datuak eta irudikatu nola egituratu,
duzun bezala askoz ere,, Excel edo zenbakiak erabil dezake zuk zeuk,
baina zer gertatzen kanpaia azpian ikusteko modu handi bat izango da joan
beraz, arazo interesgarri konpontzeko dezakezu arreta eta ez hainbeste
arcane komandoak.
Ikus dezagun bat gorde liteke datuak tabularly adibide bat
datu-base bat erlazionalak.
Hona hemen adibidez.
Orain, tamalez, phpMyAdmin modu bota alde erred gehiegi hitz
eta at grafikoak, baina Hone izanez gero bakarrik
ID zutabea, erabiltzaile izena zutabean, eta hash zutabean,
hau da, eraginkortasunez kalkulu orri bat,, baina gertatzen snippet bat izan da
aparatuaren taula baten barruan
fitxategi bat ematen dugu arazo multzo 7.
>> Hain zuzen ere, eman dugu fitxategi bat adierazten du
erabiltzaile baten taula, eta, beraz, kalkulu-orri bat erabiltzaile duten 3 zutabe,
horietako bat berezia da ID 1 abiatu eta handitutako hortik aurrera nahi izatea da.
Bigarren zutabean erabiltzaile-izen bat da, eta dutenek egin Hacker
pset 2 edizio Hacker, horiek erabiltzaile-izenak gutxienez batzuk ezagutzen dezake.
Eskuinaldean On pasahitzak dira, baina ez dira literal pasahitzak.
Egiaztapenekin kontratuan Oraindik dute, bihurtzen da, beraz,
pasahitzak gordetzeko datu-base bat, oso ideia txarra da.
Duzu ziurrenik web batzuk uneren batean irakurri
edo enpresa batzuk datu-basea ari arriskutsua da, eta, ondoren, behar duzun
Zure pasahitza aldatu, itzulketak lortzeko behar duzu, gauza on
txarra lasaia benetan zure kontuan delako hautsi baten ondorioz.
>> Testu pasahitzak gordetzeko, datu-base batean, enkriptatu gabeko
da erabat asinine, eta oraindik asko dibertigarria da
batzuk oso ondo ezagutzen enpresei buruz irakurri ondoren
prentsan horren datu-base batzuetan arriskuan jartzen dira,
eta zati hori ez da dibertigarria, baina datu-base duten Izan ere, enkriptatu gabeko
pasahitzak barregarria da literalki delako kode lerro bat
mehatxu jakin aurka babesteko, eta hori da, zer egin dugu hemen.
Nahiz eta gure little faltsuak CS50 Ogasun bertsioa
pasahitzak enkriptatzeko neurri ona ari gara, eta horrek
pasahitzak horiek guztiak hasten $ 1 $ konbentzio bat besterik ez da.
Bakarrik esan nahi du enkriptatutako edo benetan hashed ari dira,
bat-modu enkriptatze funtzioa bezalakoa da
alderantzikatu Horren bidez, ezin duzu zerbait izeneko MD5 bere ondorioak.
>> Izan ere, 50 hori, eta ondoren esan nahi du gatz balio bat
50 pasahitzak horiek guztiak egiaztapenetan izan ezik erabiltzen zen.
Mine, jakina, bertan ikusi ahal izango duzu, HA,
izan zen beste gatz bat erabiliz, eta, beraz dutenek korapilatuta erori got apur bat sortu
Hacker 2 agian, izan liteke gure ondoren erabiltzen emaitza
besteak baino hash Nire pasahitza bera da, benetan delako
ez dago beste erabiltzaile batzuk.
Izan ere, bada duzun zain aste horiek guztiak jakiteko
pasahitzak horiek ziren hemen pasahitzak ziren desafioa
arazo multzo 2, eta, beraz, none too delikatua edizioa Hacker crack.
Izan ere, malan jharvard bera izan zen,
baina joan badugu ezberdinak begiratu dute.
>> Focus on jharvard en carmesí ziren gazitua ezberdina izan delako.
Algoritmoa modu bat, hori izan zen perturbed
hash balioa, enkriptatutako balio itxura apur bat ezberdinak
input apur bat desberdinak izan ziren delako, baina kanpaia azpian pasahitza
izan zen oraindik ere, azken finean, carmesí.
Orain, honi buruz zaintzen?
Beno, ari gara eskaintzen lagin erabiltzaileek, lagin erabiltzaile-izenak
eta, beraz, euren pasahitzak egiaztapenekin benetan batzuk
bezeroei CS50 Ogasun lortzeko lehenik off lurrean zure kodea.
Taulak gehiago ezartzeko MySQL barruan duzu, datu-basearen barruan.
Kalkulu-orriak sortzeko, modu eraginkorrean duzu, baina emateko bat erabaki genuen
Hasteko, eta ikusiko duzu arazo multzo zehaztapen
ibiltzen da taula hau inportatzean prozesuan zehar
eta, era berean, zer ezaugarri batzuk azaltzeko,
eta ere ikusiko dituzu ematen dizugu kodea
Egiaztapena edo pasahitzak horien enkriptatze kudeatzeko,
beraz, ez da beharrezkoa gehiegi kezkatu MD5 edo antzeko benetan guztiei buruz.
>> Beraz, SQL, egituratutako kontsulta hizkuntza.
Hau da, nahiko besterik gabe, hizkuntza erabiltzen hasteko pset 7 gara
eta, agian, datu-base batzuk datuak eskatu haratago.
Datuak, berriz, gordetako tabularly taula hauek erlazionalak, zutabeak, eta errenkadak
baina delete bezalako sintaxia nahiko sinple batzuk erabiliz,
sartu, eguneratu eta hautatu zehazki egiten dugu.
Datu-basetik ezabatu ahal izango dugu, sartu,
datuak eguneratzeko, baita hautatu, hau da, datu-basetik datuak eskuratu.
Nola egiten ari gara?
Dezagun aurrera me aparatuaren.
Tira me http://localhost
horrek, berriz, toki-tresna bera.
Bere lehenetsitako ezizena.
Eta / phpmyadmin me joan utzi.
Hau gertatzen tresnak URL berezi bat izan da aurrez ulertzeko
berehala galdetzen dit erabiltzaile-izena eta pasahitza.
>> Ohikoa den bezala, jharvard eta carmesí idatzi dut,
baina konturatzen ordenagailuan administratzaile-kontua da.
Besterik ez da kasualitatea ere CS50 Ogasun erregistratutako jharvard.
Jharvard, carmesí Sartu ematen dit erabiltzaile-interfazea dugun ikusi
Duela une bat ohi bat, eta pixka bat jasanezinak lehen,
baina gainerako ziurtatu, inoiz ez zaren estekak gehienak klik tresna honen.
Azkenean duzu super lagungarria azpimultzo txiki bat erabiliz,
lehen datu-base da hemen.
Joaten naiz, bada, datu-base, konturatu naiz galdetuko dut datu-base bat sortzeko.
Berri bat Excel fitxategia sortzean bezalakoa da, modu eraginkorrean.
Aurretik joan eta hitzaldi hau deitu dut, eta besterik ez dut eremuan bertan, jokoa ez.
Datuak ordezkaritza bertan egin ditu,
sortu eta egin klik naiz joan, eta, gaur egun, nabarituko dut sortzen joan ahala
ezkerraldean datu-base ez dio
Hitzaldia laster ikusi egin behar dut datu-basea.
>> Dut ezkerreko aldean, hitzaldi datu-basean bada, egin klik
nabarituko nire fitxak pixka bat aldatu.
Dut egitura, SQL, esportazio, inportazio eta beste gauza batzuk.
Egitura da pretty askoz ere hutsik.
Ez da datu-basean aurkitu mahaiak, dio hemen
beraz taula bat sortu, eta goazen aurrera eta taula bat sortu
gustatzen ikasleek, eta zenbat zutabe nahi dugu?
Demagun hau simple mantentzeko, eta let ikasle bakoitzeko erregistro
NAN zenbakia, izen-abizenak, eta helbide elektroniko bat.
>> Mantentzeko erraza dugu horrela, eta, beraz, 3 zutabe, joan.
Inprimaki duzu hemen ikusten da gaur egun pixka bat messy eta jasanezinak
baina besterik ez dugu bidez joan da errenkada errenkadan, beraz, oso azkar dezagun eman
ID izena datu-base hau identifikatzaile bakarra lehen zutabea.
Zenbaki oso bat izango da. Egia esan, ezin dut ahaztu luzera eta balioak.
Int bat da, 32 bit ez du axola zer idazten hor izango da, eta, beraz, utzi hutsik utzi.
Balio lehenetsia, null nuen, definitu gisa.
Bakarrik utzi dut. Dezagun balio lehenetsiak ez kezkatu.
Dezagun joan baino gehiago eskubidea, atributuak hemen.
Interesgarria da.
Dezagun aurrera eta zertxobait arbitrarioki esan identifikazioak unsigned izan behar du.
Dezagun ez alferrik negatiboa zenbakiak.
>> Goazen 0 eta 4 milioi, eman edo hartu,
eta, ondoren, ez ukitu eremu horiek besterik ez oraindik han,
baina gero idatzi izen me down,
eta, ondoren, beste posta elektronikoa, harrapatzen email da, beraz
eta izena, jakina, ez da zenbaki oso batez, eta, beraz dezagun aldatzeko horiek beste eremu bat.
Bihurtzen da varchar, luzera aldakorreko char,
SQL datu-base batean kate bat bezalakoa da
baina luzera aldakorreko bat, eta benetan esaten aurrerapena
katearen luzera gehienez ere, eta, beraz, apur bat arbitrarioki noa
hitzarmena mota 255 karaktere.
Erabat esan izan nuen 32. 1.000 esan izan dut.
Zuk zeuk erabaki behar duzu mota zure demografia zer den oinarritutako
luzeenak ikaslearen izena eta kopuru hori edo pixka bat handiagoa
baina zer varchar bati buruzko nice ez da alferrik joan
255 ikasle bakoitzaren izena bytes.
Da DAVID ez bada osoa 255 byte erabili nahi du,
baina horrek goiko koadernatuta bat da, beraz, 255 besterik ez dut joan hitzarmena by,
baina gutxiago balio batzuk eztabaidatu genezake, eta helbide elektronikoa
koherentea 255 izan da, baina berriro ere, eztabaida bera izan dugu.
Baina beste gauza bat egin hemen eskuinaldean noa.
>> Zer da datu-base bati buruzko indartsu da lifting heavy asko egin dezake
edo lan konplexua.
Hain zuzen ere, ez dut axola nire ikaslearen ID zenbakiak dira.
Ondorioz, datu-base bat identifikatzaile bakarra izan behar du
dio ikasleari ordezkaritza 32-bit succinct daukat
beraz, bakarrean horiek identifikatzeko modu bat izan dut
2 Davids, esate baterako, klase batean izan kausituko.
Izan ere, hau AI kutxa, auto gehikuntza ikusteko noa,
beraz, datu-basea, MySQL, zifrak out
guztietan sartu berri diren ikasleen ID zer izango da.
Are gehiago, ez dut nire kodea horri buruzko zaintzeko,
eta, gainera, naiz zerbait hautatu indize menuan.
Indizea jaregin behera hemen du lehen, berezia da,
indizea eta testu osoa.
Agian dezakezu asmatzeko gauza horiek pare bat dira,
baina bihurtzen da datu-base erlazionalak
programatzailea edo datu-base administradorearekin lortzeko preemptively
eman aholku zer eremu gisa, datu-base
taula batean txiki berezi bat dira.
>> Esate baterako, kasu honetan ID hori esan nahi dut
lehen indizea, bestela, lehen mailako gakoa gisa ezaguna izango da.
Zer da hau definizioz esan nahi du ID hori da aurrerantzean
okerrik gabe identifikatzeko taula hau ikasleekin parte hartu ahal izango duzu.
Ikaslea No ID bera izango dute dut murriztapen hau edo indize hori inposatu delako.
Gainera, zer da hori niretzat egingo kontatzeko
MySQL ID hori berezia da.
Bereziki zaintzen dut ID buruz, eta, beraz, aurrera eta zure Fancy datuak egitura magikoa egin,
eraikitzeko zuhaitz mota batzuk.
Normalean zerbait izeneko B-zuhaitza, ez genuen aste begiratu ago
baina datu horiek beste egitura espiritua antzekoa da zuhaitz bitarra
eta saiatzen at begiratu dugu, baina esan
eremu honetan, datu-base oso garrantzitsua da dut ziurrenik
nahi da bilatzeko gai izan behar du, aurrera eta eraikitzeko fancy batzuk
datuak memoria egitura bilaketak azkartzeko, beraz, haien
etengabe ari dira edo, gutxienez, hori ahalik eta itxi
beraz, ez du bilaketa lineala devolve, eta hori ez da izango
Ikuspegi gehien altua.
Por el contrario, e-posta helbidea izan zitekeen, lehen mailako gako bat.
>> Teorian, guztion posta helbidea ez da bakarra, kontu batzuk partekatzen ez baduzu,
baina, oro har, ez da ona kate bat bezala zerbait erabili
lehen mailako gako bat balitz bezala delako, bere bizitzaren helburua da bakarrean identifikatzeko
zure taulan lerro ez dago arrazoirik 255 byte erabili Gehienez
bakarrean identifikatzeko norbait kanpoan bazara soilik 4 bytes
edo 32 bit int.
Oro har, lehen mailako gako labur bat eta succinct izan behar du
eta haien handi bat gertatzen int, 64 bits zenbaki oso bat edo antzeko zerbait.
Hala ere, helbide elektroniko bat bakarra izan behar du, eta datu-base baten ezaugarri bat ere
berezitasuna betearazteko da niretzat.
Berezia hautatu hemen ondoan email, email, nahiz eta bera
korritutako off pantailan, esaten dut, datu-base
ez fidatu me.
Ez utzi txertatu datu-basean sartu me
helbide elektroniko bera bi aldiz, nahiz eta ergel bat naiz eta ez nago
oso ona da nire IFS eta bestela, IFS eta oraingo PHP kodea
eta ustekabean utzi dut Erabiltzaileak existitzen den helbide elektroniko bat erregistratu
datu-basea da, oraindik beste defentsa maila zuzentasuna
hori bikoiztua e-posta helbidea ez da azkenean taula ziurtatzeko.
>> Orain, ordea, izena ez ziurrenik zuk ez nahi berezia egiten duten
gero ezin delako inoiz ez 2 Davids edo 2 Mike Smiths, esate baterako,
zure datu-base batean, beraz, bat besterik ez dugu utzi bakarrik.
Aurretik joan eta egin klik eskuineko hondoa at gorde behar dut,
eta dena itxura ona, baina konturatu hemen
honen zati bat da oraingoz ezin izango dugu pasatzeko denbora gehiegi
sintaxia apur konplexu bat delako, eta ez dugu taulak, sortzea
ohi dira, baina SQL bera hizkuntza bat da, guztiak
sintaxia eskubidea da hemen dudan nabarmenduta.
Zer phpMyAdmin benetan ez da zuretzat oinarritutako web-GUI bat sortzen
duten denbora aurreztu ahal izango duzu, eta ez dute eskuz idatzi
horrela SQL kontsulta nahiko luzea.
>> Beste era batera esanda, nahi izanez gero eskuz sortzeko Taula honetan,
bai hori galdetu edo ere, zuri-beltza eta phpMyAdmin
beste fitxa hau erabiliz, SQL fitxa hau non SQL edozein kontsulta dezakezu idatzi
Egia nahi duzu, hau hartu minutu bat izango litzateke me
sintaxia guztia benetan gogoratzen, eta orduan ere seguruenik daukat
egin typos batzuk, eta, beraz, tresna hau oso erabilgarria da horrelako gauzak, eta ere instructive.
Sintaxia zer den infer hasten dezakezu
nice kolore phpMyAdmin hori gehituz kodifikazioa
gure erosotasuna bisuala.
Baina orain egin dezagun ordez.
Joan goiko fitxa txertatze Niri, eta utzi aurrera me, eta, esate baterako, sartu
ID bat esan dezagun, egia esan, ez dut axola.
Auto gehikuntza da. Datu-basearen aurre utzi dut.
Baina David izan dut, eta nire email malan@harvard.edu izan behar du.
>> Dezagun aurrera eta Mike Smith beste bat jarri.
Eman nuen egingo baita, azken izen bat
eta smith@example.com izan dituzte berak dugu izan,
eta, ondoren, nora joan I hurrengo?
Beno, go bezalako botoia sakatu eta voila begira.
2 goiko errenkada txertatuko hasiera.
SQL kontsulta benetako da.
Hori da niretzat exekutatu phpMyAdmin-tresna da,
baina azken emaitza, aldez aurretik jakinarazi, orain badut arakatzeko fitxa joan
2 ilaratan ikus taula honetan, oso gogorarazten estetikoki
taula lehenago ikusi genuen gure erabiltzaileentzat pset 7,
Hauetatik bat David Malan, eta horietatik gaur egun Mike Smith da.
Baina argi eta garbi izan behar du, ez dut phpMyAdmin erabili beharko
eta, hain zuzen ere, laster kodea idazten ari zaren pset 7
errenkadak gehitu, ilarak ezabatu eguneratzea, errenkadak eta atsegin prozesua automatizatzen
beraz SQL fitxa ordez me up Hemen
eta hautatu * mota ikasle non
email = "malan@harvard.edu".
>> Beste era batera esanda suposatzen duzu
HTML inprimaki batzuk, eta bere helbide elektronikoa erabiltzaile motak, eremuak, besteak beste,
Helburua PHP amaiera atzera kodea
benetan bilatzeko erabiltzaile horren xehetasunak beste.
Zein da zure izen-abizenak? Zein da zure NAN zenbakia?
Hau atsegin kontsulta SQL bat idatzi dezakezu, hautatu * ikasleei
non email = "malan@harvard.edu".
Eta gero, egin klik I joan, konturatu behar dut, eta, hain zuzen ere dut, itzuli lerro bat besterik ez.
Mike emaitza multzo hau zehazten ez bada, errenkadak bilduma
deitzen da, oro har, ez zuen ez duelako helbide elektroniko bera me gisa.
>> Orain, berriz, hemen pset 7 phpMyAdmin erabili ahal izango duzu, administrazio-tresna gisa
eta pedagogikoa tresna bat zure bidea ikasteko
SQL munduko inguruan, baina egunaren amaieran
da idazteko kontsulta horiek PHP benetako kode barruan ari zaren,
eta, beraz, egonaldia Zamyla bereziki Bisita gidatua sintonizatuta
, non banaketa kodea tour bat jasoko duzu arazoa multzo honetan
non eman dugu eta ez bakarrik estetika saio hasiera orrira joan
eta nice sexy logo CS50 Ogasun dio, baina dugu ere
zure bizitza pixka bat errazagoa egingo funtzioak sorta bat.
Ere idatzi dugu pset, parte,
zati jakin login, zentzu bat emateko ordezkari diseinua
benetan kontroladore bat erabiltzen du, adibidez, index.php
login.php eta antzekoak, eta, ondoren, pset ere ikusiko txantiloiak direktorio bat duzu
duen zure iritzia guztiak, estetika.
Eta horrela pset 7 workflow orokorra da izango
zure erabiltzailek bisitatzen arakatzaile batean URL baten bidez controller.
Controller PHP kodea idatzi duzun dauka, eta barruan, zure kodea PHP
SQL lerro batzuk egon daiteke komatxo artean habiaratuak
eta funtzio bat gainditu izeneko kontsulta idatzi dugu
duten hitz datu-basea lagunduko dizu zerbait erabiliz atsegin gabe
phpMyAdmin administrazio bezalako tresna bat.
>> PHP kodea adierazpen SQL idatzi ahal izango duzu
eta emaitza multzo PHP array bat,
errenkada kontsulta hori benetan dator.
Eta, era berean, txertatzen edo ezabatzen egiteko gai izango duzu
edo eguneratzeak edo bezala, nahiko antzekoa den sintaxia,
eta online erreferentzia batzuk ikusiko dituzu, banaketa-kodea
eta pack bera pset, zehatz-mehatz nola egiten joan.
Konturatzen ari gara, azken finean, benetan SQL azalera scratching
eta MySQL, baina boterea benetan askatzen dela
arazoak konpondu nahi da, erabilera kasu ezartzea nahi duzu
nahiko askoz kezkatu, gutxienez goiz beharrik gabe,
non eta nola bilatu zure datu-basea eta gordetzeko,
eta, hau da, nahiko literalki Facebook bera lortu bere Irteeran
MySQL erabiliz eta gero gehiago MySQL zerbitzariak eta gero gehiago MySQL zerbitzariak erabiliz
luze arte izan orduan benetan gogor hasteko pentsatzen nola buruz aurretik
denda datuak, gauzak nola gordetzeko are gehiago modu eraginkorrean,
beraz, nahiz eta hartu dugu emandako Izan ere, indize eta berezia mugak
eta abarren funtzionatu elkarrizketa oso interesgarri bat da
horrek guztiak, azkenean du, beraz, konturatzen ari gara, hain zuzen azaleraren scratching
zer izan, azkenean, zuk edo zure proiektu nahiko big datuak pixka bat bihurtu da.
>> Horrekin, esan dezagun amaitzeko, hemen, eta ikusiko dugu datorren astean.
[CS50.TV]