[Powered by Google Translate] [8 અઠવાડિયું, ચાલુ રાખ્યું] [ડેવિડ જે Malan] [હાર્વર્ડ યુનિવર્સિટી] [આ CS50 છે.] [CS50.TV] આ CS50 છે, તેથી આ 8 અહીં અઠવાડિયું ઓવરને છે. અમે અલબત્ત અગાઉ આ અઠવાડિયે એક ઝંઝાવાત એક બીટ હતી, તેથી હમણાં તે ખરેખર ફક્ત તમે અને મને આ વ્યાખ્યાન હોલમાં, પરંતુ આજે આપણે PHP વિશે અમારી વાતચીત ચાલુ રાખવા માટે અને વેબ પ્રોગ્રામિંગ વિશે વધુ સામાન્ય છે, અને અમે પણ વિચાર દાખલ ડેટાબેઝો એક, ખાસ કરીને MySQL, જે ઘણું લોકપ્રિય છે આ દિવસોમાં કહેવાય છે, તેના તેમજ માપનીયતા કારણ કે તેની મુક્ત અને ઓપન સોર્સ છે, કારણ કે મોટા ભાગ છે. પરંતુ પ્રથમ, જ્યાં અમે બોલ છોડી છેલ્લા સમય પર એક નજર. જણાવ્યું હતું કે અમે ઘણા Frosh IMS ઉદાહરણો જોઈ હતી, અને આ કદરૂપું ફોર્મ હતું કે હું 15 કેટલાક + વર્ષ પહેલા હતું ક્રમમાં કેમ્પસ રજિસ્ટર પર નવા વિદ્યાર્થીઓ લેવાનો દીવાલોની વચ્ચે રમતો માટે વિદ્યાર્થીઓ પાસે વાસ્તવમાં ટ્રેક માટે હવે હોવાના યાર્ડ સમગ્ર Wigglesworth માટે વિના માટે અમુક પ્રોક્ટર બારણું નીચે એક કાગળ ભૌતિક ભાગ સ્લાઇડ. તેના બદલે અમે ઑનલાઇન બધું ખસેડવામાં, પરંતુ કરવા કે અમે ઉપયોગ કરી જરૂરી થોડા ટેકનોલોજી, તેથી, અમે HTML, હાઇપરટેક્સ્ટ માર્કઅપ ભાષા જરૂરી હોય, જે ફરીથી આ માર્કઅપ ભાષા કે જેની સાથે તમે વેબ પૃષ્ઠો માળખાકીય બનાવવાનો છે. સીએસએસ એક બીટ ઉપયોગ કરીને આ દિવસ શૈલી શીટ્સ કેસ્કેડીંગ, જેમાં અમે વેબ પાનાંની stylizations ઉપયોગ સહેજ જુદા વાક્યરચના વાપરી રહ્યા હોય, જ્યારે તે HTML તેની સંરચના અંગે તમામ હતી. અમે પણ એક વેબ પ્રોગ્રામિંગ ભાષા દાખલ કરવાની જરૂર છે. આ કિસ્સામાં, અમે PHP વાપરે છે, અને પડશે PHP અમને પરવાનગી આપે રહ્યું છે ગતિશીલ આઉટપુટ સામગ્રી તેમજ જેવા કાર્યક્રમ વિષયક બાબતો ઇમેઇલ્સ મોકલવાનું છે, નોંધ અમે ગયા સપ્તાહે છોડી પર કેસ હતો. જણાવ્યું હતું કે આ માટે કોડ 2 ભાગો હતી. એક, અમે froshims3.php હતી, અને આ એક તે અંદર એચટીએમએલ ફોર્મ સાથે મોટા ભાગે માર્કઅપ હતી, સીએસએસ એક નાના શૈલી લક્ષણો માં અહીં બીટ જેથી ફોર્મ પોતાને પાનાં પર, પરંતુ તે બહાર કેન્દ્રિત કરવામાં આવશે અમે કેટલાક પ્રતિનિધિ ફોર્મ ઇનપુટ્સ, લખાણ ક્ષેત્રમાં, ચકાસણીબોક્સ હતી, કેટલાક રેડિયો બટનો, એક પસંદ કરો, મેનુ અને submit બટન. અને આ સ્વરૂપ મારફતે, અમે એક ફાઈલ કે જે દેખીતી રીતે register3.php કહેવાય હતી સબમિટ કરો, પોતે જે આ જેવી થોડી કંઈક હતા. હવે, register3.php, સ્મૃતિ માં કોડ સૌથી ઇમેઇલ બધા હતું. તે ફોર્મ કે જે ખાતરી કરવામાં આવી હતી એક માન્યતા ઓફ થોડો કર્યું કે ક્ષેત્રો ખરેખર પૂરી પાડવામાં આવતી હતી કે અપેક્ષા રાખવામાં આવતી હતી. પછી અમે કેટલીક PHP વિધેયો કહેવાય સહેજ નવી વાક્યરચના વાપરી રહ્યા હોય, ભલે તે સી પાસેથી ઉછીના લીધેલા છે આ તીર ઓપરેટર અમને પ્રોગ્રામિંગ પદાર્થ આધારિત કહેવાય કંઈક ઉપયોગ કરવાની મંજૂરી આપે છે. અમે તે કોઈ પણ અહીં વિગતવાર ન જાય, પરંતુ તે હવે ખબર તે વસ્તુઓ સાથે સંકળાયેલ કાર્યો કર્યા એક માર્ગ છે, જે માળખું એક ખાસ પ્રકારના હોય છે, કારણ કે અમે સી માં જોયું હતું પરંતુ હવે, માત્ર વિશ્વાસ પર લઇ કે આ સાચું વાપરવા માટે વાક્યરચના છે જ્યારે આ PHPMailer પુસ્તકાલય જેવા પુસ્તકાલય મદદથી. અને પછી આ ફાઈલ ના અંત સુધીમાં અમે ગતિશીલ ઇમેઇલ પેદા કરી હતી કે મારા jharvard@cs50.net એકાઉન્ટ મોકલવામાં મળ્યો મારા jharvard@cs50.net એકાઉન્ટ છે, અને અમે વપરાશકર્તા તદનુસાર માહિતી આપી કે તેઓ આ રમત માટે રજીસ્ટર કરી હતી. કે ખૂબ ખૂબ છે Frosh IMS સાઇટ શું છે તે તમામ વર્ષ પહેલાં કર્યું જ્યારે હું તેને અમલમાં વિવિધ ભાષા માં મંજૂર, પરંતુ તે તમને કદાચ સત્તા છે કે જે તમને બતાવે છે હવે તમે તમારી જાતે જે માત્ર પ્રોગ્રામ વ્યક્ત કરી શકો છો જેમ કે C ભાષામાં નીચા સ્તરે પણ તે ઘણી ઊંચી કક્ષાએ આ ખૂબ જ વાસ્તવિક ઇમેઇલ જેવા વિશ્વ કાર્યક્રમો ખરેખર ઉકેલવા સાથે કેટલાક વાસ્તવિક વિશ્વમાં સમસ્યાઓ. હવે, અલબત્ત, તેમ છતાં હું આ સ્ક્રિપ્ટ કેટલાક બનાવવા માટે ઉપયોગ jharvard@cs50.net છે, કે જે ખરેખર એક એકાઉન્ટ છે ગતિશીલ ઇમેઇલ્સ કે હું પણ વપરાશ હોય છે, તદ્દન મોકલવા સાવચેત રહો નથી એકાઉન્ટ્સ છે જે ખરેખર છે તમારા પોતાના જ મેઇલ, કદાચ તમને જે વસ્તુઓ જીવનમાં ગરમ ​​પાણી બીટ કરો. સાથે કહ્યું હતું કે, તે હવે દો અલગ સમસ્યા સંપૂર્ણપણે હલ કરવા માટે સંક્રમણ, પ્રતિધારક રાજ્યો છે. હવે, આ શું ખરેખર અર્થ છે? HTTP, આ હાઇપરટેક્સ્ટ ટ્રાન્સફર પ્રોટોકોલ, વાસ્તવમાં પરિસ્થિતિવીહિન પ્રોટોકોલ છે, અને તેનો અર્થ શું છે તે છે જ્યારે તમે Google.com કંઈક ખેંચવાનો અને પછી દાખલ ફટકો સામાન્ય રીતે તમારા બ્રાઉઝર કાંતણ ચિહ્ન કેટલાક પ્રકારની છે કે જે પછીથી છે કેટલાક વેબ પાનું પરિણામો ડાઉનલોડ કરવામાં આવી રહી છે, અને પછી તે થોડો ચિહ્ન સ્પિનિંગ સ્ટોપ્સ, અને તે ખરેખર સૂચવે છે કે જે HTTP સર્વર માટે જોડાણ માટે અમુક પ્રકારના પૂર્ણ થઈ છે અને તે છે. HTTP અર્થમાં નથી, અને તે જાળવવા રહેતી નથી પરિસ્થિતિવીહિન છે એ જ રીતે સ્કાયપે એક સર્વર પર સતત જોડાણ કરે છે અથવા Gchat કરે HTTP સાથે કારણ કે એવી ધારણા છે કે એકવાર તમે વેબ પાનું છે કે જે તે મેળવ્યાં કર્યું છે. હવે, વાસ્તવમાં Facebook અને Google Maps જેવી સાઇટ્સ પર આ દિવસોમાં અને ટ્વિટર જેવા ત્યાં ઘણા બધા dynamism છે જેમાં તે પછી પણ કે ચિહ્ન કાંતણ સ્ટોપ્સ તમે વાસ્તવમાં વધુ અપડેટ્સ મેળવી શકો છો સર્વર, વધુ ટ્વીટ્સ, વધુ Facebook પર સ્થિતિ અપડેટ્સ અને તેના જેવા છે. પરંતુ તેમ છતાં પણ એક તરકીબ કે અમે લગભગ એક અથવા બે સપ્તાહ માં વાત કરશે ને વાપરી રહ્યા છે એજેક્સ જાવાસ્ક્રિપ્ટ કહેવાય ભાષાનો ઉપયોગ તરીકે ઓળખાય છે, પરંતુ દિવસ ઓવરને અંતે, HTTP હજુ પરિસ્થિતિવીહિન. અને હજુ સુધી જો તમે કોઈક એક વપરાશકર્તા વિશે વસ્તુઓ યાદ કરવા માંગો છો તે પછી પણ તેઓ તમારા સર્વર માંથી ડિસ્કનેક્ટ કર્યું PHP તમે આવું એક સાધન પૂરુ કરે છે કારણ કે, આપણે છેલ્લા સમય જોયો, PHP superglobals ધરાવે છે, અને એક superglobal છે, ફરી એક ખાસ વૈશ્વિક ચલ કે વેબ સર્વર દ્વારા અને પોતે PHP દ્વારા તમે સોંપવામાં છે. તમારે કશું કરવું તે કિંમતો મૂકી નથી, અને superglobals તેથી અમે અત્યાર સુધી જોયેલા વચ્ચે વિચાર આવે છે અને પોસ્ટ જે છે જ્યાં ફોર્મ ફીલ્ડ્સ તમારા માટે આપોઆપ મૂકવામાં આવે છે, તેમજ અન્ય એક દંપતી કે અમે હજુ સુધી જોઇ ન હોય. $ _server ની અંદર કેટલાક વિશિષ્ટ સર્વર પર જાતે સંબંધિત ચલો છે. IP સરનામું, પ્રોટોકોલ HTTP, અથવા HTTPS શું તમે ઉપયોગ શું છે, વિનંતી પદ્ધતિ શું તમે નો ઉપયોગ કરો અને તેણે જેમ, તેથી તેમાં કેટલીક રસપ્રદ છે, સર્વર વિશે રસદાર વિગતો, અને હકીકતમાં, ત્યાં માં વપરાશકર્તા તરીકે પણ છે. ત્યાં $ _cookie, કે જે જ્યાં આ વસ્તુઓ કૂકીઝ સ્ટોર કરવામાં આવે છે કહેવાય છે. અમે સમય કૂકીઝ પર આજે પોતાને ખર્ચ કરશે, પરંતુ હવે ખબર છે કે એક કૂકી માત્ર માહિતી એક નાનો ભાગ છે કે જે વેબ સર્વર વેબ બ્રાઉઝર પર રોપણી કરી શકો છો અને તેની રેમ અથવા તેના કમ્પ્યુટરની હાર્ડ ડ્રાઈવ ચાલુ એક વપરાશકર્તા વિશે જાણકારી સંગ્રહવા, ઉદાહરણ તરીકે, તેમના વપરાશકર્તા નામ જેથી તેઓ તેને ટાઇપ દરેક વખતે પ્રવેશ અથવા અમુક નહિં હોય અનન્ય નંબર અથવા તે વપરાશકર્તા માટે ઓળખકર્તા જેથી તમે તેમને વિશે પ્રશ્નો જ પ્રકારના પજવણી ન હોય ભવિષ્યમાં પસંદગીઓ, પરંતુ રસ સૌથી હમણાં $ _session છે. આ superglobal, જે, અન્ય લોકો જેમ, તમે સોંપવામાં આવે છે PHP દ્વારા આપોઆપ જ્યારે તમે PHP આધારિત વેબસાઇટ્સ લખી રહ્યાં જો તમે કંઈપણ કરવા માંગો છો, સ્ટ્રિંગ્સ, પૂર્ણાંકો સ્ટોર કરી શકો છો, ફ્લોટિંગ પોઇન્ટ, મૂલ્યો, એરે, પદાર્થો, ખરેખર જે કંઈ પણ તમે કરવા માંગો છો, તે અને તમે તેને એવી રીતે સંગ્રહવા માટે પરવાનગી આપે છે પણ જો વપરાશકર્તા હવે તમે અને પછી મુલાકાત પાછળ હવે અથવા 5 મિનિટથી માંથી હવે એક મિનિટ આવે છે કારણ કે તેઓ કેટલાક અન્ય કડી પર ક્લિક કરો તે પહેલાં તેમના સમય લાગી PHP ખાતરી કરશે કે ગમે છે કે જે તમને સત્ર superglobal મૂકવા એક મિનિટ અથવા 5 મિનિટ પહેલા હજુ પણ ત્યાં જ્યારે વપરાશકર્તા વળતર કરશે. અને હૂડ નીચે આ superglobal માર્ગ દ્વારા અમલમાં મૂકાયેલ છે તે વસ્તુઓ કૂકીઝ કહેવાય છે, પરંતુ હવે તે માત્ર એક અમૂર્ત છે જેમાં તે એક શોપિંગ કાર્ટ ના કાર્યક્રમ વિષયક સમકક્ષ જેવું છે. તમે ગમે છે, પ્રોગ્રામર, કે મૂકવા superglobal સાહચર્યાત્મક એરે પછી ત્યાં મિનિટ કેટલાક નંબર હશે જ્યાં સુધી તમે તેને કાઢી અથવા સુધી વપરાશકર્તા તેના અથવા તેણીના બ્રાઉઝર એકસાથે સરખેસરખા. ચાલો આ કેવી રીતે વસ્તુ વાસ્તવમાં ઉપયોગ કરવામાં આવે છે એક ઉદાહરણ પર એક નજર. કોડ ઓફ આજના ટુકડાઓ વચ્ચે counter.php ફૂટ અમે નીચેની લીટી હોય છે. આ ફાઇલ શરૂઆતમાં અમે વાદળી ટિપ્પણીઓ, જે હવે માટે uninteresting છે સમૂહ છે. પરંતુ 13 લીટી માં અમે એક નવું વાક્ય છે, session_start, અને તે ખરેખર કરે છે બરાબર શું છે તે કહે છે. તે સત્રો શરૂ થાય છે. તે તમને સક્રિય કરે છે કે જે મોટી superglobal _session $ વાપરવા માટે, અને તે કે સરળ છે. હવે, જો આપણે 16 વાક્ય પર નજર આગળ વધવું, ચાલો બહાર આકૃતિ આ વેબ પાનું શું રહ્યું છે કરવાનો પ્રયાસ કરો. જો (isset ($ _SESSION ["કાઉન્ટર"]) પછી આગળ વધો ગણક ચલ સ્ટોર અને લોઅરકેસ કાઉન્ટર, $ _SESSION ["કાઉન્ટર"]. આ સ્થાનિક કાઉન્ટર કહેવાય ચલ જાહેર કરી રહ્યું છે અંદર જે તે ગમે તે superglobal ની અંદર છે એક નકલ મૂકી છે આ સ્થાન પર સત્ર જેને "કાઉન્ટર." બાકી, દેખીતી રીતે, આ થોડું સ્થાનિક ચલ કાઉન્ટર, 0 થી આરંભ છે. પરંતુ પાછળથી તે પછી થોડા લીટીઓ 26 નોટિસ કે કાઉન્ટર ની સત્ર નકલ, તેના કી, નવી કિંમત સોંપાયેલ છે, જે તેના વર્તમાન કિંમત વત્તા 1 છે. ટૂંકમાં, આ ફાઇલ અપડેટ કરી રહ્યું છે એક કાઉન્ટર કે અંદર સત્ર superglobal ઓફ સંગ્રહિત છે તેને 1 દ્વારા incrementing, પરંતુ તે પ્રથમ અગાઉના કિંમત એક નકલ મેળવે છે તે સ્થાનિક ચલ માં સ્ટોર દ્વારા કાઉન્ટર $ કહેવાય છે, અને પછી નીચે અહીં આપણે શું રહે છે. તે તારણ તે ખૂબ સુંદર છે ફક્ત HTML. આ પાનું તળિયે અમે 37 વાક્ય જુઓ કે હું આ સાઇટ મુલાકાત લીધી વખત કાઉન્ટર નંબર, જેથી ત્યાં થોડા રસપ્રદ સુવિધાઓ અહીં છે. એક, આ સ્પષ્ટપણે ચલ છે, પરંતુ તે માત્ર મૂકી નથી પૂરતો નથી તમારા HTML ની ​​કોર્સ કારણે શરીરમાં કાઉન્ટર $ જો તે તમારા HTML PHP વચ્ચે માત્ર ત્યાં ધારવા કે જે હમણાં જ એચટીએમએલ છે રહ્યું છે. તમે શાબ્દિક $ સ્ક્રીન પર છપાશે કાઉન્ટર કરવા માંગો છો. પરંતુ તેના બદલે PHP સ્થિતિમાં ડ્રોપ દ્વારા વાક્યરચના આ ભાગ સાથે અમે ગતિશીલ કિંમત અહીં દાખલ કરી શકો છો ખૂબ ભાવના આપણે શું છેલ્લા સમય કર્યું હતું માટે સમાન શબ્દમાળાઓ માં કિંમતો દાખલ. હકીકતમાં, આ માત્ર આ કંઈક શાબ્દિક કહેતા માટે લઘુલિપિ નોટેશનમાં છે, (કાઉન્ટર $) પ્રિન્ટ અથવા પણ printf (કાઉન્ટર% s) કંઈક, અથવા તો, જેમ તમે ઑનલાઇન અથવા પાઠ્યપુસ્તકો માં બતાવ્યા થઇ શકે છે, ત્યાં PHP માં કાર્ય પડઘો કહેવાય છે જે આ જ વસ્તુ કરે છે, અને તે બધા માત્ર લાંબા સમય સુધી winded માર્ગો છે કહેતા <=?. આ એક કિસ્સામાં તમે મૂકવામાં જરૂર નથી પ્રશ્ન ચિહ્ન પછી શબ્દ PHP. આ માટે લઘુલિપિ નોટેશનમાં છે, ફરી, અમે શું માત્ર એક ક્ષણ પહેલા જોયું જે કેટલીક કિંમત રિચર્ડના છે. માતાનો જુઓ આ ઓવરને પરિણામ શું ખરેખર છે નહીં. મને અમારા counter.php ફાઇલમાં પર જાઓ, અને અમે જોશો કે ડેવિડ ફક્ત કોડ સાથે ત્યાં રમીને એક ભૂલ કરી. ચાલો સુધારો ગમે તે ઘણું ખરાબ જાય છે, અને ભૂલ ત્યાં લાગે છે, ચાલ્યા 37 વાક્ય પર,. આ પાનાંની ટોચ અનુસાર હું આ સાઇટ 0 વખત મુલાકાત લીધી નથી. વેલ, ચાલો આગળ હવે જાઓ, અને બ્રાઉઝર ની ટોચ પર પર ક્લિક કરો ચિહ્ન, ફરીથી લોડ કરો અને હું ફરીથી લોડ કરો ક્લિક કરો, અને હવે હું આ સાઇટ 1 વખત, 2, 3, 4, 5, 6, 7, 8, મુલાકાત લીધી. અને ખરેખર, જો અમે આ પાનું સ્ત્રોત પર નજર વાસ્તવિક સ્ત્રોત કોડ બદલાતી રહે છે, અને કોઈપણ PHP ની સંપૂર્ણ ગેરહાજરી નોટિસ, અને તે છે કારણ કે PHP કોડ મૂલ્યાંકન અથવા સર્વર બાજુ અર્થઘટન, અને જેથી અર્થ એ થાય કે PHP સ્ક્રિપ્ટ નું આઉટપુટ છે જે આખરે બ્રાઉઝર માટે મોકલવામાં આવે છે, જે આ કિસ્સામાં કેટલાક કાચા HTML અને કેટલાક કાચા લખાણ છે. શું અહીં ચાલી રહ્યું છે? વેલ, કોડ ઓફ પ્રમાણમાં થોડા લીટીઓ સાથે હું સ્ટોર કરવા સક્ષમ છું સતત ઘણાબધા સેકંડો દરમિયાન, અથવા જો આપણે પર્યાપ્ત લાંબા સમય સુધી waited, મિનિટ, પણ કલાક, એક રસ્તો કે જે HTTP બનાવે કેટલાક કિંમત stateful લાગે છે છતાં આપણે જાળવી કર્યા છે સર્વર સાથે આ જોડાણ, અને તે માત્ર યાદ છે હું શું તે છેલ્લા સમય જણાવ્યું હતું કે, પરંતુ હકીકતમાં ત્યાં જટિલતા સંપૂર્ણ જથ્થો હૂડ નીચે રહ્યું છે કૂકીઝ કે PHP મને આ ભ્રમણા આપે સક્રિય છે સંડોવતા આ શોપિંગ કાર્ટ ઓફ જેવા લક્ષણ. હવે, એક તુચ્છ ઉદાહરણ જ્યાં અમે ફક્ત પૂર્ણાંક સ્ટોર કરી રહ્યાં છો, પરંતુ તે લક્ષણ પાછા આવો મહાન કિંમત હશે જ્યારે અમે વધુ જટિલ પ્રોજેક્ટ વિશે વાત શરૂ કરવા માટે, તેમની વચ્ચે સમસ્યા 7 સુયોજિત કરો. આ તમારા ખૂબ છેલ્લા CS50 માં સુયોજિત સમસ્યા છે. મને ખબર છે, તે આવું ઉદાસી છે, પરંતુ તમને શું છે કે અમે એવા તારણ પર જઈ રહ્યાં છો વાસ્તવમાં સંક્રમણ દ્વારા સત્ર આ ભાગ સી ના સંદર્ભમાં ચોક્કસપણે PHP ની સંદર્ભમાં માટે પરંતુ જ્યારે ખૂબ જ ફંડામેન્ટલ્સ કેટલાક મદદથી અમે વિશે કેટલીક વખત વાત કરી દીધી છે. 7 pset સાથે ઉદ્દેશ CS50 ફાયનાન્સ અમલમાં છે, કે જે તમારી યાહૂ ફાયનાન્સ અથવા Google ફાઇનાન્સ પોતાની આવૃત્તિ છે અથવા તો Etrade.com જેમાં તમને કરવાની ક્ષમતા હોય છે અપ આપવામાં ચિહ્નો સ્ટોક કિંમતો જુઓ, પણ તેનાથી વધુ તમે "ખરીદી" અને "સેલ" શેરોમાં કરવાની ક્ષમતા હોય છે વિવિધ સ્ટોક એક્સચેન્જ પર આ ઘર પાનું તરીકે કારણ કે વેપાર થાય છે અહીં સૂચવે છે, કે જે ખરેખર અંશે જે અમે શરૂ કર્યો છે તમારા માટે સમસ્યા સમૂહ, તમે પ્રવેશ ફોર્મ કે જે વપરાશકર્તા નામ અને પાસવર્ડ માટે પૂછવામાં છે હોય છે. તે submit બટન ધરાવે છે, પરંતુ ત્યાર બાદ, આપણે છેવટે જોશો, ત્યાં છે કંઇ ખરેખર હૂડ નીચે પર હજુ સુધી જવું તે કારણ કે રહે છે માટે તમે નવા વપરાશકર્તાઓ રજીસ્ટર કરવાની ક્ષમતા અમલ કરવા માટે, જે શેરોમાં ખરીદી માટે શેરોમાં વેચાણ ક્ષમતા ખરેખર અપ વર્તમાન સ્ટોક કિંમતો જુઓ. અને ખરેખર, આ વાસ્તવિક દુનિયા શક્ય તેટલી હોય છે કારણ કે અમે કરશે કોડ ઓફ થોડી છે કે તમે એક કાર્ય સાથે પરવાનગી આપશે સમાવેશ થાય છે માટે યાહૂ ફાઇનાન્સ, જે અદ્ભૂત ઉપલબ્ધ મુક્ત માહિતી બનાવે ક્વેરી અપ સ્ટોક સ્ટોક પ્રતીક અથવા ટીકર પ્રતીક પર આધારિત કિંમતો શોધી માટે, અને તમે પાછા દિવસ વર્તમાન શેરની કિંમત મળે છે. આ ચોક્કસ pset માં માહિતી તમે ખરેખર જોઈ રહ્યાં છો હશે વાસ્તવિક વિશ્વમાં લગભગ એવું વિચાર છે કે તમે ખરેખર ઇન્ટરફેસિંગ છો વાસ્તવિક વિશ્વમાં શેર, વાસ્તવિક દુનિયામાં ભાવ સાથે, અને અમે જોઈ શકશે કેટલી મની તમે કદાચ કરી શકો છો તમારી પોતાની સમસ્યા સેટ સાથે રમવાની આગામી કેટલાક દિવસોમાં. પરંતુ ચાલો પ્રથમ કેવી રીતે કંઈક કે જે વધુ ચોક્કસપણે જટિલ છે ડિઝાઇન કરવા માટે મંચ counter.php કરતાં, કે વધુ Frosh IMS ઉદાહરણો આમ અત્યાર સુધી કોઇ કરતાં જટિલ છે, દો અને થોડા paradigms દાખલ અહીં પ્રયાસ કે અમને પરવાનગી આપે છે બંને 7 pset માટે અને કદાચ તમારી અંતિમ પ્રોજેક્ટ માટે જો તમે કંઈક આધારિત વેબ કરવું તમારી કોડ યોજવામાં રાખવા માટે, તમારી જાતને સેન રાખવા માટે, અને સહયોગ તરફ એક પગલું લઇ, જે CS50 અંતિમ પ્રોજેક્ટમાં છે કે શું અથવા જો તમે ભવિષ્યમાં કંઈક કાર્યક્રમ ચાલુ રાખવા બહાર. આ સામાન્ય ડિઝાઇન ફેરફાર છે કોમ્પ્યુટર વિજ્ઞાન અને સોફ્ટવેર વિકાસ વધુ સામાન્ય MVC, મોડેલ દૃશ્ય નિયંત્રક તરીકે ઓળખાય છે, અને આ એક અવિવેકી ટૂંકાક્ષર છે કે જે ખૂબ જ સરસ વિચાર વર્ણવે છે, જે કાર્યક્રમ વિવિધ પાસાઓ અલગ છે, ખાસ અલગ અલગ તર્ક અથવા વેબસાઇટ બિઝનેસ લોજિક રાખવા કે જે કંઇ પણ જેવી વસ્તુઓ સમાવેશ થાય છે, જેથી વિધેયો ફોન અને ડેટાબેઝો પ્રશ્ન અને તેના જેવા તમારા HTML વચ્ચે ન બને છે અલગ ફાઈલોમાં બદલે છે, અને ખરેખર, પરંતુ આ એક ફાઈલ છે ખાસ કરીને કે જે તમે નિયંત્રક તરીકે ઓળખાય છે કે ખરેખર આ કામગીરી પાછળ મગજ, અને અમે તેનું ઉદાહરણ જોશો માત્ર એક ક્ષણ આ છે. ત્યાં એક મોડેલ કે જે કોડ પ્રોગ્રામિંગ છે છે કે તમારા ડેટાબેઝ સાથે વાત, કે યાહૂ ફાયનાન્સ અને તેના જેવા માટે વાત કરે છે, અને પછી ત્યાં MVC માં વી, વિચાર છે, તે સામગ્રી બધી કે સૌંદર્ય શાસ્ત્ર છે, ફાઈલો કે જે વાસ્તવમાં સમાવે સંબંધિત છે તમારા HTML, કદાચ તમારા CSS અને તેના જેવા. અહીં વિચાર, આ ચિત્ર સૂચવે છે કે નિયંત્રક આ ફાઇલ છે, કારણ કે અમે જલ્દી જુઓ અને તમે ખાસ કરીને 7 pset માં જોશો પડશે, કે વિશ્વ તેમની વેબ બ્રાઉઝર્સ દ્વારા માટે વાત કરી. કે જે ફાઈલ કે જે જાહેર ઈન્ટરનેટ પર મુલાકાત લીધી નહીં હોય, પરંતુ નિયંત્રક સંભવિત એક મોડેલ વાતો, જે એક અથવા વધુ અન્ય ફાઈલો છે કે જે માહિતી માટે સંબંધિત કોડ સમાવે છે, કોડ ડેટાબેઝો અને તેના જેવા સંબંધિત છે, અને પછી તે વાતો આ નિયંત્રક એક અથવા વધુ અન્ય દૃશ્યો તરીકે ઓળખાય છે, ફાઇલો જે વેબ પાનાંની સૌંદર્ય શાસ્ત્ર, પ્રકારની નમૂનાઓ છે, કે ઇનપુટ તરીકે અમુક માહિતી લાગી શકે છે, પરંતુ તે દિવસની ઓવરને અંતે એક દૃશ્ય ની અંદર એક માત્ર તર્ક કે માહિતી ના રેન્ડરીંગ હોવો જોઈએ, લૂપ પર વારો અને ખરેખર કેટલીક spitting HTML-આધારિત પ્રસ્તુતિ પીડીએફ જેવા તેના અથવા તો કંઈક. MVC વિશે સરસ તો એ છે કે તમે અલગ અલગ મત હોઈ શકે છે ઉપકરણ પ્રકાર, ફાઈલ કે જે તમે ખરેખર બંધારણમાં પ્રકાર પર આધારિત પર આધારિત વપરાશકર્તા બતાવવા માટે કરવા માંગો છો. ચાલો થોડી ક્રમશઃ વધુ જટિલ અને સારી રીતે કરવામાં ઉદાહરણો પર એક નજર 0 અહીં આવૃત્તિ સાથે પ્રથમ શરૂ કરીને. મને આગળ વધો અને અમારા MVC ડિરેક્ટરીમાં આજે ખુલ્લુ ફાઇલ 0 ડિરેક્ટરીમાં index.php કહેવાય છે. નોંધ આ સુપર સરળ અને ખૂબ underwhelming વેબસાઇટ છે કે CS50 માટે હોમપેજ 0 આવૃત્તિ જેવું છે, નોટિસ અને અમે કેવી રીતે લેક્ચર્સ એક લિંક છે, તો અમે અભ્યાસક્રમ એક લિંક છે, અને જો હું લેક્ચર્સ નોટિસ માટે લિંકને અનુસરો કે URL અપ ટોચ પર lectures.php બદલવા રહ્યું છે. જો હું તે પછી અઠવાડિયું 1 નોટિસ માટે લિંકને અનુસરો કે week1.php માટે URL ફેરફારો. ત્યાં એકદમ સરળ સ્તરવાળું માળખું અહીં લાગે છે. ચાલો આ કેવી રીતે બહાર નાખ્યો છે, ત્યારે હૂડ નીચે ઝડપી નજર, અને ખરેખર, જો હું index.php જોવા તે સારુ સરળ છે. હકીકતમાં, છતાં પણ હું આ PHP ફાઈલ કહેવાય ત્યાં કોઈ વાસ્તવિક પ્રોગ્રામિંગ કોડ છે. ત્યાં એક ટિપ્પણી કે હું PHP અહીં જ લખ્યું વપરાશકર્તા ન અંત તે જોયા નથી છે. અલબત્ત, કંઈપણ તરીકે પહેલાં, કે જે PHP ટૅગ્સ વચ્ચે છે નહીં અર્થઘટન, જો એક ટિપ્પણી છે, અને એક ટિપ્પણી અર્થઘટન ફક્ત અર્થ તે દિવસ ઓવરને અંતે ફેંકી દેવું નથી અને વાસ્તવમાં તે બ્રાઉઝર મોકલી તેથી, અહીં બધું માત્ર સૌંદર્ય શાસ્ત્ર છે. જો હું ખોલવા જ રીતે lectures.php આ પણ માત્ર એક હાર્ડ કોડેડ ફાઇલ છે. તે કંઈક કહી શકાય થાય છે php. પરંતુ તે ખરેખર ફક્ત html, અને week1.php, week2.php. એ જ રીતે માત્ર માર્કઅપ છે, તેથી ત્યાં આ ડિઝાઇનમાં ખામીઓને સમૂહ છે. એક, તે / નકલ પેસ્ટ એક વિશાળ જથ્થો છે. તેમ છતાં માત્ર વસ્તુ કે આ ફાઈલો વચ્ચે બદલાતી છે જે unordered યાદી છે, આ li ટૅગ્સ, હું છતાં દસ્તાવેજ પ્રકાર, એચટીએમએલ, શિર ધરાવતા હોય છે, શીર્ષક, બંધ શરીર બંધ HTML અને વધુ દરેક એક ફાઇલમાં, જેનો અર્થ છે કે જો હું ક્યારેય માંગો છો રિસ્ટ્રકચર માટે આ વેબ પૃષ્ઠ અથવા તે restylize હું જવા અને બદલી છે આ તમામ જાતે અથવા અમુક નક્કર સાથે ફાઈલો શોધવા અને બદલો. ચાલો 1 અહીં આવૃત્તિમાં એક સ્માર્ટ, લાંબા સમય સુધી વિચારવાનો ડિઝાઇન તરફ એક પગલું લઇ તરીકે દીઠ જેમાં મને વાંચવા કે અમે આમ સમાવેશ કર્યા છે કે તમે સાથે સાથે રમી શકે છે આ વધુ ઘર નોટિસ અંતે leisurely કે અમે અહીં છે 1 આવૃત્તિ માં ફાઈલોની આ સાઇટ સારાંશ, અને એવું જણાય છે કે હું તે ભર્યું છે તેના પર મારી જાતને બહાર પરિબળ માટે અમુક સામાન્ય કોડ છે, અને header.php footer.php. વેલ, ચાલો શું છે તે પ્રથમ અંદર પર એક નજર. Header.php પરિચિત લાગે છે, પરંતુ તે મળી જ્યાં નથી કાપી નોટિસ? જમણી 19 લીટી પછી, આથી તે બધું સામાન્ય હતું ફાઈલો index.php, lectures.php છે, week1 અને અગાઉના ઉદાહરણ માંથી week2.php. શું હું કર્યું નકલ અને કટ બધું છે કે તે બધી ફાઈલો માટે સામાન્ય હતી, તે અલગ હેડર ફાઈલ મૂકી છે, અને એ જ રીતે footer.php માં નહોતી હું જ સિદ્ધાંત લાગુ પડે છે જેમાં માત્ર રસપ્રદ રેખાઓ footer.php આ બે, બંધ શરીર અને બંધ HTML છે. પરંતુ હવે એનો અર્થ એ થાય કે શું નવી આવૃત્તિ કે છે index.php નોટિસ કેટલી સરળ છે તે મેળવી શકો છો. મંજૂર, એક વધુ ભેદી બીટ looking, થોડો એક સાહજિક ઓછી માટે ઉપરથી નીચે સુધી અનુસરો, પરંતુ મારા ભગવાન, કે નિરર્થકતા તમામ હવે ગઇ છે. અમે PHP શાબ્દિક કહેવાય અપ ટોચ જરૂર ફંક્શનનો ઉપયોગ કરીને જરૂર પડે છે, જે ખૂબ યાદ અપાવે છે, યાદ, સી ની # પદ્ધતિ સમાવેશ થાય છે. અમે ટોચ પર header.php જરૂર છે. અમે નીચે footer.php જરૂર છે, અને આ એક માત્ર વસ્તુ કે અલગ છે અથવા આ ફાઈલ વિશે ખાસ સામગ્રી કે તે અનન્ય સાબિત છે છે. જો હું પછી કહે છે, માં lectures.php જાઓ, તે જ સિદ્ધાંત લાગુ પડે છે. ફરીથી, ટોચ ઉપર કેટલાક ટિપ્પણીઓ, પરંતુ પછી હું હેડર જરૂર છે, ફૂટર જરૂર છે, અને વચ્ચે તે ફક્ત સામગ્રી છે જે ખરેખર બદલાઈ છે છે. અને જો આપણે 1 અઠવાડિયું અને અઠવાડિયું માં જોવામાં 2 અમે જુઓ છો એક જ સિદ્ધાંત ત્યાં કરવામાં અરજી કરી હતી. વેલ, અમે તદ્દન ત્યાં પૂર્ણ કરી લીધું. ચાલો સંસ્કરણ 2 પર એક નજર, કે જે સમાન માળખું ધરાવે છે લાગી, પરંતુ હવે નોટિસ હું કંઈક બીજું રચના કરી છે. 10 લીટી માં હું helpers.php રચના કરી છે, જે દેખીતી રીતે મદદગાર વિધેયો સમાવે છે. એક મદદગાર કાર્ય સામાન્ય રીતે પ્રમાણમાં ટૂંકા વિધેય છે કે જેને તમે તમને વિવિધ સ્થળોએ બહાર મદદ લખો, દો અને શું helpers.php ની અંદર છે. આ કિસ્સામાં, તેને લાગે છે કે તે 2 કાર્યો ધરાવે છે. અમારા સમઘન ઉદાહરણ સાથે અન્ય દિવસ થી યાદ તમે PHP માં તમારા પોતાના કાર્યો વ્યાખ્યાયિત કરી શકો છો અને હવે હું કર્યું છે શું છે મને કરેલા વ્યાખ્યાયિત ફૂટર રેન્ડર અને હેડર રેન્ડર કહેવાય કાર્યો, જેમાં પ્રથમ એક પરિમાણ લે માહિતી તરીકે ઓળખાય છે, મૂળભૂત જેની કિંમત ખાલી એરે, કારણ કે ત્યાં એવું સૂચન છે, અને અમે ખરેખર આ PHP ની તાજેતરની આવૃત્તિ માં લખી શકે પણ વધુ સંક્ષિપ્તમાં ઓપન ચોરસ કૌંસ કહેતા દ્વારા, ચોરસ કૌંસ બંધ રહ્યો હતો. કે 0 કદ એક ખાલી એરે પરંતુ તેમ છતાં ઝાકઝમાળ થાય છે. આ અર્ક કાર્ય કે થોડો વિશેષ છે તે શું છે તેની દલીલ તરીકે સાહચર્યાત્મક એરે લે છે કે 0 કે તેથી વધુ કી કિંમત જોડીઓને ધરાવે છે, અને જો તમે foo એક કી અને અર્ક કાર્ય બાર ની કિંમત એક એવી પરિસ્થિતી છે જે હવે 11 લાઇન તરીકે, બનાવે છે, તમે એક સ્થાનિક $ foo કિંમત જેની બાર છે કહેવાય ચલ હોય છે. અને, જો તમે માહિતી એરે વધુ કીઓ અને મૂલ્ય ધરાવતા તેવી જ રીતે તેઓ સ્થાનિક અવકાશ માં કાઢવામાં આવશે અથવા નામ જગ્યા છે કે જેથી footer.php અને નીચે અહીં જ વિચાર છે, જેથી header.php તે ચલો વપરાશ હોય છે. હકીકતમાં દો, મને ફરી header.php ખોલવા અને હવે તે શું આ આવૃત્તિમાં જેવું દેખાય ધ્યાન દોરે છે. બદલે હાર્ડ દરેક એક પાનું માટે શીર્ષક તરીકે CS50 કોડિંગ આ dynamism કે શક્ય હવે નોટિસ. 5 રેખા હું શીર્ષક ચલ રિચર્ડના છું, પરંતુ પ્રથમ હું htmlspecialchars કહેવાય કાર્ય કે શીર્ષક ચલ પસાર છું. એક કાર્ય માટે મૂર્ખ નામ, જ્યાં સુધી તે છે, પરંતુ તે ખરેખર કરે તે શું કહે છે. તે ખાતરી કરે છે કે જે કોઈપણ વિશિષ્ટ અક્ષરો શબ્દમાળા કે જે પસાર કરવામાં આવ્યા છે યોગ્ય રીતે HTML ભાગી આવે છે. આ ખરેખર કંઈક અવગણી એક રસ્તો ક્રોસ સાઇટ સ્ક્રિપ્ટિંગ હુમલો કહેવાય છે કોઈને જેમાં કરી શકો છો દ્વેષપૂર્વક અકસ્માતે કે તમારી વેબસાઇટ પર તેમની પોતાની HTML પિચકારીની કેટલાક ફોર્મ પેસ્ટ દ્વારા, ઉદાહરણ તરીકે, કંઈક કે જે તમે તદ્દન ખાસ કરીને JavaScript કોડ નથી, એવી અપેક્ષા હતી, અમે લગભગ એક સપ્તાહ કે બે જ સમય માં વાત કરશે. આ હવે header.php, તે દૃશ્ય છે અર્થમાં કે તે તમારી સૌંદર્યલક્ષી કેટલાક માહિતી સમૂહ સમાવિષ્ટો જોવા માટે પરવાનગી આપે છે માં. પરંતુ વધુ ચોક્કસ રીતે, એક નમૂનો છે. આ એક બ્લ્યુપ્રિન્ટ જેવું હવે આપણે શું દરેક પાનાંની હેડર જેમ દેખાય છે માંગો છો, પરંતુ અમુક dynamism કે અમે શીર્ષક ગતિશીલ કરી શામેલ કરવા માંગો છો છે શીર્ષક ચલ પર આધારિત કે જ્યારે અમે કહેવાય કાઢવામાં આવ્યો ફરી, આ રેન્ડર હેડર કાર્ય કરે છે. હવે, જો આપણે રેન્ડર ફૂટર તપાસ્યા હતા, ત્યાં ખરેખર છે કે અધિકાર ખૂબ ઉપયોગ નથી હવે કારણ કે footer.php ત્યાં કોઈ પ્રકારની dynamism છે. ત્યાં હશે, પરંતુ આ સમયે તે 2 ટૅગ્સ એક હાર્ડ કોડેડ યાદી છે શકે છે, પરંતુ એ જ વિચાર લાગુ કરે છે, કે જેથી ખરેખર શા માટે સૂચવે છે નહોતી અમને સમય બગાડો એ રેન્ડર હેડર અને ફૂટર એક રેન્ડર કાર્ય છે? મને બદલે 3 આવૃત્તિ માં હવે જાઓ, અને મદદગારો માં 3 આવૃત્તિ માં હું તેને વધુ સરળ બનાવવા નક્કી કર્યું. દો મને એક રેન્ડર કાર્ય છે. મને હોય તેને બીજી દલીલ લે છે, અને આ સમય નમૂનો કહેવાય છે, જે એક નમૂનો નું નામ થઈ ગયું છે, અને પછી હું presumptuously કે ચલ કિંમત છે. php એકસાથે જોડવું કરશે, અને પછી જો તે foo.php bar.php, અથવા header.php અને footer.php અસ્તિત્વમાં હોય, પછી હું આગળ જાઓ અને ચલ માહિતી બહાર કાઢવા જાઉં છું અને પછી તે પાથ જરૂરી છે. અન્ય શબ્દોમાં, આ વાપરવા માટે હવે જો હું index.php ખોલવા નોંધ્યું છે કે હું રેન્ડર હેડર હવે નથી કહેતો. મેં હમણાં જ રેન્ડર કહી શકાય, પરંતુ હું હેડર એક નોંધાયેલા કિંમત પાસ તેને સ્પષ્ટ છે કે જે નમૂનો હું ખરેખર લોડ કરવા માંગો છો. પછી ઉપર અહીં નોટિસ હું શું કરી રહ્યો છું. હું ગતિશીલ શીર્ષક એક કી માં પસાર છું, CS50 ની કિંમત, અને આ પણ, કારણ કે અમે પહેલાં થયો હતો, PHP ની તાજેતરની આવૃત્તિ વધુ succinct કરવામાં કરી શકાય છે હું ચોરસ કૌંસ સાથે એરે કાર્ય જ્યાં બદલો કરી શકો છો, જે હું પ્રસ્તાવ પણ વધુ વાંચનીય અને ચોક્કસપણે છે થોડું સરળ લખો. અલબત્ત, તળિયે રેન્ડર ફૂટર કૉલ સાથે, અમે બધા એક બીજી દલીલ પસાર, કોઈ સાહચર્યાત્મક એરે નથી સંતાપ નથી, કારણ કે ત્યાં કશું કે ફૂટર ઓફ ગતિશીલ અંદર છે. તે માત્ર HTML માટે કેટલાક બંધ ટૅગ્સ છે. ગુડ, અમે ખરેખર વસ્તુઓ સાફ અહીં નોંધાયો પગલાં લઇ રહ્યા છીએ, દો પરંતુ મને અપ 2 અંતિમ ઉદાહરણો ખોલો. આ એક, 4 નંબર, નોટિસ કે હું સભાન નિર્ણય કર્યા છે હવે છેવટે મારી ફાઇલો કેટલાક વંશવેલો ઉપયોગ કરીને અગાઉના ઉદાહરણ પર સુધારો કરે છે. નોંધ કરો કે આ સાર માં, આ મને વાંચો, હું પ્રસ્તુત કર્યુ છે એક ડિરેક્ટરી અને નમૂનાઓ ડિરેક્ટરી સમાવે છે જેના સમાવિષ્ટો માટે વસ્તુઓ હું સમાવેશ કરવા માંગો છો પ્રયત્ન જવું છે અને નમૂનાઓ કે હું રેન્ડર, અનુક્રમે કરવા માંગો છો. આ ખરેખર મને ગુદા છે અને વસ્તુઓ વ્યવસ્થિત રાખવા પ્રયાસ કરી, સંબંધિત ફાઈલો સાથે રાખવા, પરંતુ અંતિમ પરિણામ એ છે કે આપણે હવે થોડી tidier સુયોજિત થયેલ હોય, પરંતુ અમે હવે યાદ છે ઉદાહરણ તરીકે, index.php, જ્યારે અમે ફાઇલ helpers.php જરૂર અમે હવે તેને જરૂર મારફતે / helpers.php સમાવેશ થાય છે બદલે માત્ર helpers.php કહેતા કારણ કે હવે તે એક ઉપ ડિરેક્ટરીમાં ખરેખર છે. હવે, એક અલગ તરીકે, તમે આ ઉદાહરણો અને અન્ય કેટલાક માં જોશો જરૂર જેવા કાર્યો, એક વખત જરૂર પડે છે. ત્યાં ખરેખર કોઈ કાર્ય પોતે સમાવેશ થાય છે કહેવાય છે, અને તેઓ બધા થોડા અલગ વર્તન હોય છે. અહીં હું કહી એક વખત જરૂર પડે સુપર સ્પષ્ટ કરે છે કે હું માત્ર તે કરવા માંગો છો મદદગારો મારા પ્રોજેક્ટ એક વખત સમાવેશ થાય છે. પરંતુ જો હું સાવચેત છું અને જો હું ખરેખર મારા તર્ક મારફતે છું યોગ્ય રીતે વિચારી તે ખૂબ માત્ર પૂરતો કહેવું અપ ટોચ માંગણી જેથી લાંબા હું મારી જાતને તરીકે આકસ્મિક કે સમાન ફાઇલ અન્યત્ર જરૂર હોતી નથી. હકીકતમાં, આ વસ્તુઓ પછી કરવાનું મદદથી એક થોડી વધારે કાર્યક્ષમ માર્ગ છે એક વખત જરૂર છે જેથી, હું તેને ટ્રિમ નીચે ફક્ત જરૂર પડશે. ચાલો એક પગલું આગળ લે છે. આ છેલ્લું ઉદાહરણ હવે, 5 આવૃત્તિ, પણ ક્લીનર ફોલ્ડર વંશવેલો છે. નોંધ હું શું અહીં કર્યું છે દીઠ મને આ અંતિમ આવૃત્તિમાં વાંચો હવે હું મારા HTML ડિરેક્ટરી છે, કે જે હું આ બધા સમય પડ્યું, પરંતુ અંદર હવે માત્ર index.php lectures.php છે, week1.php અને week2.php. આ સમાવેશ થાય છે ડિરેક્ટરીમાં હવે તે HTML ડિરેક્ટરી સાથે રહે છે, જેથી પિતરાઈ સાથે સમાન સ્તર પર છે, તેથી વાત કરવા માટે. તેથી નમૂનાઓ ફોલ્ડર કરે છે. કી અહીં takeaway છે હું થોડો વધુ માળખું રચના કરી છે, પરંતુ કી લક્ષણ હવે માત્ર ફાઈલો છે કે વેબ સુલભ, જાહેરમાં એડ્રેસેબલ જરૂર જાહેર ઈન્ટરનેટ પર એક URL દ્વારા મારા HTML ડિરેક્ટરી છે. દરમિયાન અન્ય, ફાઇલો helpers.php, footer.php, header.php, કે હોવાની દલીલ કદાચ વધુ સંવેદનશીલ હોય છે, કદાચ મદદગારો વાસ્તવમાં કેટલાક વપરાશકર્તા નામો અને પાસવર્ડો અથવા અમુક બૌદ્ધિક છે ખાણ મિલકત, કાર્ય હું ખરેખર વિશ્વમાં જોવા માટે ન માગો તો પણ અકસ્માતે. તે સારું આચરણ કરવા માટે જાહેર HTML ડિરેક્ટરી બહાર રાખવા કોઈપણ ફાઈલો કે જે પોતાને જરૂર નથી સાર્વજનિક કરવા નથી. બધા તમે આ કિસ્સામાં આવું ત્યારે જોઈ, હમણાં પૂરતું છે, તે HTML ડિરેક્ટરીની index.php ફાઇલ, નોટિસ અમે હમણાં જ થોડા વધારે હોય ત્યારે સાવચેતી જરૂરી છે અથવા એક આ ફાઈલ જરૂરી છે. હું પ્રથમ જરૂર .. માટે પેરેન્ટ ડાયરેક્ટરી પર જાઓ, પછી / / helpers.php સમાવેશ થાય નથી પાછા માં નીચે ડાઇવ ફાઇલને કે હું વિશે કાળજી મેળવો. MVC પર પછી કોઈપણ પ્રશ્નો અથવા આ પ્રમાણમાં સરળ તેના અવતાર? દો અને મને તેને સ્પષ્ટ છે કે અમે પર તદ્દન થોડી ધ્યાન કેન્દ્રિત અહીં વી, વિચાર અને આ નમૂનાઓનો ના ફેક્ટરિંગના આઉટ. અમે ખરેખર સી ના એમ નથી અલગ કરી છે હજુ સુધી. હકીકતમાં, ત્યાં ખરેખર કોઈ અહીં એમ છે, અને તે પણ અમારા સી, નિયંત્રક, ખરેખર છે કે જે બધી બહુ કરી છે, પરંતુ તમે વધારે મળશે MVC તે 2 અક્ષરો બંને સાથે પરિચિત, અથવા બદલે, તમે C સાથે વધુ પરિચિત મળશે સમસ્યા 7 સમૂહ છે, તેથી ત્યાં ક્ષિતિજ પર વધુ છે માટે MVC છે. પ્રશ્નો? ત્યાં ખરેખર કોઈ અહીં એક છે. ઠીક છે, ચાલો હવે આજે બીજા અને અંતિમ વિષય પર ખસેડો. કે જે ડેટાબેઝ રજૂઆત છે. આ બિંદુ સુધી અમે સંગ્રહવા માહિતી થોડા રીતે હતી. અમે ચલો ઉપયોગ કર્યો છે. પાછા અમારા સી ફાઇલમાં, I / O ચર્ચા અમે લખાણ ફાઈલો મદદથી શરૂ અને fprintf જેવી ફાઈલો વાપરી રહ્યા હોય, અને પછી અમે પણ શરૂ CSV વિશે વાત થોડો, અલ્પવિરામથી અલગ પડેલ કિંમતો ફાઈલો, તેથી આ બધી અમને હોય માહિતી સંગ્રહિત કરવાની મંજૂરી ક્યાં બિન સતત સતત અથવા. પણ CSVs ખરેખર શોધ માટે કારણભૂત ન હોય અને દાખલ અને કાઢવા. તે ખરેખર માત્ર એક મૂર્ખ લખાણ અલ્પવિરામ દ્વારા અલગ ફાઈલ છે પંક્તિ દ્વારા પંક્તિ દ્વારા પંક્તિ દ્વારા પંક્તિ, તેથી જો તમે કરવા માંગો છો શોધવા કે ફાઈલ શ્રેષ્ઠ તમે શું કરી શકો છો ખરેખર રેખીય શોધ છે. તમે ફાઈલ ટોચ પર શરૂ થાય છે, જેમાં સમગ્ર બાબત વાંચો, અને કેટલાક રસપ્રદ કિંમત જુઓ. જો તમે તેને દાખલ કરવા માંગો છો તો તમે આ જ વસ્તુ કરવાના હોય છે, તે ઉપર વારો અને ચોક્કસ જગ્યાએ દાખલ, અને હકીકતમાં, તો તમે શોધ તર્કશાસ્ત્ર જાતે બધી કરો. તમે હોંશિયાર CSV ફાઈલ પર બંધબેસતા જ્યાં સુધી તમે તમારી જાતને કોડ લખવા પેટર્ન નથી કરી શકો છો. તમે એક CSV ફાઈલ ગાળણક્રિયા ન કરી શકો જ્યાં સુધી તમે તમારી જાતને કોડ લખો. સરસ નહિં હોય તે જો કોઈએ પ્રયત્નો તમામ પુટ ખરેખર સરળ અને સરળ નિવેશ શોધ કરો અને નિરાકરણ માટે અને સુધારવા અને તેથી આગળ? કે બરાબર એક ડેટાબેઝ શું છે છે. એસક્યુએલ, માળખાગત ક્વેરી ભાષા, હજુ સુધી બીજી ભાષા છે કે અમે અહીં આજે રજૂઆત કરી રહ્યાં છો, પરંતુ આ પણ એકદમ સરળ છે, અને અમે ખરેખર કરવા જઈ રહ્યાં છો શું માત્ર તે બહાર રાખવી સૌથી આગળ પડતું કેટલાક લક્ષણો છે કે જેથી 7 pset માટે, અને તમે કંઈક આધારિત વેબ કરી જો, તમારી અંતિમ પ્રોજેક્ટ, તો તમે તમારી જાતને વ્યક્ત કરવાની ક્ષમતા હોય છે માહિતી ક્વેરીઝ દ્રષ્ટિએ. તમને થોડો સ્ટોર કરવાની ક્ષમતા અથવા માહિતી ઘણો હોય એક વધુ માળખાગત રીતે કે દિવસ ઓવરને અંતે કરશે માં તમારા જીવન સરળ બનાવવા કારણ કે એસક્યુએલ સાથે તમે તમારી જાતને વ્યક્ત કરી શકો છો વધુ સ્પષ્ટ રીતે, ખૂબ પદ્ધતિસરની વધુ કરવા માટે પાછા માહિતી વિશાળ કોર્પસ પરથી માહિતી કેટલાક ઉપગણ છે. તમે એક ડેટાબેઝ લાગે છે, આ કિસ્સામાં, એક એસક્યુએલ ડેટાબેઝ કરી એક્સેલ જેવા ખરેખર, અથવા નંબર્સ જ્યાં તે એક સ્પ્રેડશીટ છે, અથવા કદાચ બહુવિધ, સ્પ્રેડશીટ્સ અને અલબત્ત એક સ્પ્રેડશીટ, પંક્તિઓ અને કૉલમ્સ ધરાવે છે, અને તે છે કારણ કે એસક્યુએલ ડેટાબેઝો અર્થમાં સંબંધ સંબંધ હોય છે, કે તેઓ આ કોષ્ટકો દ્રષ્ટિએ માહિતી સંગ્રહ, પંક્તિઓ અને કૉલમ્સ. તેઓ ઉચ્ચ એક સ્પ્રેડશીટ કંઈક કરતાં પર્ફોર્મિંગ છે, અને એક સ્પ્રેડશીટ એક માનવ દ્વારા વાપરી શકાય રાખવાનો છે. એક ડેટાબેઝમાં પ્રોગ્રામર દ્વારા વાપરી શકાય રાખવાનો છે તેની સામે કોડ લખી તેથી, એક ડેટાબેઝની અવતાર છે ક્યાં તો આદેશ વાક્ય હશે. ત્યાં આઉટ સૌથી લોકપ્રિય સંબંધ ડેટાબેઝો એક છે, ફરી, MySQL, જે અદ્ભૂત મફત છે, ખૂબ ઊંચા પર્ફોર્મિંગ, અને આ એ છે જે Facebook પર અને કેટલાક અંશે શરૂઆતમાં ખૂબ આજે પણ ઉપયોગ થાય છે તેની માહિતી ઘણો સંગ્રહવા, અને અમે એક ક્ષણ માં જોશો પ્રમાણમાં સરળ આદેશોની મદદથી કે અમે માહિતી, insert માહિતી, અપડેટ માહિતી પસંદ કરી શકો છો, માહિતી અને તેના જેવા કાઢી નાખવા, પરંતુ thankfully, ત્યાં વધુ વપરાશકર્તા ઇન્ટરફેસમાં-મૈત્રીપૂર્ણ છે માત્ર એક કાળા અને સફેદ પ્રોમ્પ્ટ પર લખીને અહીં કરતાં. અમે 7 pset માટે અને એક મફત phpMyAdmin કહેવાય સાધન બહાર ઉપયોગ કરશો. નામ સંયોગ છે. આ સાધન PHP માં અમલમાં આવશે થાય છે, પરંતુ મૂળભૂત અપ્રસ્તુત છે. PhpMyAdmin વિશે ઉપયોગી તો એ છે કે તે એક ઉપયોગિતા વેબ આધારિત છે. અમે કર્યું છે કે તે તમારે માટે સાધન માં પૂર્વ સ્થાપિત કરો, અને તેની સાથે તમે એક ડેટાબેઝમાં કોષ્ટકો બનાવી શકો છો, તમે દશાંશ માહિતી દાખલ કરો, માહિતી કાઢી શકો છો, અને સામાન્ય રીતે જુઓ એકદમ પર્યાવરણ વપરાશકર્તા મૈત્રીપૂર્ણ તમારા દશાંશ માહિતી. તમારા વપરાશકર્તાઓ માટે phpMyAdmin ઉપયોગ ન જવું છે. આ ખરેખર એક માત્ર વહીવટી અથવા વિકાસકર્તા સાધન છે જેની સાથે તે જોવા માટે અને તમારી માહિતી આસપાસ થેલી, કોથળી અને બહાર આકૃતિ કેવી રીતે માળખું, ખૂબ તમારા જેવા પોતાને Excel અથવા નંબર્સ ઉપયોગ કરી શકે છે, પરંતુ તે દ્રશ્યાત્મક શું હૂડ નીચે રહ્યું છે એક મહાન માર્ગ જ હશે જેથી તમે રસપ્રદ ઉકેલ સમસ્યા પર ધ્યાન કેન્દ્રિત કરે છે અને નથી તેથી ઘણી કરી શકો છો આ arcane આદેશો પર. ચાલો માહિતી કે tabularly સંગ્રહિત હોઈ શકે છે એક ઉદાહરણ પર એક નજર રીલેશ્નલ ડેટાબેઝના છે. અહીં એક ઉદાહરણ છે. હવે, કમનસીબે, phpMyAdmin ફેંકવાની રીત બાજુ પર પણ erred ઘણા શબ્દો અને તમે ગ્રાફિક્સ, પરંતુ જો તમે પર માત્ર સલ્લી પર ચડાવીને ધાર કાઢવી ID ને સ્તંભ, વપરાશકર્તા નામ સ્તંભ, અને હેશ સ્તંભ, આ અસરકારક રીતે એક સ્પ્રેડશીટ છે, પરંતુ તે એક સ્નીપેટ બને છે આ ઉપકરણ એક ટેબલ ઇનસાઇડ ફાઇલ મદદથી કે અમે તમને સમસ્યા 7 સમૂહ સાથે પૂરી પાડે છે. ખાસ કરીને, અમે તમને એક ફાઇલ પ્રતિનિધિત્વ આપવા એક વપરાશકર્તા ટેબલ, તેથી 3 કૉલમ સાથે વપરાશકર્તાઓ સમાવતી સ્પ્રેડશીટ, જેમાંથી એક અનન્ય 1 વાગ્યે શરૂ થઈ રહી છે અને ત્યારબાદ વધે ID છે. બીજા કૉલમમાં વપરાશકર્તા નામ છે, અને તમે તે કોણ હેકર હતી, 2 pset માટે હેકર આવૃત્તિ, ઓછામાં ઓછા, આ વપરાશકર્તા નામો કેટલાક ઓળખી શકે છે. બાજુ જમણી બાજુ પાસવર્ડો હોય છે, પરંતુ તેઓ શાબ્દિક પાસવર્ડો નથી. તેઓ હેશો તેનું છો, જેથી તે તારણ કે જે ડેટાબેઝ પાસવર્ડ સંગ્રહ ખરેખર ખરાબ વિચાર છે. તમે બધા કદાચ કર્યું છે અમુક વેબસાઈટ કેટલાક તબક્કે વાંચો અથવા અમુક કંપનીના ડેટાબેસનું સમાધાન આવ્યું, અને તે પછી તમે તમારો પાસવર્ડ બદલવા માટે, તમે વસ્તુઓ પર પૈસા પાછા જરૂર કારણ કે અમુક ખરાબ વ્યક્તિ ખરેખર પરિણામે તમારું એકાઉન્ટ પોકાર્યો. પાસવર્ડ્સને સ્પષ્ટ ટેક્સ્ટમાં સ્ટોર, એક ડેટાબેઝમાં એનક્રિપ્ટ સંપૂર્ણપણે બેવકૂફ છે, અને હજી સુધી તે ઘણો રમૂજી છે પછી કેટલાક ખૂબ જાણીતી કંપનીઓ વિશે વાંચવા માટે ક્યારેક પ્રેસમાં જેના ડેટાબેઝો સાથે ચેડા કરવામાં આવે છે, અને તે ભાગ રમૂજી નથી, પરંતુ એ હકીકત છે કે જે ડેટાબેઝ સમાવે એનક્રિપ્ટ પાસવર્ડો હાસ્યાસ્પદ કોડ એક વાક્ય સાથે કારણ કે શાબ્દિક અર્થ છે, તમે ચોક્કસ જોખમ સામે રક્ષણ આપે છે અને શકો છો કે અમે શું અહીં કર્યું છે. પણ અમારા નકલી થોડું CS50 ફાયનાન્સ આવૃત્તિ માટે અમે સારા પગલા માટે જ પાસવર્ડો એનક્રિપ્ટ કરી રહ્યા હોય, અને એ હકીકત છે કે આ પાસવર્ડ્સ તમામ શરૂ સાથે $ 1 $ માત્ર એક પરંપરા છે. કે જે હમણાં જ એટલે તેઓ એનક્રિપ્ટ થયેલ છે કે ખરેખર hashed કરશો, જે એનક્રિપ્શન એક માર્ગ કાર્ય જેવું છે તમે શું MD5 કહેવાય કંઈક સાથે તેની અસર જેમાં ન ઉલટાવી શકે છે. હકીકત એ છે કે 50 કે પછી છે એટલે કે મીઠું કિંમત 50 એક સિવાય આ પાસવર્ડો તમામ હેશીંગ માટે ઉપયોગ થતો હતો. અલબત્ત ખાણ, જેમ તમે ત્યાં જોઈ શકે છે, એચએ, અલગ મીઠું મદદથી હતી, જેથી તમે જેઓ સહેજ અપ ટ્રિપ મળ્યો કદાચ 2 હેકર, તે અમારા ઉપયોગમાં લેવાઈ નું પરિણામ હોઈ શકે છે અન્ય કરતાં અલગ હેશ કારણ કે મારો પાસવર્ડ ખરેખર છે જ ત્યાં સુધી કેટલાક અન્ય વપરાશકર્તા તરીકે. હકીકતમાં, જો તમે રાહ જોઈ રહ્યો છું આ તમામ અઠવાડિયા શોધવા માટે તે પાસવર્ડો શું અહીં પાસવર્ડો કે તમે પણ પડકારવામાં આવ્યા હતા માટે સમસ્યા 2 સમૂહ છે, તેથી કંઈ પણ મુશ્કેલ ના હેકર આવૃત્તિ માં ક્રેક. હકીકતમાં, malan હિસ્સો jharvard જેવા જ હતા, પરંતુ જો આપણે પાછા જાઓ તેઓ અલગ અલગ હતા. કિરમજી માં jharvard પર ધ્યાન કેન્દ્રિત છે કારણ કે તેઓ અલગ મીઠું ચડાવેલું હતા. અલગોરિધમ એક રસ્તો છે કે જે માં વ્યાકુળ હતી કિંમત હેશ, એનક્રિપ્ટ થયેલ કિંમત થોડું અલગ લાગે છે કારણ કે ઇનપુટ્સ થોડા અલગ હતા, પરંતુ હૂડ નીચે પાસવર્ડ હજુ પણ આખરે કિરમજી. હવે, જેઓ આ વિશે ધ્યાન આપતા? વેલ, અમે તમને નમૂનો વપરાશકર્તાઓ સાથે પૂરી કરવામાં આવે છે, નમૂનો વપરાશકર્તા નામો અને તેમના પાસવર્ડો હેશો છે કે જેથી તમે વાસ્તવમાં કેટલાક ગ્રાહકો CS50 ફાયનાન્સ માટે જ્યારે તમે પ્રથમ બોલ તમારો કોડ સાથે જમીન મેળવો. તમે MySQL ની અંદર વધુ કોષ્ટકો અમલ ડેટાબેઝ ની અંદર, પડશે. તમે વધુ સ્પ્રેડશીટ્સ બનાવો, અસરકારક રીતે હોય છે, પરંતુ પડશે અમે તમને આ એક આપવાનું નક્કી કર્યું છે માટે તમને શરૂઆત છે, અને તમે જોશો કે જે સમસ્યા સેટ સ્પષ્ટીકરણ તમે આ ટેબલ આયાત પ્રક્રિયા દરમ્યાન લઈ જશે અને પણ સમજાવવા લાક્ષણિકતાઓ કેટલાક કયા છે, અને તમે પણ જુઓ કે અમે તમને કોડ સાથે પ્રદાન કરીશું માટે પાસવર્ડ હેશીંગ અથવા આ પાસવર્ડ એનક્રિપ્શન હેન્ડલ, જેથી તમે શું MD5 અથવા જેમ શું ખરેખર છે તે વિશે ખૂબ જ ચિંતા કરવાની જરૂર નથી. તેથી, એસક્યુએલ, માળખાગત ક્વેરી ભાષા. આ છે, તદ્દન સરળ, ભાષા અમે 7 pset માં ઉપયોગ શરૂ કરવા જઇ રહ્યા છો અને કદાચ અમુક ડેટાબેઝ પાસેથી માહિતી વિનંતી બહાર. આ માહિતી, ફરી આવે છે, આ સંબંધ કોષ્ટકો, કૉલમ, અને હરોળમાં tabularly સંગ્રહિત, પરંતુ કાઢી નાંખો જેવા કેટલાક પ્રમાણમાં સરળ વાક્યરચના વાપરી રહ્યા હોય, દાખલ કરો, અપડેટ કરો અને અમે તે બરાબર કરી શકો છો. અમે ડેટાબેઝ માંથી કાઢી નાખવા, દાખલ કરી શકો છો, માહિતી, તેમજ પસંદ કરો, કે જે, ડેટાબેઝ પાસેથી માહિતી મેળવવા છે અપડેટ કરો. અમે કેવી રીતે આવું જઈ શકું? ચાલો હું ઉપકરણ માં આગળ જાઓ. મને અપ http://localhost ખેંચે છે, જે, ફરી, સ્થાનિક સાધન પોતે છે. કે તેની મૂળભૂત ઉપનામ છે. દો અને મને / phpmyadmin પર જાઓ. આ માટે એક વિશેષ URL હોવો થાય છે કે સાધન સમજવા માટે પૂર્વરૂપરેખાંકિત છે કે જે તુરંત જ મને વપરાશકર્તા નામ અને પાસવર્ડ માટે પૂછશે. હંમેશની જેમ, હું jharvard અને કિરમજી લખો જાઉં છું, ખ્યાલ પણ તે કમ્પ્યુટર પર એડમિનિસ્ટ્રેટર એકાઉન્ટ છે. તે માત્ર એક સંયોગ છે કે ત્યાં પણ એક CS50 ફાયનાન્સ માટે રજીસ્ટર jharvard છે છે. Jharvard, કિરમજી, એન્ટર મને વપરાશકર્તા ઈન્ટરફેસ છે કે અમે જોયું આપે છે એક ક્ષણ એક ઝલક પહેલા, અને તે પ્રથમ થોડો જબરજસ્ત છે, પરંતુ ખાતરી બાકીના માટે, તમારે આ સાધન માં કડીઓ સૌથી ક્લિક કરો ક્યારેય રહ્યા છીએ. તમે અંત એક નાનો સબસેટ કે મદદરૂપ સુપર છે મદદથી પડશે, જેમાં સૌ પ્રથમ ડેટાબેઝો અહીં છે અપ. જો હું ડેટાબેઝ સુધી જવા નોટિસ, કે હું એક ડેટાબેઝ બનાવવા માટે પૂછવામાં છું. આ નવી એક્સેલ ફાઈલ બનાવવા જેવી અસરકારક છે. હું આગળ વધો અને આ વ્યાખ્યાન કૉલ જાઉં છું, અને હું માત્ર ત્યાં ક્ષેત્ર, સરખામણી અવગણો જાઉં છું. તે માહિતી પ્રતિનિધિત્વ સાથે તેમાં શું છે, અને હું ક્લિક બનાવવા જઈ રહ્યો છું, અને હવે નોટિસ તરીકે હું દો બનાવવા જાઓ બાજુ ડાબી બાજુ જ્યાં તેને કોઈ ડેટાબેઝ કહે છે હું ટૂંક સમયમાં વ્યાખ્યાન ડેટાબેઝ જોવા જોઈએ. જો હું હવે બાજુ ડાબી બાજુની છે, વ્યાખ્યાન ડેટાબેઝ પર ક્લિક કરો, નોટિસ મારા ટેબો થોડો ફેરફાર કરો. હું માળખું, આયાત એસક્યુએલ, નિકાસ અને કેટલાક અન્ય વસ્તુઓ મળી છે. માળખું ખૂબ ખૂબ ખાલી છે. કોઈ કોષ્ટકો ડેટાબેઝ જોવા મળે છે, કારણ કે તે અહીં કહે છે, તેથી આપણે એક કોષ્ટક બનાવો, અને ચાલો આગળ વધો અને એક કોષ્ટક બનાવો વિદ્યાર્થીઓ ગમે, અને કેટલા કૉલમ અમે કરવા માંગો છો? દરેક વિદ્યાર્થી માટે ચાલો આ સરળ રાખવા માટે, અને ચાલો રેકોર્ડ એક ID નંબર, નામ, અને એક ઇમેઇલ સરનામું. અમે તેને સરળ છે કે જેમ રાખી, 3 કૉલમ જેથી પડશે, જાઓ. આ ફોર્મ કે જે તમે અહીં જોવા હવે થોડો અવ્યવસ્થિત અને જબરજસ્ત, પરંતુ અમે માત્ર પંક્તિ દ્વારા તે પંક્તિ પસાર હોય છે, તેથી ખરેખર ઝડપથી ચાલો આપી આ ડેટાબેઝ અનન્ય ઓળખકર્તા માટે ID ને એક નામ પ્રથમ સ્તંભ. તે પૂર્ણાંક હશે. હું ખરેખર લંબાઈ અને કિંમતો અવગણી શકો છો. પૂર્ણાંક પર 32 ફુદડીઓ તમે શું ત્યાં લખો બિટ્સ પ્રયત્ન રહ્યું છે, તેથી આપણે તેને ખાલી છોડી દો. મૂળભૂત કિંમત, હું તેને નલ કરો, તરીકે વ્યાખ્યાયિત કરી શકે છે. હું એકલા છોડી જાઉં છું. દો મૂળભૂત કિંમતો અંગે ચિંતા છે નથી. ચાલો પર અહીં સ્ક્રોલ અધિકાર, વિશેષતાઓ છે. આ રસપ્રદ છે. ચાલો આગળ વધો અને અમુક અંશે આપખુદ કહે છે કે આઇડી સહી થયેલ હોવું જ જોઈએ. ની કોઈ પણ નકારાત્મક નંબરો બગાડ ન દો. ચાલો 0 થી 4 અબજ જાઓ, આપે અથવા લે છે, અને પછી આપણે હજુ સુધી સ્પર્શ કરતા નથી આ ક્ષેત્રોને કોઈ પણ ઉપર ત્યાં, પરંતુ પછી દો મને નામ નીચે અહીં લખો અને પછી અન્ય ઇમેઇલ હતી, જેથી કેચ ઇમેઇલ છે અને નામ, પૂર્ણાંકો નથી દેખીતી રીતે, તેથી આપણે એક અલગ ક્ષેત્ર માટે આ બદલો. તે varchar, ચલ બોલ ઘરનાં પરચૂરણ કામો કરે છે, એક એસક્યુએલ ડેટાબેઝમાં શબ્દમાળા જેવું છે પરંતુ ચલ લંબાઈ, અને તમે ખરેખર અગાઉથી તે કહેવું પડે છે શબ્દમાળા મહત્તમ લંબાઈ, જેથી હું કંઈક આપખુદ કરવા જઇ રહ્યો છું સંમેલન પ્રકાર 255 અક્ષરો દ્વારા. હું તદ્દન 32 કહેવું શકે છે. હું 1,000 કહેવું શકે છે. તમે તમારા શું છે વસ્તી વિષયક પર તમારા માટે નક્કી જરૂરિયાત પ્રકારની આધારિત સૌથી લાંબો વિદ્યાર્થીઓની નામ અને જે નંબર અથવા નાની મોટી સાથે જાઓ, પરંતુ varchar વિશે સરસ શું છે તે કચરો ન ચાલી રહ્યું છે દરેક વિદ્યાર્થી નામ પર 255 બાઇટ્સ. જો તે ડેવિડ તે સમગ્ર 255 બાઇટ્સ ઉપયોગ ન ચાલી રહ્યું છે, પરંતુ તે એક ઉચ્ચ બાઉન્ડ છે, તેથી હું 255 સાથે સંમેલન દ્વારા માત્ર જઈશ, પરંતુ અમે કે અમુક ઓછા મૂલ્ય હોવા અંગે ચર્ચા કરી, અને શકે ઇમેઇલ સરનામા માટે માત્ર 255 સુસંગત છે, પરંતુ ફરી, અમે એ જ ચર્ચા કરી શકે છે. પણ હું અહીં ઉપર બાજુ જમણી બાજુ પર એક અન્ય વસ્તુ કરવા જાઉં છું. ડેટાબેઝ વિશે શક્તિશાળી શું છે કે તે ભારે પ્રશિક્ષણ ઘણો કરી શકો છો અથવા તમે જટિલ કામ કરે છે. ખાસ કરીને, હું ખરેખર પડી નથી મારા વિદ્યાર્થી ID ને નંબરો કયા છે. તે માત્ર એક ડેટાબેઝમાં અનન્ય ઓળખકર્તા સાબિત છે તેથી હું 32-bit કે વિદ્યાર્થી succinct પ્રતિનિધિત્વ ધરાવે છે જેથી હું અનન્ય તેમને ઓળખવા કેટલાક માર્ગ હોય કદાચ ત્યાં વર્ગ 2 માં દાખલા તરીકે ડેવિડ્સ, છે. હકીકતમાં, હું આ કૃત્રિમ બોક્સ, ઓટો ઈજાફો તપાસ જાઉં છું, જેથી ડેટાબેઝ, MySQL, બહાર આધાર દરેક નવા શામેલ વિદ્યાર્થી ID ને શું થઇ રહ્યું છે. હું પણ મારા કોડ કે કાળજી નથી, અને હું પણ ઇન્ડેક્સ મેનુ હેઠળ કંઈક પસંદ કરો જાઉં છું. ઇન્ડેક્સ ઘટીને અહીં છોડો પ્રાથમિક, અનન્ય છે, અનુક્રમણિકા અને સંપૂર્ણ લખાણ. તમે કદાચ ધારી આ વસ્તુઓ એક દંપતી શું છે શકે છે, પરંતુ તે સંબંધ ડેટાબેઝો માં વળે તમે પ્રોગ્રામર અથવા ડેટાબેઝ સંચાલક preemptively વિચાર ડેટાબેઝ શું ક્ષેત્રો માટે સંકેતો આપે છે એક કોષ્ટક માં થોડો ખાસ હોય છે. હમણાં પૂરતું, આ કિસ્સામાં હું ID ને કહેવું જાઉં છું એ પ્રાથમિક અનુક્રમણિકા, અન્યથા એક પ્રાથમિક કી તરીકે ઓળખાય હશે. આ વ્યાખ્યા દ્વારા અર્થ એ થાય કે શું ID ને હવેથી છે અનન્ય આ કોષ્ટકમાં વિદ્યાર્થીઓ ઓળખવા પડશે. કોઈ વિદ્યાર્થી જ પાસે ID છે કારણ કે હું આ સંમતિ અથવા આ ઇન્ડેક્સ પ્રભાવશાળી છું આવશે. આ ઉપરાંત, આ મારા માટે શું રહ્યું છે શું છે તે કહી રહ્યું છે MySQL ID ને કે ખાસ છે. હું ID અંગે ખાસ કરીને કાળજી, તેથી આગળ વધો અને તમારા ફેન્સી ડેટા માળખું જાદુ કરવા માટે, અપ વૃક્ષ કેટલાક પ્રકારની બિલ્ડ. ખાસ કરીને તે કંઈક B-વૃક્ષ છે, કે જે અમે સપ્તાહ પહેલા ન જોવા નહોતી કહેવાય છે, પરંતુ તે બાઈનરી વૃક્ષો બીજા આવા માહિતી ભાવના સમાન માળખું છે કરવાનો પ્રયાસ કરે છે અને તે અમે જોયું હતું, પરંતુ તે કહેવું રહ્યું છે ડેટાબેઝ આ ક્ષેત્ર કે જેથી હું કદાચ મહત્વપૂર્ણ છે માટે તેના પર શોધ કરવાનો પ્રયત્ન કરવા માંગો છો, તો આગળ વધો અને અમુક ફેન્સી બિલ્ડ મેમરી માહિતી માળખું શોધ પ્રક્રિયા ઝડપથી કરવા માટે કે જેથી આદર્શ તેઓ સતત સમય છો અથવા ઓછામાં ઓછું તરીકે કે શક્ય બંધ જેથી તે રેખીય શોધ માં એકને શિરેથી ઊતરીને બીજાને શિરે જવું નથી, જે ન રહ્યું છે સૌથી ઊંચી અભિગમ રહ્યા. તેનાથી વિપરીત, ઇમેઇલ સરનામું પ્રાથમિક કી કરી શકાયા હોત. સિદ્ધાંત માં, દરેક જણ ઇમેઇલ સરનામું અનન્ય છે, જ્યાં સુધી તમે કેટલીક એકાઉન્ટ શેર કરી રહ્યાં છે, પરંતુ તે સામાન્ય રીતે કરવા માટે શબ્દમાળા કંઈક ઉપયોગ ન સારા પ્રાથમિક કી તરીકે જો કારણ કે જીવનમાં તેની હેતુ માટે અનન્ય ઓળખવા છે તમારા ટેબલ પંક્તિઓ માટે કોઇ 255 બાઇટ્સ વધુમાં ઉપયોગ કારણ છે વિશિષ્ટ કોઈને ઓળખી જો તમે દૂર ફક્ત 4 બાઇટ્સ સાથે મેળવી શકો છો અથવા પૂર્ણાંક 32-bit. સામાન્ય રીતે, પ્રાથમિક કી ટૂંકા અને succinct પ્રયત્ન કરીશું અને આદર્શ પૂર્ણાંક અથવા મોટા પૂર્ણાંક છે, કે જે 64 બિટ્સ બને છે કંઈક. પરંતુ એક ઇમેઇલ સરનામું અનન્ય હોવી જોઈએ, અને ડેટાબેઝ ના લક્ષણો પણ એક મારા માટે વિશિષ્ટતા દબાણ છે. અનન્ય અહીં ઇમેઇલ આગામી પસંદ છે, તેમ છતાં પોતે ઇમેઇલ દ્વારા છે બંધ સ્ક્રીન ટીપણાની પેઠે વીંટેલું, હું ડેટાબેઝ માટે કહી રહ્યો છું નથી મને વિશ્વાસ નથી. જો તમને મને ડેટાબેઝ દાખલ તે જ ઇમેઇલ સરનામું બે વખત, જો હું એક મૂર્ખ માણસ છું અને નથી ખૂબ જ મારા IFS અને બીજું IFS અને વાસ્તવિક PHP કોડ સાથે સારી અને હું અકસ્માતે દો વપરાશકર્તાને હાલની ઇમેઇલ સરનામા સાથે રજીસ્ટર ડેટાબેઝ હજુ સુધી ચોકસાઈ માટે સંરક્ષણ બીજા સ્તરની છે તેની ખાતરી કરવા માટે કે જે નકલી ઇમેઇલ સરનામું અપ કોષ્ટકમાં સમાપ્ત થતું નથી. હવે, તેનાથી વિપરીત, નામ માટે તમે કદાચ કે અનન્ય બનાવવા નથી માંગતા કારણ કે પછી ત્યાં 2 ડેવિડ્સ અથવા 2 દાખલા તરીકે માઇક સ્મિથ્સ, ક્યારેય હોઈ શકે છે, તમારા ડેટાબેઝ માં, એક કે જેથી અમે એકલા છોડી જાય છે. હું આગળ જાઓ અને નીચે જમણા ખૂણે સેવ કરો ક્લિક કરો જાઉં છું, અને બધું સારું લાગે છે, પરંતુ અહીં નોટિસ આ એક ભાગ છે કે જે હવે માટે અમે ખૂબ જ સમય નથી ખર્ચ કરશે છે કારણ કે સિન્ટેક્ષ થોડી જટિલ છે, અને અમે કોષ્ટકો બનાવો નહિં હોય જે ઘણીવાર, પરંતુ પોતે એસક્યુએલ ભાષા છે બધા, સિન્ટેક્ષ જેના માટે અહીં કે હું પ્રકાશિત કર્યો છે. PhpMyAdmin ખરેખર કરે છે શું છે તે તમારા માટે GUI વેબ આધારિત બનાવે છે જેની સાથે તમે સમય બચાવવા હોય તો અને જાતે બહાર લખો કરી શકતા નથી એકદમ લાંબા કે એસક્યુએલ ક્વેરી. બીજા શબ્દોમાં કહીએ, જો તમે ઇચ્છતા જાતે આ કોષ્ટક બનાવો, ક્યાં છે કે કાળા અને સફેદ પ્રોમ્પ્ટ અથવા પણ માં phpMyAdmin અંતે આ અન્ય ટેબ ઉપયોગ કરીને, આ ટેબ એસક્યુએલ જ્યાં તમે કોઈપણ એસક્યુએલ પ્રશ્નો માં ટાઈપ કરી શકો છો તમે કરવા માંગો છો, પ્રમાણિકપણે, આ મને શક્યો હોત એક મિનિટ ખરેખર સમગ્ર વાક્યરચના યાદ રાખો, અને એના પછી હું કદાચ હશે કેટલાક લખાણ ભૂલો કરી હતી, તેથી આ સાધન છે કે જેવી બાબતો માટે ઉપયોગી છે, અને તે પણ ઉપદેશક. તમે અટકળ બાંધવી સિન્ટેક્ષ શું છે શરૂ કરી શકો છો ફક્ત સરસ રંગ દ્વારા કોડિંગ કે phpMyAdmin ઉમેરી રહ્યા છે અમારા દ્રશ્ય સગવડ છે. પરંતુ હવે આ જગ્યાએ દો. મને ટોચ પર insert ટેબ પર જાઓ, અને દો મને આગળ વધો અને દાખલા તરીકે સામેલ ચાલો નું ID-કહેવું ખરેખર હું પડી નથી. તે આપોઆપ ઈજાફો માટે ચાલી રહ્યું છે. હું આ સાથે ડેટાબેઝ સોદો દો જાઉં છું. પરંતુ હું ડેવિડ હોઇ શકે છે, અને રહેશે મારું ઇમેઇલ malan@harvard.edu પ્રયત્ન કરીશું. ચાલો આગળ અહીં જાઓ અને એક બીજી તરીકે માઇક સ્મિથ મૂકવા. હું મારી જાતને છેલ્લા નામ તેમજ આપવા પડશે, અને અમે તેને છે smith@example.com હશો, અને પછી હું આગામી જ્યાં જાઓ છો? વેલ, લાગે છે કે સફરમાં માટે ક્લિક કરો, અને વોઇલા Query બટન છે. ટોચની 2 શામેલ પંક્તિઓ પર નોટિસ. આ વાસ્તવિક એસક્યુએલ ક્વેરી છે. કે phpMyAdmin મારા માટે ચલાવવામાં સાધન છે, પરંતુ અંતે પરિણામે, નોટિસ, જો હું હવે બ્રાઉઝ કરો ટેબ પર જાઓ, આ કોષ્ટકમાં 2 પંક્તિઓ જુઓ, ખૂબ સૌંદર્યલક્ષી યાદ અપાવે છે કોષ્ટકની અમે અમારા વપરાશકર્તાઓ માટે અગાઉ 7 pset ના થયો, જેમાંથી એક ડેવિડ Malan છે, જેમાંથી એક હવે માઇક સ્મિથ છે. પરંતુ માત્ર સ્પષ્ટ થઈ, હું phpMyAdmin ઉપયોગ કરવાની જરૂર નથી, અને ખરેખર, તો તમે તરત 7 pset માટે કોડ લખી શકાય જઈ રહ્યાં છો કે પંક્તિઓ ઉમેરીને, પંક્તિઓ કાઢી નાંખવા, અપડેટ પંક્તિઓ અને જેવા પ્રક્રિયા ઓટોમેટ્સ, જેથી દો મને બદલે એસક્યુએલ ટૅબ પર જાઓ અહીં જ્યાં વિદ્યાર્થીઓ અને પસંદ કરો * પ્રકાર "ઇમેઇલ malan@harvard.edu." = અન્ય શબ્દોમાં કહીએ ધારવું હવે તમારી પાસે કેટલાક એચટીએમએલ ફોર્મ, અને અન્ય ક્ષેત્રો વચ્ચે તેમના ઇમેઇલ સરનામું વપરાશકર્તા પ્રકારો, અને ધ્યેય હવે પાછા ઓવરને કોડ પર PHP છે ખરેખર અપ કે વપરાશકર્તા અન્ય વિગતો જુઓ. તમારું આખું નામ શું છે? તમારો ID નંબર શું છે? તમે આ જેવી એસક્યુએલ ક્વેરી લખી શકે છે, વિદ્યાર્થીઓ પાસેથી * પસંદ કરો ઇમેઇલ જ્યાં "malan@harvard.edu." = અને જો હું પછી જાઓ ક્લિક કરો નોટિસ, કે હું, અને ખરેખર હું નથી, જોઇએ માત્ર એક પંક્તિ છે. માઇક આ પરિણામ સેટ પરથી બાકાત છે પંક્તિઓ સંગ્રહ તરીકે, સામાન્ય રીતે કહે છે, કારણ કે તે મને જેવું ઇમેઇલ સરનામું નથી. હવે, ફરી, અહીં 7 pset માટે તમે એક વહીવટી સાધન તરીકે phpMyAdmin ઉપયોગ કરશો અને શિક્ષણશાસ્ત્ર વિષયક સાધન તમારી રીતે જાણવા માટે એસક્યુએલ સમગ્ર વિશ્વના, પરંતુ દિવસ ઓવરને અંતે તમે વાસ્તવિક PHP કોડ ની અંદર આ પ્રશ્નો લખી શકાય જઈ રહ્યાં છો, અને તેથી ખાસ કરીને Zamyla walkthrough માં ટ્યુન રહેવા જ્યાં તમે આ સમસ્યા સમૂહ માટે વિતરણ કોડ પ્રવાસ મળશે જ્યાં અમે તમે માત્ર સૌંદર્ય શાસ્ત્ર પ્રવેશ પાનાં માટે આપી છે અને સરસ સેક્સી લોગો કે CS50 ફાયનાન્સ કહે છે, અમે પણ તમને આપી છે વિધેયો કે જે તમારા જીવન થોડી સરળ બનાવશે સમૂહ. અમે પણ તમે કરેલા pset ભાગ હોય તેવા પરચૂરણ, ખાસ કરીને તેની પ્રવેશ ભાગ, તમે એક પ્રતિનિધિ ડિઝાઇનની એક અર્થમાં આપે કે ખરેખર હમણાં index.php માટે નિયંત્રક, ઉપયોગ કરે છે, login.php અને જેમ, અને પછી તમે જોશો કે pset પણ નમૂનાઓ ડિરેક્ટરી છે કે તમારા મંતવ્યો તમામ છે, સૌંદર્ય શાસ્ત્રની છે. અને તેથી 7 pset માં એકંદર વર્કફ્લો કે પ્રયત્ન રહ્યું છે તમારા વપરાશકર્તાઓ બ્રાઉઝર માં એક URL મારફતે નિયંત્રક મુલાકાત લો. નિયંત્રક કે PHP કોડ કે જે તમે લખ્યું સમાવે છે, અને અંદર તમારા PHP કોડ એસક્યુએલ ની કેટલીક રેખાઓ બેવડા અવતરણ વચ્ચે આવશે નેસ્ટ શકે છે અને એક કાર્ય પસાર અમે કહેવાય ક્વેરી લખ્યું હતું કે તમે ડેટાબેઝ સાથે વાત કંઈક ઉપયોગ કર્યા વગર મદદ કરશે phpMyAdmin જેવા વહીવટી સાધન. તમે PHP કોડ માં એસક્યુએલ નિવેદનો લખી કરવાનો પ્રયત્ન કરીશું અને પરિણામ સેટ એક PHP એરે વિચાર, પંક્તિઓ કે વાસ્તવમાં કે ક્વેરી સાથે મેળ છે. અને એ જ રીતે તમે દાખલ અથવા કાઢી નાંખે છે આમ કરવાનો પ્રયત્ન કરશે અથવા સુધારાઓ અથવા જેમ, વાક્યરચના, જેના માટે એકદમ સરખી છે, અને તમે કેટલાક ઑનલાઇન સંદર્ભો ના વિતરણ કોડ માંથી, જોશો અને પોતાને pset માંથી પેક બરાબર છે કે આમ જઈ કેવી રીતે. સમજો આખરે અમે ખરેખર માત્ર રહ્યાં છો એસક્યુએલ સપાટી ખંજવાળ અને MySQL, પરંતુ તે શક્તિ ખરેખર છે કે તે તમે મુક્ત કરે છે માટે તમે જે સમસ્યાઓને હલ કરવા માંગો છો પર ધ્યાન કેન્દ્રિત કરવા માટે, ઉપયોગ કિસ્સાઓમાં તમે અમલ કરવા માંગો છો માટે તદ્દન તરીકે ખૂબ ચિંતા, ઓછામાં ઓછું શરૂઆતમાં કર્યા વગર, ક્યાં અને કેવી રીતે સંગ્રહ અને તમારા ડેટાબેઝ શોધ વિશે અને આ તદ્દન શાબ્દિક અર્થ છે, જ્યાં પોતે ફેસબુક તેના શરૂઆત થઈ MySQL ની મદદથી અને પછી વધુ MySQL સર્વર અને પછી વધુ MySQL સર્વરો મદદથી લાંબા સુધી તેઓ પછી ખરેખર કેવી રીતે હાર્ડ વિચારવાનો શરૂ પહેલાં સ્ટોર ડેટા, કેવી રીતે વસ્તુઓ સંગ્રહવા માટે પણ વધુ કાર્યક્ષમ રીતે, તેથી ભલે આપણે માટે હકીકત મંજૂર લેવા પડશે કે નિર્દેશિકાઓની અને અનન્ય પરિમાણોને અને તેથી આગળ માત્ર કામ ત્યાં એક ખૂબ જ રસપ્રદ વાતચીત કે આ બધા આખરે પરિણમી શકે છે, તેથી ખ્યાલ છે કે અમે ફક્ત સપાટી ખંજવાળ કરી રહ્યાં છો શું છેવટે માટે તમે અથવા તમારા પ્રોજેક્ટ તદ્દન મોટું માહિતી એક બીટ બની શકે છે. સાથે કહ્યું હતું કે, ચાલો અહીં અંત છે, અને અમે આગામી સપ્તાહે તમે જોશો. [CS50.TV]