[REPRODUCCIÓ DE MÚSICA] ALLISON Buchholtz-AU: D'acord, tots, benvinguts de nou a la secció. Espero que tothom hagi tingut un gran Cap de setmana de Halloween, o Halloweekend, com m'agrada dir, tot descansat i recuperat. I per sort no està nevant més. En realitat és assolellat fora. Jo estava molt feliç per això. No està llest per arrossegar les meves botes d'hivern. Amb sort, pset6 ha anat bastant bé. Si vostè està cansat de C, estic content dir que hagi acabat amb C per ara. Totalment Hem fet la transició en la programació web, per la qual cosa va a treballar en HTML, PHP, potser una mica de JavaScript. No sé el que la setmana que ve conjunt de processadors és, pel que no pot garantir el que el seu pròxim conjunt de processadors voluntat ser, però conjunt de processadors d'aquesta setmana és CS50 Finances, que és, bàsicament, l'aplicació del tipus de pàgina web que li permet comprar i vendre emmagatzemar i fer un seguiment d'ells. I és bastant cool, perquè tot d'ella es genera dinàmicament. Vostè pot tenir diferents usuaris que cadascú té la seva pròpia informació, i vostè serà la implementació de tot això. Es pren un temps. Definitivament crec que això és més fàcil de C conjunts de processadors, però pren més temps. Estàs aprenent un nou idioma, PHP, que és molt similar a C, però per descomptat que requerirà et permet buscar i entendre la sintaxi com convertir entre les llengües. Però jo no crec que hi hagi res súper conceptualment difícil d'aquest conjunt de processadors. És només l'aprenentatge de la nou idioma i aconseguir a través de totes aquestes petites peces. Si vostès han llegit a través de l'especificació, que és bastant llarg. Crec que aquest és com la 21 pàgines, si no recordo malament. És un llarg spec. Així que si vostè no ha llegit it-- 22. 32. Guau. Així que jo estava fora en un 50% allà. Així, 32 pàgines. Així que és molt de temps. Hi ha un munt de peces, però cap de les peces ha de ser tan dolent. És només un munt. Així que definitivament començar d'hora si és possible, com de costum, però crec que ha de sentir una mica millor que especialment els conjunts de processadors com recuperar i canviar la mida que són només molt difícil d'embolicar el seu cap al voltant. Així que amb això, anem a bussejar en. Jo no tinc la teva agenda llisqui avui, però estem serà parlar de PHP. Vaig a estar donant una mena de curs accelerat en algunes coses que és possible que vulgueu saber sobre PHP. Diferents coses sintaxi, coses a tenir en compte. Estarem parlant una mica sobre SQL. Així les coses molt simples allà, i després també MVC és el Model Vista Controlador, que és la forma en que el seu conjunt de processadors està configurat, de manera que la comprensió de com obres seran molt útils. Bé. Així PHP. Vostès haurien d'haver fet una cosa molt, molt simple amb PHP, que és aquesta cosa de fons aquí, on vostè presentar alguna manera en la dalt aquí que tenia algun nom que d'entrada, i es diria com hola, Ben, o hola, Allison, i seria pop-up. Així que això és realment el que hauria d'haver mirat com del seu conjunt de processadors, en cas que vostès volien saber o no acabava d'entendre. Però tenim aquests signes d'interrogació aquí que indiquen que es tracta de PHP. Envolten, i després htmlspecialcharge, recorda, és només, assegurar-se que estàs fora de perill de qualsevol atac d'injecció boig o si algú tracta de posar caràcters maliciosos bojos en el seu camp de nom, no ho fa desitja el seu servidor o el que sigui. I després, si ens adonem, aquest codi HTML manera tenia un mètode de $ _GET, que, si recordem els nostres superglobals des de PHP, $ _GET, $ _POST, anirem a els d'una mica. Però nosaltres sabem que tenim un nom aquí que correspon al nom que hem presentat. Així que això és només cosa així com el molt simple col·laboració PHP HTML que vostès tenien de conjunt de processadors de sis. Però que en realitat no respondre al que és PHP. Òbviament es tracta d'una llengua, però nosaltres no tenim realment parlat en aquesta secció, així que hi ha una mica més sobre el que PHP és en realitat. Així que PHP és només PHP preprocessador d'hipertext. De fet, és considerada un llenguatge de programació perquè té lògica, mentre que si que recordem parlant d'HTML, cridem a que un llenguatge de marques front un llenguatge de programació HTML, perquè és la modificació de la forma estrictament les coses es veuen a la pàgina. És només la modificació si alguna cosa és audaç, o si es tracta d'una forma, element, o alguna cosa per l'estil. No té cap lògica. No té llaços o condicions. No es pot error de comprovació de coses. Es podria mostrar coses bé d'una certa manera o demanar coses des de l'usuari. Això és tot. Així que amb PHP, el que realment ens permet per fer totes aquestes coses més lògiques, com validar l'entrada o manipular d'alguna manera. Podem combinar-ho amb HTML, com acabem de va veure en l'últim conjunt de processadors i en aquest moment, i que ens permet crear aquestes pàgines web dinàmiques. Així que si vostès ever-- No sé si vostè fos com jo, però a l'escola mitjana ens havien prendre aquesta mena de TI on creem només pàgines web HTML, i ells eren estàtics i feu clic al voltant de a altres coses, però mai van canviar. Amb les dinàmiques, el que puguem fer és, igual que amb CS50 Finances, vostè va a tenir diferents usuaris. Depenent dels usuaris ' preferències, i el que estan comprant o el que estan venent per les seves accions, vostè va a visualitzar diferents coses. Així que si hi ha alguna característica d'identificació per a l'usuari d'utilitzar aquest pàgina web, podem dinàmicament decidir què mostrar per a ells. No és el mateix per a tots i cada un persona, que si tinguéssim HTML, la pàgina seria el mateix per a cada persona que va visitar. PHP ens permet personalitzar les pàgines. I llavors podem posar ja sigui en el mateix arxiu, que, com en el cas abans aquí, vam veure que tenim HTML tots aquí i llavors tenim aquest poc de PHP. Podem fer-ho d'aquesta manera, o amb CS50 Finances, si vostès han mirat a la files-- i hem de tenir temps al pas a través d'un parell junts al final de la qual secció- pot veure com es pot realment mantenir-los separats, que en realitat és una cosa millor que fer. So. Curs intensiu. Totes les coses simples ràpids vostè pot ser que necessiti saber per PHP. Declaració de variables. Aquest blau és una mica molest, però espero que vostès poden veure. Si no, vaig a escriure el al tauler d'guix. Les variables que declaren. Una cosa a dir és que, a diferència de C, PHP és vagament o dinàmicament mecanografiat, el que significa que no és necessari explicar una variable de quin tipus és. Vostè pot simplement dir alguna variable és igual al que li agradaria que, i es decidirà el tipus de aquesta variable en temps d'execució per a vostè. Com veuràs, això pot crear algunes coses molt interessants. Però per a la majoria dels propòsits, que no cal especificar el tipus. Vostè pot, i vostè pot escriure fer les coses com ho fa normalment no veuria si vols obligar-lo a ser un cert tipus, però no ha de fer. No va a cridar a vostè si vostè acaba de declarar una variable i no especificar un tipus per a ella. Així que en cas que no es pot llegir esto-- Jo sé que no és la millor. Vaig pensar que anava a aparèixer el millor-- manera de inicialitzar qualsevol variable és només amb un signe de dòlar, el que vostè vol que sigui la seva denominació, i llavors el que estàs assignant-li. Així que en aquest cas, es tracta d'uns $ var = 3. Així que si alguna vegada utilitzem $ var en algun lloc, ho farà només ser el mateix que posar 3 allà. D'acord? Per tant, qualsevol variable, només signe del dòlar, el que sigui que voleu marcar la variable, i el que vulguis a la igualtat. Poc més fresc. Menys d'escriure per inicialitzar una variable, no? Això té sentit per a tothom? Just diferència sintaxi ràpida entre C i PHP. Les matrius són molt més fresc en PHP. Podem donar-los les claus. Així que la manera de pensar sobre és que, si alguna vegada volgut accedir a un element dins d'una matriu, el que necessitem saber la Índex d'ella, oi? Així que sabem que amb C, ens podria accedir al primer element fent suport de matriu zero, o si vol que el primer element, suport matriu un. I si volíem alguna cosa allà, podríem ha de recórrer, llevat que que en realitat sabíem que l'índex. Una cosa que és realment fresc amb arrays de PHP és que són el que anomenem associatiu. Així que podem associar alguna clau a algun valor, i en realitat estem anant A-- jo et mostraré com podem usar això en un segon. Però, bàsicament, si mai vols per inicialitzar una matriu d'aquesta manera, Té uns $ array. Així que de la mateixa manera, és només alguna variable que estem creant. Això podria ser anomenat qualsevol cosa que volguessis. Això podria ser de $ exemple. Només un altre variable. El que fa que una matriu és el sintaxi suport que tenim aquí. De la mateixa manera que C. normal i ens tenir alguna clau per a algun valor. Així clau1 va a valor1, key2 2 va a valor2. Aquests parells estan separats amb una coma, de la mateixa manera que les matrius normals. No obstant això. Gran. Claus són opcionals. No ha de usar-los. I si no ho fa, llavors és simplement normal. Pregunta? O, oh. AUDIÈNCIA: Bé, sobre la dreta. On és la memòria ve? Pot també ser el mateix com [Inaudible] i de la pila? És això també usant PHP? Com quan els estem vinculant? ALLISON Buchholtz-AU: Amb PHP, No tendim de preocupar-se on el nostre memòria ve. No passem molt temps parlant d'això, així que no és realment res vostè necessita preocupar-se. Així tecles són opcionals. De la mateixa manera, si no ho fa voler fer aquesta associada, el que desitja és una matriu normal on matriu zero és el primer element i la matriu és el segon element, pots fer-ho exactament com ho faria en C. Vostè té alguna variable que serà la matriu, i és igual a aquests suports aquí. Sí. AUDIÈNCIA: Té el mateix punt a la notació. De la mateixa manera, que puc fer com una matriu ++, i que apunta a la segona. ALLISON Buchholtz-AU: Pot fer-- Bé, vostè pot tenir una mica de iterador, i, que vostè pot fer i ++ i fer un gamma d'i de la mateixa manera. Però això és tot. Així que, com en aquest cas, gamma d'1 seria igual a 20. El mateix tipus de notació d'indexació. És a dir, bàsicament, només una cosa implícita aquí, on diu zero, zero a 10, d'1 a 20, 2 a 30. És només claus implícites per això. Quins canvis amb PHP és que ara té el poder reassignar aquestes claus per fer el que desitja. Així que una cosa és aquí. Així que tinc només alguns exemples aquí que jo vaig escriure per a vostès perquè em sento com a exemples sempre ajudar a alguna cosa més que el resum. Així, en aquest cas aquí, tenir una mica de matriu associativa aquest és el meu nom de pila, el meu cognom, i jo estic fent ressò, que és just per a tots els propòsits aquí voleu imprimir a la sortida d'aquí. I diu, a D'acord. Imprimiu el valor que correspon a la matriu en clau Allison. I jo també et puc enviar nois tot aquest codi després de la classe. Així que, quan ens trobem això, ¿què fer vostè pensa que passarà? Què va a imprimir? AUDIÈNCIA: Els seus cognoms. ALLISON Buchholtz-AU: El meu cognom. Ho fa. Just aquí. Imprimeix. Així que si haguéssim de canviar això i ens eren per afegir una altra persona a la nostra pel·lícules-- Així que anem a dir que tenim Emma aquí, i associem la seva última nom-- Anem a veure si em onada aquest dret. AUDIÈNCIA: Sí. ALLISON Buchholtz-AU: Sí. AUDIÈNCIA: Bon treball. ALLISON Buchholtz-AU: Lovely. Així que ara si tenim això aquí i volíem trobar el seu cognom, ho tens aquí. Així que només pot pensar-hi com la substitució d'aquesta clau aquí. No ets més que reemplaçar l'índex. Per tant, li permet només una recerca a través d'un conjunt molt més fàcil. No cal conèixer l'índex. Mentre aquesta clau que vostè està buscant per existeix en algun lloc de la matriu, PHP el trobarà i tornarà el valor associat amb ella. Per tant, li dóna molt més el poder amb les seves matrius. Sí. AUDIÈNCIA: Si té dues tecles de les mateix, se li donarà un error? ALLISON Buchholtz-AU: Es ha de donar un error, sí. Això fa una mica més sentit per a vostès? I de la mateixa manera, tenim una gran varietat aquí que no té cap tecla. També aquesta és una sintaxi que és possible que vulgueu a tenir en compte, perquè vostè ha d'utilitzar això en el seu conjunt de processadors. Cada vegada que vostè està fent una ressò, tens aquestes cites, i cada vegada que vols dir a part d'una matriu, vostè ha de tenir aquests claus al voltant d'ells. És una mica molest, però només has de fer-ho. Així que només una cosa a tenir en compte. Si vostè està funcionant en errors de, Sé que això existeix en el meu arsenal però està llançant errors en mi, tracti de posar els frens al seu voltant i hauria de funcionar. Així que en aquest cas aquí, aquesta és una gamma normal de C que estem acostumats. Té tres, cinc i sis, i només vol imprimir el primer element, de manera que aquest ha d'imprimir 03:00. I jo he corregut tot això, per la qual cosa esperem que res va canviar. Ens veiem a la part inferior aquí, només imprimeix 03:00. Refredar. Això té sentit per a tothom? Les matrius associatives. Molt més fred que les matrius normals. Aquesta és què-- fer David li mostri l'execució de PHP pset6 durant la conferència en absolut? Okay. Així que, et vaig a mostrar. No sé si fos poc el t-- AUDIÈNCIA: Ho va fer la setmana passada. ALLISON Buchholtz-AU: Va ser la setmana passada? AUDIÈNCIA: Sí. ALLISON Buchholtz-AU: Sí. Així Speller es pot fer en com sis línies amb PHP, i part del poder d'aquest és aquesta matriu associativa on que només pot carregar cada paraula en, i ho tens igual a vertader o fals. I així es pot dir, oh. Tornar diccionari en alguna paraula, i si hi és, es tornarà realitat. En cas contrari, no trobarà i que tornarà falsa. Així que una mena de cosa poc freda. Bé. Així que aquestes són les matrius associatives. Són bastant fresc. Realment m'agraden. I òbviament esto-- Ah. Okay. Ara s'està treballant. Potser. Okay. Una altra cosa. Així, amb la igualtat, només un L'interessant a tenir en compte. Amb PHP, ja que s'escriu de forma dinàmica, el tipus pot canviar depenent de quan l'executa, com s'està executant això. En realitat tinc una mica de fred exemples que et vaig a mostrar nois. Però == només comprova per la igualtat després de tipus de malabars. Així que si tens alguna cosa que és com el personatge 1 i el número 1, PHP li deia que aquestes són iguals perquè pot fer malabars amb els tipus de la dos d'ells fins que és igual, que potser per al seu cas està molt bé. Si vostè necessita veure si són la mateix tipus de valor i el mateix tipus, desitja que aquesta ===. I jo no crec que hi hagi cap cas en el qual és necessari utilitzar que en el conjunt de processadors, però per a una gran quantitat de vostès que passarà a fer pàgines web per als seus projectes finals i les coses, és una bona cosa per saber que == i === són diferents, i que és una bona distinció d'entendre. Okay. So. Bucles foreach. Són una forma de recórrer una matriu. Així, igual que els arranjaments es van fer molt més fresc en PHP, la seva manera d'iterar a través d'una matriu, al meu entendre, també es fa molt més fred i molt més potent. Així que en lloc d'haver de crear alguns per a i és igual a 0 i el que sigui, i després actualitzar aquesta i mesura que avança a través de, tenim aquest bucle foreach impressionant. Així que aquí està la Norma General l'estructura d'aquests dos. Així que o bé tenen alguna varietat foreach com el valor que vol repetir com. Així que aquest és el nom de la matriu variable que desitja fer referència, i això és el que vols cridar dins del bucle. D'acord? Així que això correspon a cada element de la matriu, i utilitza aquest valor dins d'aquest bucle. Tinc un exemple. Conec exemples són molt millors. I pel que aquest és si hi ha no hi ha claus, així que això és com Si només tenim un on les claus són els índexs normals per al seu arranjament. O això també és en el cas si vostè no té cap ús per a les claus. Si no es preocupen per les claus i que acaba de vol recórrer amb els valors per a cada un d'aquells en qualsevol ordre, Això està bé. Podeu utilitzar l'estructura. En cas contrari, si hi ha tecles, el nostre $ Valor només canvia a $ valor de la clau. Així que només canvia a un parell de valors clau. I llavors podem referir-nos a $ clau i valor dins del nostre bucle. D'acord? So. Exemple. Que sigui més agradable. Okay. Així que tenim aquest un aquí, que tenim una mica de tracti: Vostè també pot crear una matriu com aquesta per tenir alguna variable igual a matriu amb parèntesis, o simplement pot fer suport. Vostè ha de fer el suport, però aquesta és una altra manera de fer-ho. Així que aquí tenim una mica de varietat de tres elements d'un, dues i tres, i tenim la nostra foreach. Observi aquest correspon a la matriu que estem iterant sobre, i això és el que estem anomenant cada cosa en el nostre arsenal. I tot això està fent és que és voleu imprimir a cada valor. Així que si ho executem, ens adonem que nosaltres tenir valor un, valor de dos, tres valor. I de la mateixa manera que normalment matrius han de ser d'un tipus, matrius no han de tot ser del mateix tipus aquí. Així que ara tenim una mica de int. Tenim dues cordes. Així que les matrius poden aconseguir molt més potent i potser una mica Messier poc, depenent sobre la forma en què desitja veure-ho. Així que podem canviar això al que vulguem. Utilitzem valor. Això és just el estàndard que utilitzem. Però, només és important per saber que podem trucar a això com a comptador si volíem. I sempre que coincideixen, òbviament, tothom és feliç. Si mai voleu executar un PHP executar alguna cosa com aquesta comanda línia vostè sap això aquí, vostè acaba de fer PHP, i llavors qualsevol cosa fitxer que voleu executar. Així que si vostè vol perdre el temps amb PHP, i més de la lògica i vostè realment no necessita veure com en un navegador web, només es pot executar en la línia d'ordres com la i s'imprimirà ressò al que vulguis. Okay. L'altra manera que tenim és així. Així que aquest és un cas en què potser vostè vulgui utilitzar tant la clau i el valor, Sé que aquests són com exemples súper artificials però espero que fan és una mica més clar. Així que aquí tenim una mica de varietat de nou, però aquesta vegada, en lloc de només tenir vostè sap que no hi ha clau. Tenim claus per a cada un d'ells. Així que una serà un, b es corresponen a dos, i c correspon a tres. I en aquest cas, si escrivim d'aquesta manera, tenim accés a dos clau i el valor de cadascuna d'elles. Així que quan ens trobem aquest, tenim cada un d'aquells. Així que imprimeix les claus i els valors corresponents. Una altra cosa interessant és que, i jo sé dit com aquest no tenia claus, però sempre té implícita una clau, perquè si no delega una contrasenya, per descomptat, la seva tecles són només els seus índexs o índexs pel que vam poder sempre també fer aquest. Com aquest. Vaig a imprimir. Així que en aquest cas, si et fixes, tenim les nostres claus implícites de zero, un, i dos aquí. I de la mateixa manera amb aquest, sempre pot dir r com a valor, i només té accés al valor. No es preocupa per la seva tecles, fins i tot si el teu té tecles, si no t'importa ells, no ho fa necessàriament de posar en el seu bucle foreach. Això té sentit per a tothom? AUDIÈNCIA: Pot vostè acaba de trucar a les tecles, també? ALLISON Buchholtz-AU: Sí vostè totalment podria fer això, també. En realitat, esperi. Espereu. seria it-- No. Si desitja que la clau, a continuació, que ha de fer clau per al valor. AUDIÈNCIA: Afegeix valor. ALLISON Buchholtz-AU: Sí. I que mai s'utilitza el valor és tot. AUDIÈNCIA: OK. ALLISON Buchholtz-AU: Si només cal posar una cosa en allà, que suposarà que vostè és parlant sobre el valor, no la clau. Molt bona pregunta. Bé. Refredar. En realitat, espera. Deixa veure el que tinc. Així que abans d'entrar en un lloc i obtenim, jo només vull que li mostri nois una mica sobre la forma en què és dinàmicament mecanografiat, que és una mena de fresc. Tinc tots aquests. Tinc com quatre exemples fins aquí, i jo t'enviaré tot aquest codi després de la classe. Així que aquí tenim alguna variable a. Això és només 1 més 1, ¿no? I anem a imprimir el que és igual a, i llavors tenim algun tipus. I ningú té cap conjectures sobre quin tipus serà? AUDIÈNCIA: Un int. ALLISON Buchholtz-AU: Sí, és un int. Per tant, només els afegeix junts. És un int. Tot bé. Així que aquest proper, tenim el que semblen cordes. Quan correm això, pensa, oh. En realitat estàs tractant afegir simplement les coses. Vostè acaba d'aconseguir confós. Així que només vaig a arreglar per a vostè. Vosaltres vau pensar int. Sé que volies dir int. Així que aquesta és una de les maneres que vostè pot veure, PHP té una ment pròpia. Tot i que hem dit de manera explícita, mira, aquests són cadenes. Em refereixo a la cadena un. Però diu, oh, però vostè està tractant de afegir-los, per la qual cosa ha de significar que és un nombre enter. Només confia en mi en això. Per tant, diu que és un nombre enter, i els afegeix com a normal. Així que una mica de fresca si vas per obtenir mandrós amb les seves coses, o si voleu afegir alguna cosa. Una gran cosa és que, si penses en PSet2, cosa que era usuari introdueix, dret, que pensem és un char o una cadena en un primer moment. Ara no hem de explícitament a dir, oh, fan d'est un int. PHP acaba de ser com, oh sí. Sé que volies dir, un int. Ximple vostè. Vostè no dir una cadena. Així que en aquest cas, ara que tenim això, el que Què pensen vostès que va a fer aquí? Comptem amb una cadena i un enter ara. AUDIÈNCIA: És encara un int. ALLISON Buchholtz-AU: És encara un int. I la raó és-- em posaria més exemples, però la diversió d'aquest. La raó per la qual està fent és perquè és com si vostè està tractant d'afegir coses. Així que si vostè està tractant d'afegir coses, vaig a assumir, raonablement, que té alguna cosa raonable que es podria afegir. Jo només vaig a fer que sigui un int, i només anem a afegir que, com de costum. I a continuació, de la mateixa manera, jo pensen vostès entén la idea. També tenim aquest d'aquí, que és només socarrima, i ho fa de la mateixa cosa. És com, que l'usuari ximple. vostè sap que vol un int. AUDIÈNCIA: Si posem una carta, la voluntat que faci el [inaudible] valor o no? ALLISON Buchholtz-AU: Oh, que és una bona pregunta. Anem a veure. No, encara és un int. Així que és una mica boig. Això és només una mica per mostrar PHP de vegades pot comportar-se de irrational-- No totalment irracional, però podria comportar de maneres que vostè realment no espera. Així, en cas de dubte, consulti els tipus de coses. Aquesta funció GetType pot ser molt útil. En general, si vostè està fent qualsevol cosa amb pros o qualsevol operadors matemàtics, que suposarà res raonable és només un int. Per tant, vostè té carbó 1, o un cadena 1, o el reial int 1, que suposarà que. Si voleu encasellar- qualsevol cosa, està en complet pot. Vostè podria fer alguna cosa com Duplicar aquí, crec. I en aquest cas, que va a dir, oh. Vaig a fer d'això una doble perquè vostè ha dit explícitament que és un doble. Vostè pot sempre explícitament fer PHP fer alguna cosa, però. AUDIÈNCIA: Esperi, per què és un plus 1 allà? ALLISON Buchholtz-AU: Oh. Ja està. Era només un ressò. Aquest va ser culpa meva. Així, es pot dir de forma explícita a fer alguna cosa de cert tipus, però la major part del temps, es va a decidir dinàmicament que en temps d'execució. Així que seguirà endavant a través de i que serà com, OK. El que fa que la major part sentit que es tracta? En cas que en realitat ser una cadena? ¿Ha de ser un int? ¿Ha de ser un flotador? ¿Ha de ser un doble? I decidirà per vostè. Vostè pot obligar-lo a fer el que vol, però- AUDIÈNCIA: Això ho fa més lent? ALLISON Buchholtz-AU: Bé, Vull dir, C és molt eficient. Crec que és definitivament més lent perquè s'ha del procés sigui el que va. C, estic gairebé segur que és més ràpid. Però, òbviament, hi ha una moltes coses interessants a aquí que nosaltres no hem de preocupar-nos. Per tant, si estem buscant a través d'una matriu, que no han de crear en realitat algunes de recerca a través de la matriu. Només podem demanar la clau i PHP es farà càrrec d'ella. Refredar. Impressionant. Sembla que al final dels meus exemples. Vostès mai van oblidar que ara. Seràs com, oh, PHP és només com la mare que com no, no, no. Jo sé el que vols dir. Jo sé el que vols. Okay. Així que això és, amb sort, útil per al seu conjunt de processadors, si més no en el principi, perquè vostè és tot sobre com tractar amb les formes i les coses des de l'usuari. Així que hi ha dues formes en què ens passar al voltant d'informació amb PHP i HTML quan estem passant entre aquestes dues coses. Així que tenim $ _GET, que es passa a través de la URL, i tenim $ _POST, que passa en el missatge cos, i pel que considerem que és ocult. Però una cosa a entendre és que cap d'aquests es consideren segurs. Si tens algú que és interceptar els missatges que van d'anada i tornada entre vostè i el servidor, encara poden obtenir aquestes dades. Només han de mirar una mica més difícil. No és realment que-- és simplement amagat de la URL. Encara està en el cos del missatge, però, pel que si tenen accés a això, no deixa de ser com-- És com la diferència entre una cosa sent escrit a l'exterior de un ésser sobre i una mica escrit en un tros de paper a l'interior. No és tan difícil d'obrir el sobre i obtenir el tros de paper a l'interior. Per descomptat, seria molt més fàcil acabo de llegir l'exterior. Però així és com es pot tipus de pensar d'ells. Cap d'aquests són realment considerat segur. D'acord? Per descomptat, en realitat no importar per al seu conjunt de processadors perquè no s'està tractant amb els secrets comercials, però és típicament 1 El que realment agradaria destacar perquè la gent pensar, oh, bé, és ocult. Ha de ser súper segur. No No és segur. És només una mica menys insegur, suposo. O no segur. Així que en realitat tenim un exemple. Com vostès saben, m'encanta ensenyar més amb exemples. Sento que això ajuda a millorar. Per tant, tenim una certa forma senzilla aquí que en realitat, si vostès estan sempre confós sobre PHP, això és realment petita, però és en realitat php.net molt bona documentació. M'agrada molt. Jo estava fent servir per preparar aquest secció, així que potser veterinari per a vostè. Aquest és un exemple d'ells sobre com $ _POST i $ _GET treball. L'única diferència entre els dos d'aquests, a més, on la informació és apareix, ja sigui a la URL o en el cos, és també el que el mètode és. Així que en la seva forma de HTML-- Aquest és una forma molt simple d'HTML. Pot algú dir-me el que fa? AUDIÈNCIA: Pregunti pel seu nom i edat. ALLISON Buchholtz-AU: Exactament. Així que tenim algunes accions de formulari. Que ens permet saber que és algun tipus acte. ¿I què passarà és a dir, quan colpegem Presentar, que va a cridar action.php, que és el que és això, i que va a cridar amb un mètode de $ _POST. Així que en aquest cas, la seva la informació està oculta. i és només el seu nom, alguns tipus d'entrada anomenat nom, una edat, input type = "text" que també anomenem edat. I després, si colpegem Presentar, Presentar dirà action.php. Per això, quan en realitat premi enviar, ens saber que s'ha publicat, per se, i que en realitat veurem això en el seu estableix problema que espero que anem a arribar a caminar a través d'una mica. I tot el que s'està fent aquí és la POST és alguna variable superglobal que hem parlat durant la conferència. I com es pot pensar al voltant de $ _POST és que és només una matriu associativa. D'acord? Així que això és alguna clau, aquesta és alguna clau, i el que sigui l'entrada de l'usuari es converteix en una valor per a cada un d'aquells. D'acord? Així que si haguéssim de escriure el que aquesta matriu realment semblava just després que enviat el formulari, ho faríem tenen, aquesta és la nostra $ _POST, i una mica de varietat en el qual tenim un nom. Diguem que farem el meu nom, i llavors tenim una edat, 21. Woo. Així que tot això és $ _POST és. $ _POST és només una matriu associativa, d'acord? Només diu, a D'acord. ¿Quines són les coses que hem demanat l'usuari? ¿Quines són les variables que estem passant al voltant que hem demanat en aquesta forma? I llavors, què són els valors associats amb això? Així que en aquest cas, si me'l va presentar amb un nom d'aliat i una edat de 21 anys, això és el que $ _POST sembla. D'acord? I això és el que aquesta Arxiu PHP té accés. Bé? Així que en aquest cas, això és com aconseguir qualsevol altra cosa de la nostra matriu. En lloc d'un índex a la nostra matriu, tenim alguna clau. Així que això va a donar em el valor al nom de la clau. Així que això serà aliat, i aquest dret aquí em va a donar el valor en $ _POST on el clau és l'edat, que serà el 21. Vostè va a estar fent això una mica. Sí, de la qual parteix? AUDIÈNCIA: Quan eres apuntant a la part inferior. ALLISON Buchholtz-AU: Aquesta part inferior? Okay. Per tant, entén que aquest és el nostre HTML formar, i tenim algun mètode $ _POST, que importa. Això també podria ser de $ _GET, però per a aquest propòsit, només direm que és $ _POST. Quan estem sotmesos aquesta manera, aquest és part d'un arxiu PHP que es diu. Així que aquest arxiu PHP ara va a executar tenint en compte la informació del nostre HTML manera. Així que el que està fent és, quan prem Envia al formulari HTML, que t'està passant això superglobal, que és només una matriu associativa. És això. És com passar que a l'arxiu. I el que diu és, OK, aquí hi ha $ _POST. És la seva matriu associativa. Fer amb ella el que vulguis. I que estem dient, OK. Dóna'm el valor en el nom, i em dóna el valor a l'edat. Així que aquestes són només les claus, i aquesta és la nostra matriu. Això té sentit? AUDIÈNCIA: Mhmm. ALLISON Buchholtz-AU: Awesome. AUDIÈNCIA: Si ha de tornar a presentar la forma no s'acaba d'escriure sobre les dades? ALLISON Buchholtz-AU: Sí. Mhmm? AUDIÈNCIA: Per què tens per especificar que es tracta d'un int? ALLISON Buchholtz-AU: En aquest cas, el usuari és només el que va obligar a ser un int. AUDIÈNCIA: OK. ALLISON Buchholtz-AU: No sé si vostè realment necessita que, però per als seus propòsits, van decidir que ells volien que fos un int. Només estan encasellament ella. Potser estan fent servir com a una mica més endavant. Aquest és només un fragment. Sí? AUDIÈNCIA: Què passa si ells escriuen 12, T-W-E-L-V-E, per l'edat? ALLISON Buchholtz-AU: Si tractat d'escriure que com un int? AUDIÈNCIA: Sí. ALLISON Buchholtz-AU: Jo oblidem el que fa. Jo crec que pot tractar de convertir el primer caràcter d'un int, o prendre el valor i convertir , Però se m'oblida exactament el mateix. Sigui una cosa divertida d'escriure un programa i tractar. Fer un parell de línies. Acceptar, de manera que aquest és un dels principals les coses que estaràs fent. Vaig a caminar amb sort a través d'un parell dels arxius del conjunt de processadors amb vostès. Sembla que anem a tenir temps, per la qual cosa podem fer això. Però tu seràs fent un munt de coses com aquest, on estàs passant les coses des d'un formulari HTML en aquesta forma de PHP que després executar un conjunt d'instruccions en les dades que es proporcionen. Això és, literalment, l'essència del seu conjunt de processadors. Sí. AUDIÈNCIA: El type = "submit", que fa que un botó al formulari HTML. Hi ha manera de cridar aquest botó alguna cosa? Així que estaries com name = "submit"? ¿O és que el botó només serà buidar en aquest moment, ja que només li va donar un tipus, no un nom. ALLISON Buchholtz-UA: Crec que és només estarà buit en aquest moment. Sens dubte, ens podem mirar al conjunt de processadors, ja que definitivament estar mirant a la registri tipus de coses. Però sí, definitivament es pot especificar el text que desitgi en el seu botó. Acceptar, per la qual cosa SQL. Quan vostè va a comprar i vendre accions, el que necessita per realitzar un seguiment d'ells. Així que la forma en què farem és que amb SQL, que és només una base de dades. Penseu en això com una taula on que està mantenint tota aquesta informació sobre els seus diferents usuaris. I vostès són en realitat crearà un d'aquests. És molt bo. I només hi ha quatre coses principals que vostè necessita saber per aquest conjunt de processadors, i són l'actualització, per la qual cosa bàsicament actualitzar les dades. Això suposa que ja hi és. Si no hi és, va a copejar amb un error, així que potser vulgueu comprovar. I vostè actualitzar en-- I ha realitat- tinc temps, Vaig a escriure un parell d'aquests. Jo en realitat li donarà nois un parell de la mostra, les comandes SQL complets, perquè aquests són només la principal estimats, però vostè pot unir-se a ells en conjunt. Així que vaig a fer això i vaig a enviar que a vostè amb aquestes notes. Així que si vol actualitzar alguna cosa, que hagi de dir-li que el que estàs actualitzant i on vostè està actualitzant. Així que una ordre SQL típic seria actualització Identificació en el que alguna cosa és igual a alguna cosa. O com direcció de l'actualització on ID és igual a 3, i això seria actualitzar el camp de direcció del seu usuari amb un identificador de tres. D'acord? Així que si vas a SQL i W3Schools, tenen exemples impressionants. De fet, pot ser que tiri alguns fins a una mica. I després inserir en, no ets més que la inserció de certs valors allà. Així que si vostè està tractant de crear una nova entrada, per la qual cosa crearà un nou usuari, vostè podria fer INSERT INTO sigui quina sigui la base de dades es diu, i vostè hauria tots aquests valors. Llavors vostè té seleccioni, seleccionar valors per veure. Així que si vostè està tractant de comprovar que veure si hi ha un usuari, o ets intentant agafar específica informació sobre un usuari vostè va a estar fent servir select. I a continuació, eliminar, crec, és bastant simple allà. No ets més que l'eliminació de una mica de la taula. I, de fet, deixa en realitat sac alguns exemples per a vostès. Oh, mira, és la meva pàgina 61. Així que si anem a W3Schools, esperem que li toca de nou. Sí, m'encanta. Anem a SQL. Per tant, això és una cosa aquí. Per tant, aquest és un molt simple SELECT. Home, m'encanta aquesta funció. Per tant, vostè pot tenir SELECT algun camp dels clients. En aquest cas, els clients es refereix a la base de dades en línia que està utilitzant, així que el que la seva taula es diu, i estrella només vol dir seleccionar tot. Dame cadascun. Així, només vull donar a vostès un parell d'exemples en els quals es tracta. Així que tenim SELECT, UPDATE. Així que aquí és una espècie de la sintaxi general. Així ACTUALITZAR, sigui quina sigui la nom de la taula és, i després SET és on en realitat està passant a ser el que les dades que està canviant. Així que això podria ser: Let em faig un exemple aquí. Així que això serà: Okay. Així que he creat una mica de base de dades per a nosaltres. Anem a tenir una mica d'Identificació, alguns anys, i alguns amb nom. Així Identificació un va a ser l'any '15, i només anem a fer-ho jo. Qui vol ser el segon persona a la nostra taula? Qualsevol persona. Jo només vaig a triar Emma perquè ràpid del seu nom. Emma, ​​¿en quin any estàs? AUDIÈNCIA: En quin any? ALLISON Buchholtz-AU: Sí. AUDIÈNCIA: '16. ALLISON Buchholtz-AU: '16. No ets més que serà el meu conillet d'índies per avui. OK, així que tenim aquestes dues persones. En realitat, deixa fer això. Diguem que la vaig sentir malament, i jo en realitat va dir que ella és un any més jove. Ella és '17. El que volem fer aquí, si ens volia actualitzar any d'Emma que és correcta utilitzant que, el que havia fer és diríem dades d'actualització aquí. I tot això pot estar en una línia, però ja que estic comprimit per a l'espai aquí, Vaig a escriure aquí. I volem establir. Així que aquesta és la taula que estem actualitzant. SET serà el que la columna o quines dades estem realment canviant. El que estem canviant és l'any, de manera que direm SET any = 16, i llavors, on ens diu que l'usuari o quina fila estem actualitzant aquesta realitat. Llavors, ¿on? Tenim dues opcions aquí. Quins són els dos? Aquests són únics, oi? Així que els nostres noms són únics i la nostra identificació és única, ¿Quines són les dues opcions per on podríem fer això? Et vaig a donar un. Podríem fer on id = 2, o podríem fer el si anem fora d'aquest paradigma aquí. AUDIÈNCIA: [inaudible]. ALLISON Buchholtz-AU: Exactament. Així també podríem fer name = Emma. I qualsevol d'ells anava a funcionar. I ens trobem amb això, seria com, OK. Anem a canviar això. Vostè és en realitat 16, per la qual cosa ara que tens raó una altra vegada. Acceptar, de manera que aquesta seria super útil en el seu conjunt de processadors on potser algú va decidir per comprar 100 accions d'Apple, i després eren com, és broma. Jo només vull 90 accions. I pel que venen 10 d'ells, de manera que que hagi d'actualitzar la suma de les reserves que tenen. Per tant, l'actualització de les reserves, l'actualització de la taula. Okay. Així que això és un exemple allà. Aquesta és la sintaxi d'actualització. ESBORRAR. Oh. Inserir en és el nostre altre. Per tant, aquest d'aquí és molt similar. Podríem simplement dir, en aquest cas anem a afegir a algú. Podem afegir Ben aquesta vegada. Nosaltres INSERT INTO, i nosaltres vol que el nom de la nostra taula. En aquest cas es tracta de dades. I després només volem, et vas a VALORS diuen, i el que van a fer És a dir, que realment necessita per assegurar-se que que vostè té alguna cosa per a cada fila que desitja. Vostè acaba de posar-los en ordre. Així que en aquest cas, diríem març. Vostè és el 18, a la dreta, Ben? AUDIÈNCIA: 19. ALLISON Buchholtz-AU: 19? AUDIÈNCIA: 19. ALLISON Buchholtz-AU: '19 del teu any? Et vas graduar en '18, no? AUDIÈNCIA: Oh. ALLISON Buchholtz-AU: L'any de la graduació. AUDIÈNCIA: OK. ALLISON Buchholtz-AU: Jo estava com, estàs ja planejant agafar-se un any sabàtic aquí? Així, '18, tenim a Ben. Així que en aquest cas, seria anar a través, crearia una nova entrada aquí. Refredar. No està malament, oi? Molt d'això es va a ser sintaxi per a vostès. Conceptes han de venir, amb sort, amb relativa facilitat. La sintaxi és l'única cosa que pot ser una mica difícil. I llavors la nostra última és ESBORRAR, i com t'adones, Recomano altament aquest lloc web. És genial. Hi ha un munt de coses. Així, de la mateixa manera que teníem alguns UPDATE, DELETE és molt similar. En el seu lloc hem Eliminar de Dades. Així que en aquest cas, el nostre últim un que vaig a escriure aquí baix. Diguem que volíem per a mi esborrar. No puc escriure avui. Eliminar en el que sigui taula en què estem, les dades. I en realitat hi ha tres maneres podríem triar a mi eliminar. Poden vostès dir-me el que els tres formes són, com es podrien esborrar mi? ID és igual a 1, on ID és igual a 1. Podríem fer on l'any és igual a 15, o quan el nom és igual a Allison. per descomptat, només hi ha tres maneres diferents, perquè aquests són tots únics. Típicament, a la seva taula, i sobretot en el seu conjunt de processadors, vostè va a establir una de les aquestes columnes siguin únics. És, probablement, serà una mica únic ID nombre, perquè si tener-- realitat, en realitat podria permetre que vostè té dues. No puc recordar si es deixarà vostè té dues de la mateixa cosa. AUDIÈNCIA: Llavors ho faria canviar el seu comportament. ALLISON Buchholtz-AU: No ho faria. Es va a produir un comportament que és inesperat, que realment no es pot predir. Així que sens dubte tindrà una columna a la base de dades que serà únic, i és en general es pot establir de manera que és com un identificador únic, i s'acaba d'actualitzar cada vegada que s'insereix en la taula. Cada vegada que es creï un nou fila, ho farà de forma automàtica incrementar i donar-li una mica d'identificació únic. Així insinuar per a la seva conjunt de processadors. Okay. Així que és SQL. Així que ara anem a parlar de l'última cosa, que enllaça realment molt bé amb el seu conjunt de processadors, si seguiria endavant. Així MVC, model vista controlador. Això és realment només una forma per mantenir les coses organitzades. De la mateixa manera amb C li demanem que nois per crear funcions i coses separades a terme, això és només una manera de separar codi quan vostè està fent desenvolupament web. Pel que fa les coses molt més elegant i simplificat, i això és en realitat la forma que el conjunt de processadors és en realitat configurar, així que si t'agrada o no, vas a aprendre, encara que no creu estàs aprenent ell. I una cosa és, sinó que també li permet fer molt més com una col·laboració d'usuari. Així que quan vaig prendre CS50, vaig fer un lloc web per al meu projecte final, i jo estava com, vaig a manejar el material de base de dades. Vaig a fer de nou coses final, i el meu company de quart que estava prenent amb ell era molt artístic. Ella fa escenografia, i ella volia fer-ho tot bonic. Així que jo sóc com, OK. Vostè pot prendre la cura de tot el material frontal. I la cosa és que, com anem a veure molt aviat, aquest controlador de vista del model que permet separar completament aquest codi tan que jo podia treballar en la implementació de les nostres pàgines, i la informació de la manipulació a les nostres bases de dades, i ella només podia fer les coses força, i els dos estàvem molt contents, perquè nosaltres hem de fer el que tots dos ens volíem i ens no haver de bregar amb l'altre. Així que ens vam passar l'estona junts. Ens agrada passar l'estona. Jo simplement no vull tractar amb tot el CSS i HTML coses. Jo estava com, vostè ho fa bastant. Jo m'encarrego de la base de dades. Així que tenim aquesta realitat fresc, petit gran taula. M'encanten les taules. I bàsicament, el model es pot pensar és només la seva base de dades. Jo era la persona model per al meu projecte. És tot sobre l'emmagatzematge de la informació i l'organització de les dades. Així que és el que ens agrada anomenar de volta final. Així que vostès haurà de bregar amb la base de dades SQL i els arxius de dades. Aquest és el seu model. El seu punt de vista, com pot ser que pensar, espècie que té sentit, és el que el seu usuari veu en realitat. És la interfície d'usuari. És així de front component front. Així que això és el que el meu company de pis ha de treballar tot el temps. Ella era molt feliç. Així que això és tot l'HTML, i hi ha molt poc de PHP. Si vostè està parlant només de el que es mostra a l'usuari, estem parlant d'hipertext. Estem parlant de com es veu. No estem parlant sobre la lògica, o condicions, o el que sigui. Tot això aconsegueix manejat pel controlador, d'acord? Així que s'encarrega de les sol·licituds dels usuaris i obté la informació. Així que una cosa que vostè ha de saber sobre el seu conjunt de processadors és que, segons la seva opinió, tot el que és en realitat informació que mostra mai ha de ser fer les trucades al seu model. Tot això es maneja en el seu controlador. El seu controlador és el que intervenir entre aquests dos. Se li demanarà el model de certa informació. Es pot recórrer en iteració que informació, esbrinar el que realment necessita de és, què fer amb ell, i després passarà a només la informació que necessari a la vista per tu per imprimir fora o mostrar a l'usuari, d'acord? Perquè veiem la vista com qualsevol que sigui l'usuari s'enfronta, per la qual cosa serà molt més fàcil per a ells per esbrinar, oh, si vostè està fent alguns anomenen al seu model i vostè està demanant per a tots els usuaris que comenci amb la lletra A, i que està fent que, segons la seva opinió, qualsevol que pugui veure la seva pàgina web potencialment podria accedir a això. No necessàriament vol això. No vol que la gent vegi més a la base de dades del que haurien d'estar veient. A només les seves preferències específiques. Així que el controlador s'encarrega de tot això. Així que tots els seus arxius .php que ja veurem vostè pot considerar els seus arxius dels controladors. I aquí és on ets Realment serà demanar coses des de la base de dades, i la iteració o manipular segons sigui necessari abans de transmetre-la a a mostrar-la. És un conjunt de processadors realment genial, al meu entendre. Crec que és una mica més com la satisfacció immediata, perquè s'implementa un munt de petites coses petites, i cada cosa ha de treballar pel seu compte. No com, fer tot el i després veure si funciona. Igual que amb el programari on vostè és com, jo ​​sóc realment esperava aquest és dret, perquè si no ho és, hi ha una gran quantitat de posa que podria estar equivocat. Bé. Només m'assegurava que et vaig dir tot el que havia de dir sobre MVC. Sí. Refredar. Així que en CS50 Finances, tenim nostre model, com acabo de dir aquí. Serà MySQL i phpMyAdmin. Definitivament puc tirar dels de dalt de manera que vostès tenen l'oportunitat de veure-ho. Com he dit abans, que la seva SQL base de dades actua com el seu model, i vostè pot enviar el que anomenem les consultes, que són només aquest tipus de coses. Aquests es diuen una consulta. Aquesta és una consulta, on no ets més que demanant a la base de dades per a alguna cosa, o vostè està canviant el seu base de dades d'alguna manera. Això és tot el que és. I ho fa amb la funcions que li hem donat aquí. També pot manipular a mà a través de phpMyAdmin, que definitivament podem fer una ullada a. Vaig a crear una mostra base de dades amb vostès. Okay. Així, el controlador. Així que en aquest cas, si vostè notificació, tot això és PHP. Noti que és una cosa de la seva El més important del seu controlador és que ha de ser en la seva majoria PHP. Si vostè té HTML a seu controlador, no gaire segur del que està passant allà. De la mateixa manera com ja he dit, si administrar a [inaudible] amb HTML, Estic molt interessat. Així que el que tenim aquí és que tens alguna consulta. La consulta és una funció que hem construït per a vostès. És com un embolcall per fer consultes a la base de dades una mica més fàcil. Si no tens això, la sintaxi per en realitat parlar amb la seva base de dades SQL seria diferent, per la qual cosa només subministrar per a vostès. Ens agrada fer la vida més fàcil. Així que en aquest cas, poden vostès digues el que aquesta línia està fent? * SELECT d'alguna taula. AUDIÈNCIA: Seleccioneu tot, des d'aquesta taula. ALLISON Buchholtz-AU: Exactament. Així que està dient, dóna'm tot, des d'aquesta taula. I és emmagatzemar-lo en algun resultat variable. I això, diu, si el resultat no és igual a fals, llavors que fem cadascun d'aquests. Així que si no hi ha res aquí, si el seu de buit de taula o simplement no existeix, que va a tornar false. Així que en aquest cas, només estem fent segur que alguna cosa era en realitat tornat a nosaltres. I llavors aquí, tenim el nostre gran bucle foreach que estem iterant sobre la nostra En conseqüència, i nosaltres estem cridant l'fila, i diem render aquesta plantilla on són les seves dades aquest resultat. D'acord? Així que és només el processament la fila del resultat. En cas contrari, li crida. Per tant, aquest és un exemple del controlador. Com podeu veure, aquest és el només lloc-- Sí, ho sento? AUDIÈNCIA: Per què hi ha un símbol d'unió abans de la fila? ALLISON Buchholtz-AU: Un símbol d'unió abans de la fila. Només estem iterant. Això és també una adreça de-- AUDIÈNCIA: Així és com C de referència. ALLISON Buchholtz-AU: És assegurant-se que vostè és en realitat la modificació de l'original i no una còpia. És de la mateixa manera amb C on estem passant per referència aquí, només per assegurar-se. AUDIÈNCIA: No == en lloc de no = a PHP? ALLISON Buchholtz-AU: No és el ==. AUDIÈNCIA: Com que és igual en C és sol-- ALLISON Buchholtz-AU: És que no és =. Sí, no. No és ==. A causa == en PHP comprova igualtat amb alternança, és cert, però la qualitat extra. Així que, no és == en PHP. És un dels poc diferències de sintaxi. Sí. Així que estem iterant a través de cada fila, i fer, si vostès llegir a través de la seva especificació, és només alguna altra funció que és en realitat va a processar tot l'HTML i mostrar-lo en el seu navegador web per a vostè. Okay. Per tant, ens agrada pensar dels controladors com ho fa servir la lògica de negoci. Com es pot veure aquí, aquí és on som tenint les nostres dades de la taula, estem processant d'alguna manera, i després estem passant fora. Quan fem retre un cert plantilla, alguns plantilla és el nostre punt de vista, i estem passant només les dades que ha de rebre. No totes les dades. Només les dades que volem és arribar. D'acord? Bàsicament les dades després del processament. Així que aquest és el punt de vista, això es la plantilla suma que tenim, i tot això està fent és, vostè pot tenir una mica de PHP en la seva vista. No és com un no de PHP a la vista. Vostè només ha de tenir molt PHP mínima a la vista, i mai ha de ser la consulta a la vista. Vostè mai hauria d'estar parlant a la base de dades a la vista. Aquesta és la gran diferència. Llavors, ¿què està passant aquí és que tenim PHP que està iterant a través de la fila. Així que en aquest cas, des que érem iteració a través de cada fila i fent alguna cosa, això era probablement com una matriu bidimensional on tenim alguna fila que és, en si mateixa, una matriu, perquè estem iterant a través d'ell de nou. I només estem imprimint el nom de la fila, i després acabar amb ella. No ha de necessitar això en el foreach. Mai he vist això abans en realitat. Acabo de fer foreach. OK, així que aquesta és la vista. Anem a veure si som capaços de caminar a través de una mica del seu conjunt de processadors. Tenim 15 minuts, així que estic segur que nois els agradaria que més que acabant més ràpid. Déjame veure si puc parlar d'això. Així que no sé quants de vostès han baixat i tot això, però, però tenim nom aquí, i tenim alguna contrasenya. I, per desgràcia, a la dreta ara la base de dades és buida, pel que en realitat necessitem per crear una base de dades. Bé, això és rar. No esperava això. Els errors tècnics. Les dificultats tècniques. Tenim alguns pset7. Refredar. Així, una cosa que pots fer és, amb 1 query-- crearé una taula. Així que això va a ser el users-- vostè pot fer aquí és, si tenim some-- Realment ara? Okay. Òbviament, jo no estic fent molta calor. Oh. Jo sé per què. Perquè mai he creat els meus taules reals. Així que quan vostè primer comença amb una base de dades, és obvi haurà de decidir quins són els coses que necessita tenir en aquesta llista? Així que si ens anem fora la nostra taula de dades aquí, teníem alguna identificació, que pot simplement quedar-se en un int. I si mirem més d'aquí, hi ha Un bon aspecte que-- índex Així. Si ho fas primària, que farà que sigui el cosa que la seva taula està organitzada per, i també farà que sigui únic. Així que en aquest cas, ho farem primària, i jo vaig a fer que aquest nom, llavors només farem un VARCHAR com de 26 lletres, perquè ¿per què no? I llavors vostè pot anar a Guardar, i després si vostè veu, tenim alguns usuaris aquí. Així que si el que volíem fer una inserim, podríem fer-ho d'aquesta manera, o si volies pràctica amb el seu queries-- Oh noi. No he utilitzat això per sempre. Aprofito l'esquena. Podeu editar aquesta pel seu compte, ja sigui simplement inserint manualment la informació amb alguna cosa com, vostè pot canviar qualsevol d'aquests si volies make-- Per de sobte desfer-se de nom, pot caure, vostè pot fer totes aquestes coses. Si necessita alguna vegada canviar manualment la seva taula, Suggereixo fer-ho en phpMyAdmin front tractant d'esbrinar l'SQL consultes en general. La primera vegada que iniciï el conjunt de processadors, vostè va a haver de treballar aquí, així que acostumar-se a això. I després, quan en realitat es vol per inserir coses al seu table-- Em pregunto on és, perquè there's-- Aquí està. Això és el que jo volia. Així que si vas a SQL, vostè podria veure realment, com veiem aquí, tenim consultes SQL. Així que si el que volíem per seleccionar alguna cosa o si volíem inserir alguna cosa, que podem fer d'inserció en els usuaris, no? Crec que es necessita la barra invertida. Una cosa a saber és, si Alguna vegada estiguis usant aquest, vostè ha d'utilitzar aquests de nou apòstrofs, que solen ser, si estàs en un Mac, just a sobre de la pestanya. Així que una bona cosa per saber. Vostè podria inserir en els usuaris, i tenim els nostres valors, no? Així que tenim valors i els nostres valors en aquest cas només seria, només tenim un ID de manera que podria fer un si volíem. Això és estrany. Okay. Així que això és només com un breu petita cosa amb SQL, però podria ser més útil en realitat mirar a alguns dels arxius aquí. Així que anar a Descàrregues. Oh, no Descàrregues. Així, només un passeig ràpid pel el que hi ha en cadascuna d'aquestes carpetes. Inclou, només tenim coses de configurar el seu navegador, tenim aquestes constants, i tenim aquestes funcions. Si vostè està interessat en algun d'ells, Jo recomano mirar funcions. Un d'ells és súper útil, en realitat és aquest d'aquí, bolcat. Així que si utilitzeu aquest, ho farà realitat només imprimir el que sigui la variable que els agradi a. Així que si vostè està tenint problemes per esbrinar el que aquesta matriu s'assembla, o el que en realitat aquestes dades, com es formata, aquesta és una gran cosa per al seu ús. Especialment quan es té un usuari amb múltiples accions, això serà alguna cosa gran va a utilitzar. A causa de que podria ser formatted-- Sé que almenys per a mi quan ho vaig fer aquest conjunt de processadors, de ser formatat en una forma que no m'esperava bastant. Així que jo estava tractant d'iterar sobre i tractant de manipular-la, però no ho vaig fer realment Entenc el que estava fent. Així que si només ho tira, l'hi farà imprimir per al navegador, i vostè pot veure exactament com es formata. En general hi imprimirem a terme com un matriu amb les seves claus i els seus valors. Per tant, pot ajudar-hi. També pot ajudar a fer Segur que ets en realitat l'acaparament de les dades que que pensaves que eres. Així que si vostè estava com, la meva taula sense dubte diu que hi ha un usuari amb aquesta ID, però quan es va a bolcar el variable, no hi és, és obvi que sap que és on un error serà. Aquesta és una de les millors eines per a la depuració, al meu entendre. I després hi ha un parell altres coses aquí, però en la seva major part, aquest és el que vull cridar la seva atenció, ja que és molt útil. Pública, el que tenim aquí és, és a dir totes les nostres coses CSS. Així CSS, fonts, les nostres imatges, què sé jo. Es tracta de totes les coses que vostè no ha de modificar. Podeu pensar en si aquesta té coses com CSS en les fonts, això seria un model, o una vista o un controlador? AUDIÈNCIA: [inaudible] ALLISON Buchholtz-AU: Seria ser més d'un punt de vista, no? Aquest s'encarrega de tot coses, com es veuen les coses. Així que si obrim aquesta aquí, veiem que tot el que està succeint aquí és que estem rendint alguna cosa. D'acord? Així que això faria molt qualificar com una davant d'ells. Així que això és només prenent alguns, que està trucant a alguns portfolio.php que tenim, i és que passa en el títol i la cartera. I és només la prestació d'això. En realitat, retir el que s'ha dit. Això és un controlador, perquè render, recorda, fa que la vista. Així portfolio.php en aquest cas seria el seu punt de vista. Ho sento, nois. Portfolio.php serà el seu punt de vista, i això ho faria només ser el seu controlador per això. I si fem un cop d'ull a això últim aquí, plantilles, plantilles són tots els seus punts de vista aquí. Així que si ens fixem, òbviament, veiem una gran quantitat d'HTML aquí. Així que aquest és només mostrant que el la pàgina d'inici de sessió ha de ser similar. Vostè notarà que tenim alguns formar grups, tenen present. Heus aquí com vostè decideix què Es mostra allà. Vostè té algun tipus botó = "submit", i llavors vostè té el que vostè vol per mostrar al botó. Així que aquesta és la forma en què li fan aparèixer com el que vostè desitja. I veiem que aquí tenim alguns nom d'usuari, contrasenya alguna, que en realitat ens va colpejar a Enviar, que hi haurà algun lloc, i que publicarà a què? Què és el controlador per a aquest punt de vista? Quan vam arribar a Presentar, el que serà anomenat? Ens coneixem? Està just aquí, així login.php. Una cosa vostès són posarà en pràctica. Així que sempre es pot comptar el que serà anomenat després de colpejar Presentar per aquesta primera línia d'aquí. Què és l'acció de formulari. Quan s'envia el formulari, Quina acció que prenem? Cridem login.php, i nosaltres cridar amb aquest mètode de correus, que té la informació oculta. D'acord? Així que aquest és el seu punt de vista, i llavors, evidentment, si ens vam anar a login.php-- Hem de encara? Sí. Així que com veiem aquí, aquesta té molt més lògica. És tot el nostre PHP aquí. Estem tractant de veure si era $ _GET, si era $ _POST, validant les coses, consulta, totes aquestes coses. Així que aquests són només els tres diferents coses aquí. vostè no ha de canviar les coses. Vostè va a crear coses a la plantilla, possiblement, però pel que fa a HTML o la estil de res d'això va, es pot deixar tan clar o tan intricat com vulgui. Algunes persones es posen realment en ell i fer que alguns llocs web bastant impressionant. Vostè no ha de fer això. Si té temps, és una cosa realment genial. Vostè pot perdre el temps amb CSS i HTML i obtenir una millor sensació per a ella, però no se senten pressionats a. Hi ha molt que pots fer a la part de darrere amb la implementació d'iniciar sessió, i registrar, i totes aquestes coses. Així que espero que això ajuda una mica. És que vostès tenen alguna pregunta sobretot el que hem repassat, qualsevol altre recurs? Definitivament vaig a enviar tots el meu exemple de codi PHP perquè vostès, i llavors no dubti en prendre imatges o el que sigui d'aquest. També és en línia. Vostè sempre pot veure de nou. Així que si això és tot, tothom bé? Sí. AUDIÈNCIA: Només vull per confirmar, quan estem fent de selecció en SQL, la estrella és tot, oi? ALLISON Buchholtz-AU: Sí. AUDIÈNCIA: I llavors, si vostè no té l'estrella, si vostè vol que prengui a partir d'un determinat fila, a continuació, només cal posar el nom de-- ALLISON Buchholtz-AU: El nom de la fila i el que vol desitja que el valor de. AUDIÈNCIA: I després la data. ALLISON Buchholtz-AU: El que sigui que vostè està buscant, sí. De la mateixa manera, si ho fa DELETE * des alguna taula, que va a esborrar tot. Així, * és només una salvatge targeta per a tot. AUDIÈNCIA: OK. ALLISON Buchholtz-AU: Cool. Impressionant. Bé, tenir un gran Dilluns, nois. Ens veiem la setmana que ve. Bona sort en el seu conjunt de processadors.