JASON Hirschhorn: Witamy wszyscy tygodniu osiem. Mamy przed sobą ekscytujące tygodnia. Macie dove w tym ostatnich kilku wykładów do PHP, SQL, HTML, CSS, tak cztery marki nowe języki, które robimy wziąć resztę tego kursu. Będziemy także uczyć się kilka innych języki przed końcem oczywiście za. Ale tak czy inaczej, trzeba powiedzieć, że jest to bardzo ekscytujący czas w CS50, teraz opanowaniu C, rzekomo, i są przejściem do programowania stron internetowych. Tak więc w tym tygodniu, mamy zamiar iść na wicher Wycieczka przez czterech Języki, które już wspomniano, HTML, CSS, PHP i SQL. I miejmy nadzieję, będziemy pozostawiać wiele czas, w końcu sekcji mówić O tym tygodniu P zestawu i odpowiedzi wszelkie pytania, wszyscy mają. Każdego tygodnia, sama lista zasobów dla Ciebie, aby pomóc w tygodniowym Problem ustawić i będzie na materiał - ale tydzień w szczególności dla tych webowe zestawy zadań, są wiele innych zasobów z istnieje prawdopodobieństwo, że będzie znaleźć bardzo pomocny. Mam je tutaj. Będę ci email to po części, i jest również w Internecie. Ale w szczególności, jest wiele o wielkie zasoby tam. Istnieją również nie tak wielkie te, więc uważać na te. Ale na tym slajdzie, mam cztery dobre Środki, po jednym dla każdego z Języki, że będziesz pracował w tym tygodniu - jeden arkusz odniesienia dla HTML, Karta referencyjna dla CSS. Prawo to tutaj jest instrukcja PHP. Więc zamiast wpisywać człowieka i następnie PHP Polecenie, to gdzie byś przejdź do wyszukiwania prototyp funkcji i przykłady, a także kilka wskazówek i triki do korzystania z funkcji PHP. Będziesz korzystać z tej strony często, więc zachęcam, aby stać z nim zapoznać. Może ona być nieco technicznego, ale zapewnia również mnóstwo zasobów i przykłady dla wszystkich funkcji i jeszcze inne, jak, jak korzystać z tablic lub rodzaje zmiennych. Ta strona jest bardzo pomocna dla PHP. A potem, na SQL, jeśli w to gołąb tygodniu Problem zestaw, będziesz wiedzieć że korzystamy z bazy danych. I mamy dostęp do bazy danych poprzez stosunkowo ładny interfejs użytkownika. Czy to jest jeden sposób, aby dostęp że baza danych. Interfejs użytkownika jest nazwie phpMyAdmin. Jest zakładka SQL, które będziemy spojrzeć na później dzisiaj. I można wpisać w ich próbki SQL pytania, uwagi, co w bazie danych a następnie uruchomić te pytania. I jeśli są poprawne, to będzie powiedzieć, ten jest poprawny. Jeśli są błędne, to będzie powiedzmy, że to niepoprawne. To doskonałe miejsce na ćwiczenie Zapytań SQL przed napisaniem ich w Twój kod, aby upewnić się, mają format prawidłowe. Wreszcie jedna strona tutaj. To jest strona internetowa, gdzie można go i sprawdź, czy Twój HTML kod jest poprawny. Więc przed włączeniem problemów ustawić w tym tygodniu, upewnij się, że wszystkie Twój HTML jest poprawny. W zeszłym tygodniu, trzeba było uruchomić valgrind, do upewnij się, że nie ma żadnych wycieków pamięci. W tym tygodniu, trzeba upewnić się, wszystko Twój kod jest poprawny HTML5. Jeśli to nie jest ważne HTML5, jesteś dostanie punkty off. Więc upewnij się, - tylko dlatego, że nie działa oznacza, że ​​jest całkowicie prawidłowy. Uruchom swój kod za pośrednictwem tej strony przed włączeniem go w. Ponownie, oto strona. Jeśli masz jakieś uwagi do mnie, mamy Kilka więcej sekcji w lewo, i zawsze chcę robić to, co mogę, aby dostarczyć wszystkie z najlepszych sekcji doświadczenie to możliwe. Więc daj mi znać, czy jest coś, czego można zrobić, aby poprawić lub jeśli istnieje rzeczy, które widzisz, że mogłem zrobić lepiej. Dziękujemy, AVI. Umieścić go na stronie internetowej. To był rower, kiedy miałem był, powiedzmy, cztery w domu. To Teenage Mutant Ninja Turtle jazda na rowerze, w przypadku nie można powiedzieć, bo jest trochę niewyraźne. Można go pobrać teraz na ToysRUs na, jak sądzę, około 100 dolarów. Ale cechą tego roweru, który chcę Ci zwrócić uwagę na to jest tutaj. Są to kółka. Do tej pory byliście podręczny przez C i podjęliśmy długo raz, dwa miesiące plus przejść przez C. Dla tych następnych kilku językach, my nie zamierzamy spędziliśmy dużo czasu. Koła szkoleniowe spadając. I jedziemy do nurkowania w nich Języki i poruszać się szybko je szybko, co nie znaczy, że jesteśmy po prostu będzie cię zostawić pływanie tam w żaden sposób wspierać samemu lub dowiedzieć się, jak to Języki pracować. Ja tylko pokazałem listę zasobów, które pomogą Ci. Ale należy pamiętać, że PHP jest niezwykle podobny do C. Pójdziemy na to dzisiaj, a niektóre z tych różnic. Jednak dla większości tam są pętle. Istnieją jeśli warunki. Gdy chcesz, aby rozwiązać problem, masz zamiar użyć Połączenie tych. To jest bardzo podobne. Logika powinny być bardzo podobne do co zrobiłeś w przeszłości. Co naprawdę nowego w tym tygodniu jest składnia i sposób wyrażania siebie. I chcesz pisać dla pętli, ale to może wyglądać trochę inaczej. Lub chcesz utworzyć tablicę, ale może wyglądać trochę inaczej. Tak więc należy pamiętać, że porusza się do przodu, Logika jest bardzo podobne do tego, co zrobiłeś w przeszłości. Ale jesteś teraz będzie napotykają Wiele nowych składni. A my nie zamierzamy przejść przez wszystkie elementy składni. Więc to jest naprawdę do ciebie, aby dowiedzieć się, online lub poprzez dotarcie na Dyskusji lub pocztą elektroniczną lub mówić do mnie jeden drugiego, jak pisać rzeczy w PHP i jak pisać zapytań SQL i jak korzystać z HTML i CSS. Ale tak wiesz, to nie jest to próbujemy rzucić się tam znowu pływać rekiny. To jest to, co będzie prawdopodobnie zrobić z Twój projekt końcowy, jeśli zdecydujesz inny język, jak i IOS Objective C, lub jeśli zdecydujesz się rozpocząć programowanie w przyszłości i nurkować w innych językach, jak Python czy Ruby. Często logika jest bardzo podobny we wszystkich tych języków i Składnia jest co innego. I będzie do ciebie, jak programista, aby przejść korzystać z internetu Środki dostępne dla Ciebie i rysunku się, jak wyrazić to, co wiesz, jak wyrazić w C, w inny język. Więc to jest dobra praktyka, zarówno dla Twojego Ostateczny projekt, i znowu, za co będzie prawdopodobnie zrobić po opuszczeniu CS50. Zanim przejdziemy dalej, czy ktoś Wszelkie pytania dotyczące tego, co Zrobiłem do tej pory? Świetnie. Przejdźmy. Po pierwsze, będziemy krótko mówić o polecenia chmod. To, zrobimy na początku Twoich problemów ustawić. Jednym z pierwszych instrukcji dla Ciebie, po pobraniu Kod dystrybucja, jest zmiana Uprawnienia do plików i katalogi, które otrzymujesz. Czy ktoś może zaryzykować i wiedzieć Dlatego ważne jest, aby zmienić uprawnienia niektórych plików i katalogów na komputerze? Avi - PUBLICZNOŚCI: Wtedy nikt z wyjątkiem można zobaczyć, co robisz? JASON Hirschhorn: OK. Tak więc, jeśli chcemy umieścić coś na internetowej i masz ustawione, że uprawnienia tylko można zobaczyć coś, wtedy nikt inny nie może zobaczyć, co stworzyliśmy. Co jeszcze? Tak. PUBLICZNOŚCI: Nie dopuścić, aby ktokolwiek inny nie chcę, aby zobaczyć coś, z widząc coś. JASON Hirschhorn: To też prawda. Jest chyba jakiś kod, który piszesz, że nie aby ludzie widzieli. Prawdopodobnie jesteś OK z osób widząc Twój HTML i JavaScript. Ale twój PHP, z powrotem kod zakończenia, wiele logiki w kodzie, może rzeczy, które przechowują niektóre z haseł do bazy danych, nie musisz aby ludzie widzieli, że rodzaj informacji. Dlatego tak ważne jest, że każdy plik i katalog tworzymy ma uprawnienia dotyczy tego, czy nie chcemy ludzi, aby zobaczyć te typy plików i katalogów i być w stanie się z nich korzystać i potencjalnie nawet je zmienić. Tak więc są trzy rodzaje uprawnień. Jest zezwolenie odczytu, co oznacza, można odczytać pliku lub liście Zawartość katalogu. Nie ma praw zapisu, który oznacza, że ​​można zmienić plik lub zmianę katalog, a następnie wykonać zgody, co oznacza, że ​​można uruchomi plik lub raczej ci można przenieść do katalogu. Więc CD coś, jeśli masz uprawnienie do jego wykonania, możesz przejść do tego katalogu. To jest krótki przykład. Ponownie, już przeszedł to w problem ustawienia. Ale utworzyć katalog z poleceniem mkdir. Zmienić uprawnienia. Te dwie linie faktycznie dokładnie to samo. To aby pokazać, że składnia zmiana uprawnień, czy robisz + x i 711, są to samo. Patrzymy na ten miły tabeli. Widzimy, że istnieje użytkownik Uprawnienia pierwszy. To ty, indywidualne i serwer, potencjalnie. I jest jeszcze grupa i inni. Różnice między tymi dwa są stosunkowo proste. Tak ogólnie, będziemy wrzucać ci razem. Ale w zasadzie, jeśli mamy plik nazywa obejmuje że chcemy być możliwość edycji siebie i że chcemy inni będą w stanie wykonać, to uprawnienie 711. I widzimy, że w dół tu w tabeli. Mamy odczytu, zapisu i wykonywania. Dla każdego z nas, chcemy być w stanie zrobić te. Grupy i innych, my tylko chcemy je, aby móc wykonać. Sposób tłumaczymy, że w szeregu Pozwolenie jest przez binarny. Więc jeśli mamy trzy z nich, to jest 1 w kolumnie jedynek, dwójek 1 w kolumna, kolumna 1 z czwórki. To 7 tam. I to uprawnienie jest 1. Uprawnienie to jest 1. Tak więc, gdy 711 jest taka sama, jak daje się czytać, pisać i wykonywać, i wszyscy wykonywania uprawnień. Ta linia tutaj, na ogół będzie się czytać i pisać, kiedy utworzyć katalog. Tak więc ta linia tutaj tylko dodaje wykonać przywileje dla wszystkich. Tak że byłoby zbliżone do nich, w dodatkiem do tego, co mamy, dodając, 1, 1, 1 do wszystkich. Natomiast to, że to niepotrzebne dodać czytać i pisać. Ale jeśli masz zamiar korzystać z numerów, nie można po prostu dodać coś. Nadpisanie cokolwiek zgody były nie i wdrożenie ich w nowy Numer dajesz. To było dość szybkie. Czy ktoś ma jakieś pytania o zmianie uprawnień? OK. Jeśli mam plik PHP, jakie uprawnienia chcę go mieć? To jest w zbiorze problemem spec. Więc można spojrzeć na spec i następnie przeczytać mi odpowiedź. PUBLICZNOŚCI: Chcesz użytkownikowi mieć uprawnienia do odczytu i zapisu. I chcesz wszyscy jeszcze się nie mieć nic. JASON Hirschhorn: I co numery to jest? PUBLICZNOŚCI: 600. JASON Hirschhorn: 600. Więc chmod 600 - gdy drukowanie plik PHP, chmod go do 600. OK. Mam katalog. Ktoś oprócz Jeffa, Mam folder plików. Jakie uprawnienia chcę dać do tego folderu - również problem ustawienia spec tuż poniżej tej odpowiedzi lub poprzednia odpowiedź? Potencjalnie na szkiełku - Marcus. PUBLICZNOŚCI: Na Folder, to 711. JASON Hirschhorn: 711 - więc folder, chcesz dać 711. Chcesz być w stanie odczytać tego folderu, zmienić katalogi, przenieść do ten folder. I chcesz, aby wszyscy mogli do poruszania się w tym folderze, ale nie muszą zmieniać jego zawartość. Co o pliku nie PHP, powiedzieć, plik JavaScript? Jakie uprawnienia chcemy dać, że typ pliku? PUBLICZNOŚCI: 644. JASON Hirschhorn: 644 - Dlatego chcemy dać 644? PUBLICZNOŚCI: pozwolić ludziom czytać. I czytać lub pisać. JASON Hirschhorn: Więc dobrze, wszyscy jeszcze można przeczytać, że plik JavaScript. I można zmienić, że oprócz na jest w stanie go odczytać. Tak więc jednym z najczęstszych bugs ludzi mają z tym problemu ustawić i ich Ostateczny projekt, czy to ostateczna internetowy Projekt jest, że zestaw nie będzie odpowiednie uprawnienia. I nie będzie mógł zobaczyć ich stronę. Lub określoną część swojej stronie internetowej. Więc upewnij się, że zestaw uprawnienia w pełnym zakresie. Nie należy zakładać, że będzie zrobić to automatycznie. OK. To była mała rzecz, że spędziliśmy dobry czas na tak możemy go przygwoździć. Przejdźmy do HTML. I znowu, w tych kolejnych czterech tematów, mamy zamiar przejść przez nich stosunkowo szybko. Więc prosimy, aby zatrzymać mnie w jakikolwiek czas, jeśli masz jakiekolwiek pytania, czy są one związane z tym, co obejmuje lub coś z wykładu lub nawet z ustawiona problemu. Zatrzymaj mnie, kiedy trzeba. Kiedy dotrzemy do końca, musimy po prostu zacząć chodzić na zestawie problemów. Stoi więc HTML Hypertext Markup Language. To nie jest język programowania. Wszystko to nie jest struktura treści a także niektóre metadane. Tak na przykład, prawdopodobnie wiele użyłeś Facebooka wcześniej. I można zawierać linki w, lub może umieścić link jako status. A następnie, można zauważyć, że link zawsze ma ładny obrazek do niego i trochę tekstu. Generalnie, jest to około metadata na stronie internetowej. Facebook i to specyficzne metadanych. A potem, kiedy się czyta, że ​​Facebook Strona i wstawienie tego linku, to Wygląda na określonej metadanych dlatego wie, co obraz do wyświetlenia, co tytuł do wyświetlenia, a co streszczenie tekstu do wyświetlenia. Więc możemy zawierać metadane z Nasza strona internetowa za pomocą HTML. A także pomaga nam strukturę Zawartość ogólnie co chcemy iść gdzie. Wszystko w formacie HTML jest elementem. I właśnie tutaj elementy - to CS50, tekst jest elementem. I to ma jakieś tagi. Ma to znacznik. I zauważamy jest w począwszy, a następnie ukośnik, tak zamykanie znacznika na końcu. Zdarza się, że nie jest otwarta Tag i blisko tag. Jest tylko jedna rzecz. Zobaczymy przykład, że na następnym slajdzie. Więc nie musisz otwarte i blisko znacznik. Ale za to, że są to encasing Element CS50 w tagu zakotwiczenia. I w istocie, te tagi powiedzieć Przeglądarka, co zrobić z dany element. Więc znowu, CS50 jest tekst mamy zamiar zobaczyć. I to ma być rodzaj łącznika. Kotwica jest zasadniczo używany linki do czegoś. W szczególności, jak to możliwe już powiedzieć, że jest to link do strony głównej CS50. Kolejna część tagu - lub ogólnie, tagi są częścią atrybutów. Widzimy tutaj, że ma jeden tag atrybutów, ten atrybut href. I zmodyfikować konkretny znacznik. W rzeczywistości, jeśli się do jednego z stron internetowych lub odniesienia dałem ci przed lub spojrzeć na etykietę w trybie online, można zauważyć, istnieje mnóstwo potencjalne atrybuty. Jest to prawdopodobnie jedna z najczęściej. To mówi mi, aby utworzyć link do konkretnej strony internetowej. I atrybuty zazwyczaj są podane, jeśli nie podano wyłącznie, w par klucz-wartość. Więc tutaj jest klucz, href. I wartość ta tutaj. I że będzie przydatna w przyszłości, kiedy zacząć używać jakieś biblioteki do Pomóż nam kod w JavaScript lub napisać zawartości HTML. Jesteśmy często będzie - tak jak my zrobi wspornik tablicy 0 i że da nam jakąś wartość. W przyszłości będziemy robić dużo rzeczy takie jak wspornik coś href. I że da nam wartość href, lub jeśli chcemy zaktualizować href klucz, a następnie nadać mu szczególności wartość. Tak jak z tablicami, gdzie mieliśmy klawisz 0 lub klawisz 1 lub klawisz 2 lub nawet z hash tabeli, dobrze, ze tabele z cebulą jak dobrze, to prawdopodobnie miał - to był tablicą, więc klucz 0, klawisz 1, klawisz 2. , Że wskaźnik, możemy pomyśleć, że jako klucz. I to bez względu na wartość przechowywano tam. Wszystkie te atrybuty są pary klucz-wartość. A to być ważne dla zmiany im lub ich aktualizacji lub wstawiając je później. Wreszcie, widziałem tę strukturę wcześniej, ale jest to najbardziej podstawowa Struktura strony HTML. Na górze, my wam, że Jest to w istocie HTML. A potem mamy otwartą HTML Tag i blisko tag HTML. Więc wszystko wewnątrz to jest HTML. Widzimy głowę i ciało. Szef dokumentu zazwyczaj obejmuje co? Wszelkie domysły dotyczące tego, co umieścić w głowie? PUBLICZNOŚCI: Możesz umieścić tytuł i styl. JASON Hirschhorn: tytuł. To był wielki przypuszczenie. I może cię do wyrzucenia. Jakie są inne rzeczy? Wspomnieliśmy, że jeden z nich może go w głowę. PUBLICZNOŚCI: Powiedział, style. JASON Hirschhorn: Style - więc jeśli chcesz połączyć w JavaScript lub nawet CSS, które mówisz o podczas rozmowy o stylach. Inny plik, chcesz połączyć w poza sprawy, które prawdopodobnie będzie w głowicy. Co jeszcze? Wspomnieliśmy kilka slajdów temu jedna z tych rzeczy, które HTML może zrobić dla Ciebie. Może zapewnić - Zaczyna się M - PUBLICZNOŚCI: Metadane. JASON Hirschhorn: Metadane - tak wiele metadanych trafi w głowę, ponieważ nie koniecznie być częścią ciała kodzie. To ogólnie - ciało jest zawartość, co ktoś widzi. , A więc po prostu oddał odpowiedź do mojego następnego pytania. Jednak w organizmie jest zazwyczaj zawartość który będzie wyświetlany na stronie internetowej. Jak zobaczymy, skomplikowane strony internetowe zazwyczaj przenikają się, co zmienić lub włożyli na głowy i ciała. Ale generalnie, głowa zawiera rzeczy że użytkownik nie będzie się zobaczyć na ekranie. Łączy on w innych plikach i dostarcza metadanych. Zważywszy, że ciało zawiera wszystko użytkownik będzie zobaczyć. Każdy pomysł, co to tag p znaczy? PUBLICZNOŚCI: Punkt? PUBLICZNOŚCI: Drukuj. PUBLICZNOŚCI: To nie znaczy, druk. PUBLICZNOŚCI: Czy to znaczy, paragraf? JASON Hirschhorn: Paragraf - tak to jest paragraf. I ten znacznik p, mogłem po prostu wpisane to na ekranie, a następnie zawiera podział wiersza na końcu. Ktoś wie jak m.in. Przerwa na linii? PUBLICZNOŚCI: PR - JASON Hirschhorn: PR - PUBLICZNOŚCI: Slash pr? JASON Hirschhorn: pr ukośnik stoi na linii przerwy. Ale paragrafy mają specyficzne formatowania. A my się do formatowania Drugi, gdy mówimy o CSS. Ale wszystko wewnątrz tych tagów p będzie mieć jakieś domyślne formatowanie związany z nim, prawdopodobnie niektóre Odstęp pomiędzy różne ust. I będzie to jeden ze sposobów, aby odróżnić bloki kodu. Wszelkie inne znaczniki - jakie są inne znaczniki, które widziałem? JASON Hirschhorn: H1 poprzez h6. h1 poprzez h6, a co to jest? PUBLICZNOŚCI: To oznacza, jak duże i śmiały litery są. JASON Hirschhorn: Prawo, to oznacza cel. I tak header1 jest duży nagłówek. To pewnie domyślnie być śmiały, duży rozmiar czcionki, prawdopodobnie na środku ekran, w dół do h6, który jest mniejszy rozmiar czcionki, mniej podkreślił. Oczywiście, można, w jesteś plik CSS lub gdzieś w kodzie, które - ponownie, będziemy mieć do tego w drugim - zmienić domyślne zachowanie, co z tagu H1. Ale należy pamiętać, że Chrome, Safari, Firefox, Internet Explorer mają domyślnie wygląda dla wielu te standardowe znaczniki. Można ponownie, zawsze zmienić jak wyglądają. Wszelkie inne znaczniki, które wszyscy widział? Tak - PUBLICZNOŚCI: strona div. JASON Hirschhorn: div tag - znacznik div nie ma żadnego wbudowanego formatu, na takie, że stosuje się zablokować różne rodzaje kodów. Wszelkie inne znaczniki? Tak. PUBLICZNOŚCI: li - JASON Hirschhorn: li - co jest li za? PUBLICZNOŚCI: Lista. PUBLICZNOŚCI: Lista JASON Hirschhorn: li jest dla elementów listy. Istnieją dwa typy list. Jakie są dwa rodzaje? PUBLICZNOŚCI: uporządkowane i nieuporządkowane. JASON Hirschhorn: Zamówione i nieuporządkowane - tak ul stoiska dla listy nieuporządkowanej. To jest, jeśli chcesz kulę wskazują, listę kul. Uporządkowana lista jest lista numerowana. I tak zrobisz otwartego znacznika ul a następnie ton elementów listy, a następnie zamknąć tag ul. i że wola utworzyć listę nieuporządkowaną. Jedziemy zobaczyć kilka przykładów HTML w kawałku. Ale wcześniej, chcę dostać się do CSS. I CSS oznacza Cascading Arkusze stylów. I to jest bardzo ściśle powiązany do HTML, ale nieco inaczej. To pomaga sformatować całą zawartość że struktury HTML. Więc w CSS, na ogół nie chcą styl każdy nagłówek lub każdy każdy pojedynczy obraz lub ustęp wolny. Chcemy projektować niektóre elementy czy może dany element. I sposób, w jaki styl specyficzny elementem jest, aby nadać mu identyfikator. Więc to jest atrybut. Ma klucza i wartości. ID jest kluczem. Logo jest wartość. Wybrałem logo losowo. A jeśli coś dać identyfikator, ogólnie, że należy tylko jednego elementu. A następnie, w arkuszu stylów, można styl, że dany element, jednak chcesz go szukać. Jeśli chcesz styl szereg elementy, może to pewna klasa nagłówków, tylko niektóre z nagłówków. Może to nagłówek i obraz i pkt wszyscy chcą się koncentrować. Następnie można nadać tym grupom wszystkich elementów klasy. A możesz podać klasę konkretne style. Więc ID i klasy są dwa sposoby rozbić swój kod, aby pomóc być dokładniej w to, co styl. Istnieją trzy sposoby, aby styl. Pierwszy z nich jest z atrybut ten styl. Więc widzisz, klucz styl jest styl. Styl jest rzeczywiście wartość kolejna lista wartości klucz. W tym przypadku wybrałem jeden klucz, text-align. I powiedziałem, centrum. Możesz być zadając sobie pytanie, co to punkt, skąd wiem o text-align. Co to w ogóle zrobić? To jest wielkie pytanie zadać, i mamy zamiar dostać się tam w drugim. Więc to jest jeden sposób, aby projektować coś, po prostu dać mu atrybutu style. Innym sposobem na styl coś jest - to Akshar wspomniano wcześniej. Możesz używać znaczników w stylu i umieścić, że w nagłówku dokumentu HTML. Więc w zasadzie powiedzieć, Zawartość wewnątrz tutaj pewne treści styl. I format to jest rzecz, którą chce projektować, a następnie, w środku nawiasy klamrowe, wartość klucza z parą atrybuty, które chcesz wysłać do ten konkretny typ elementu. Wreszcie, co jest Najczęstszym sposobem. I to jest sposób, w jaki zrobić w p zestaw 7. Jest to zewnętrzny arkusz stylów. Tak masz plik CSS.. I wewnątrz niej, można zobaczyć wiele rzeczy, które wyglądają tak, nazwa z pewnego rodzaju elementu lub identyfikatora lub klasy, a następnie, w środku kręcone szelki, lista par wartości kluczowych. Oczywiście, jeśli tworzysz zewnętrzne plik, będziesz trzeba dołączyć go - ostre obejmują, które być analogia C - w pliku HTML. Więc trzeba to m.in. Kod w pliku HTML. To jest nazwa pliku oraz zakładając, że w tym samym katalogu. OK. To było dużo. A my teraz będziemy oddychać i patrzeć na prawdziwych, żywych stronie internetowej i odkrywania tego więcej. Ale zanim to zrobimy, czy ktoś masz jakieś pytania? Więc jeśli chcesz to zrobić wraz z mi, możemy udać się do urządzenia. I wybrałem stronę główną CS50. Możesz to zrobić z dowolnej strony. Ale dlaczego nie możemy zacząć strona główna CS50? Chodźmy odświeżyć. I rzeczywiście robi bardzo polecam to razem ze mną, bo to, co zamiar zrobić teraz będzie bardzo przydatne dla Ciebie, nie tylko w P-Zestaw 7, ale w P-Zestaw 8 oraz. Tak. PUBLICZNOŚCI: Czy jest sposób na komentarz w HTML, nie używając PHP? JASON Hirschhorn: Tak, można zgłaszać uwagi w HTML. PUBLICZNOŚCI: Co jest składnia? PUBLICZNOŚCI: Wykrzyknik kreska kreska. PUBLICZNOŚCI: OK. JASON Hirschhorn: Tak. To jest składnia. Można zgłaszać uwagi w HTML. Można zgłaszać uwagi w PHP. Jak zobaczysz, będzie komentować w HTML wciąż pojawiają się, gdy patrzymy na HTML kod źródłowy danej witryny. Więc to cs50.net. Po kliknięciu prawym przyciskiem myszy w najbardziej nowoczesny Przeglądarki na niemal każdej stronie, można zobaczyć źródło strona. Więc zróbmy to na CS50. I oto okazało się, że zobacz olbrzymi rzeczy. CS50 faktycznie wygląda całkiem ładnie. Wiele stron internetowych nie będzie wygląda ten miły. Jeśli pójdziesz do strony głównej Google i go otworzyć. To nie będzie wyglądać ten miły. Ale można zauważyć, że na szczycie - jest to rodzaj małych. Zróbmy to większe. OK. Na najwyższym, DOCTYPE HTML, to jest znane. Następnie widzimy otwarty znacznik HTML i głowy, tutaj wszystko z tych meta tagi. I widać to OG, nie zamiar iść do teraz. Ale jestem prawie pewien, że na te byłyby Facebook. To jest rzeczywiście Facebook. Myślę, że stoi na otwartym wykresie. Więc pamiętaj, ja wspomnieć jest Metadane Faceboook można specyficzne dać na stronie. To jest to, co jest tutaj. Więc jeśli link do tej strony na Facebooku, obraz to będzie pokazać jest to zdjęcie tutaj. I rzeczywiście widać, że jest to Facebook, bo to Obraz Facebook. Ale tak czy inaczej, jesteśmy coraz bok. Tak więc mamy tu jakieś znaczniki metadanych. Widzimy tytuł CS50. I znowu, jest to, co dzieje tytuł tutaj w karcie przeglądarki. Widzimy to jest łączenie w, tutaj, zewnętrzny plik JavaScript. Nie rozmawialiśmy o JavaScript dużo, , ale w przyszłym tygodniu - a na pewno, jeśli robisz webowy problemu zestaw, będzie za pomocą JavaScript. W ten sposób można połączyć z zewnętrznym Plików JavaScript. Widzimy tu, w końcu, CSS arkusz stylów, który dokumentuje te style tego kodu. Załóżmy, że rzeczywiście się i otworzyć spojrzeć naprawdę szybko. Wygląda to szaleństwo. Nie ma mowy, że będę w stanie przeczytać. Więc rzeczywiście można jednak, jeśli wziąć wygląd, można zobaczyć, że coś w rodzaju istnieje - tam idziemy. To wygląda jak coś widzieliśmy przed, kolor tła, ustawiając go równe pewnym czerwono-zielono-niebieski wartości. Ten rodzaj rzeczy wydaje, że nie powinno zagranicznych, chociaż, gdy przedstawione w ten sposób, to może być nieco przytłaczające. Nie zamierzamy w tym pliku CSS lub spędzają dużo czasu na to, bo to jest, ponownie, dość trudne do odczytania. Wróćmy do tego Strona HTML na CS50. I niech przejdź do ciała. I wewnątrz widzimy DIV tag. Widzimy nagłówek tutaj. Widzimy znacznik zakotwiczenia. I jest to element listy podane konkretne klasy. I widzimy, że klasa powtarzane w kółko. Nie jesteś Curtis. Nie ma komentarzy w HTML5. I, jak można zauważyć, możemy jeszcze zobaczyć to, ale to nie jest wyświetlane. To rzeczywiście bardzo ciekawe. Wygląda na to, to listy punktów element jest komentarzem. Jeśli idziemy do tej strony, znowu, to jeszcze pojawia się tam, więc ciekawe. Ach, to dlatego, ponieważ tego następnego wiersza. Co jeszcze zobaczymy zainteresowania? Reszta to jest bardziej skomplikowane, w radzenia sobie z tym prawej połowie strona internetowa, która jest trochę nieco bardziej skomplikowany. Więc to jest to, co niektórzy HTML będzie wyglądać. Dla mnie jednak jest to mało przytłaczający, co nie ma pomóż mi, że dużo. Jednak jest coś, co nie, w rzeczywistości, pomaga mi dużo. I to jest to, co mogę używać, gdy jestem próbuje dowiedzieć się, jak coś wygląda tak, jak to robi, ani w jaki sposób Wprowadzam zmiany do mojej strony. I że jest to narzędzie dewelopera , który jest wbudowany w Chrome. Więc jeśli się do tego trzech barów prawo tutaj i zejść do narzędzi kliknij Developer Tools, okienko będzie pojawiają się na dolnej stronie. A w szczególności, Google Chrome, ponieważ jest wspaniałe, sformatuje to okno i wziąć HTML i sprawiają, że wyglądają dużo ładniejszy dla Ciebie. Więc teraz to rzeczywiście niektóre składane HTML, które można zbadać, aby sprawdzić elementy strony. Jeśli chcemy spojrzeć na ciało, faktycznie podkreśla. Podczas przewijania na część kodu HTML, w tym oknie, to będzie podświetlić część to mówi o w dużym oknie. Więc pozwól mi spróbować jeszcze raz cios to się trochę. OK. Warto więc otworzyć ciało. A ja na to przewijanie lewej div. I można zauważyć, że jest to podkreślenie Ten lewej połowie ekranu. Więc kliknij na to i rozszerzenia, które. Wewnątrz niego, wygląda na to, istnieją dwa DIV. Jest to pierwsza liga. Nie widzę, że podświetlone. Nie wiem, ale wygląda to tak Drugi, lewa wewnętrzna jest treść Po lewej stronie ekranu. Potem jest ta rzecz zwana nagłówek. Wygląda na to, że jest podkreślanie część CS50. Jeśli otworzymy, że się widzimy, że jest to nic więcej niż nagłówek 1. Jest podany identyfikator, i to podane CS50 tekst. Więc jeszcze raz, patrząc na to przez to konsoli lub za pomocą narzędzi programistycznych Okienko na dole ekranu marek odkrywania tej strony, mam nadzieję, i znacznie mniej zastraszające wiele bardziej dostępne. To także pozwala nam zrozumieć, że ta strona, choć wygląda bardzo ładna i miła, nie jest aż tak dużo więcej niż to, co masz zamiar być Problem robi się na zestaw 7. I to jest całkowicie w zasięgu zdolność do tworzenia. Jeśli chcemy - inne fajne rzeczy na temat korzystania z tych narzędzia jest, jeśli kliknąć prawym przyciskiem myszy na Tytuł można edytować kod HTML. Więc nazwijmy to Jason. I teraz można zauważyć, że zmieniły się HTML na tej stronie. Oczywiście, że nie zmieniły się na stałe. Gdybym odświeżyć swoją przeglądarkę, to byłoby wrócić do pierwotnego języka HTML. Ale czasem chcę debugować mojego kodu, i nie chcę patrzeć tylko moja Okno gedit i spróbować zrozumieć co się dzieje. Chcę zobaczyć, co będzie się działo na żywo. Więc będę edytować kod i uzyskać w ten sposób to sposób chcę go szukać. A potem zrobię zmiany w kodzie. I uważam, że jest to dużo łatwiejsze kiedy można robić rzeczy, natychmiastowo, tak. Powiedzmy, ponownie, chcemy, aby kolejna szansa, ponieważ badamy z HTML i CSS teraz. Mogę edytować kod HTML teraz. I mam zamiar podać link. Więc mam zamiar zmienić w domu CS50 strona, więc będzie link do - powiedzmy - stronę główną. Co to jest nazwa, czy ktoś przypomina, lub co jest cechą chcę dać na karcie kotwicy, kiedy chcę to łączyć się gdzieś indziej? PUBLICZNOŚCI: href? JASON Hirschhorn: href - Więc teraz, zobaczysz, że nie jest podkreślenie pod Jason. To dlatego, że Chrome domyślnie daje kotwice podkreślenie. Prawdopodobnie widziałeś, że przed kiedy już odszedł do strony internetowej. Rzeczy, które są sponsorowane są podkreślone i na niebiesko. Domyślny styl dla łącza jest na ogół podkreślają i umieścić go na niebiesko. Jeśli nie podoba mi się, że, Mogę zmienić. I zmienimy go w sekundę. Ale teraz, również zauważyć, że jeśli unoszą nad tym, w lewym dolnym rogu ekranu, tuż powyżej elementów słownych jest link, który dałem. Więc jeśli nie kliknij na to - i możemy kliknij prawym przyciskiem myszy na to, otworzyć nową kartę. Nie jest to faktycznie moja strona główna. To tylko moje nazwisko. Proszę bardzo. Musimy teraz przekształcić w link. Przyjrzyjmy się trochę CSS, jak również. Piękna rzecz - i mam zamiar zrobić to nieco mniejszy - o ta konsola jest, że szalony arkuszy CSS widzieliśmy wcześniej, że było naprawdę trudne do analizowania, jest pięknie określonymi dla nas z lewej strony z tego okienka. Więc możemy patrzeć. A jeśli rozszerzymy tę kartę style, my Możesz zobaczyć wszystkie różnych stylach , które są związane z, w tym przypadku, ten konkretny element, to element łączący. Jeśli robimy kartę style złożone, że tylko pokazuje nam, gdzie wszystko nie pochodzi, ale przede wszystkim z tych style, które działają na ten konkretny element teraz. I powiedzmy, że chcemy to zmienić trochę. Jest to więc wszystkie style, które są działających na tym konkretnym elemencie. Powiedzmy, że chcesz ją zmienić, bo Aby zobaczyć, jak coś wygląda. A my po prostu grać wokół teraz. Albo chcemy przetestować coś, przed pisanie w kodzie i pchania to i co żyć. Możemy przejść do zakładki style. W pierwszym polu jest mówi, element.style. I tu można wstawić, można dodać coś. Tak, chcę - chodźmy do mojego łącza i ustawić kolor tła. I faktycznie autofills go dla Ciebie, Wszystkie ewentualne właściwości. Kolor tła, a ja chcę aby ten niebieski. Blus nie jest słowo. Niebieski jest słowo. Czy widzę to wymyślić? Och, jest to, że ponieważ jest w href? OK. Więc nie widzę żadnych zmian tutaj. A to dlatego, jeśli podkreślają Link, można zauważyć, że związek w rzeczywistości nie jest kontrolowanie Właściwości tego konkretnego elementu. To rzeczywiście, jeśli otworzyć łącze, Ten nagłówek tutaj to kontroli, jak to wygląda. Więc jeśli chcesz, aby tło niebieski, tak naprawdę trzeba zmienić na kolor tła Element nagłówka. A teraz widzimy, że tło jest niebieskie. Więc jeszcze raz, to szybko może jechać przez ten materiał dość szybko. Ale to jest w zasadzie to, co masz zamiar robić. To nie jest na Problem Zestaw 7, ale na pewno kiedy jesteś kodowania w internecie. OK. Chcę, aby niebieskim tle. Mimo tego, że w tym przypadku niebieski wygląda dość brzydki. Mogę iść tutaj, bawić. Widzę, że zmienia go na niebieski nie działa na A. Muszę faktycznie zmienić nagłówek Element obejmuje błękit tło. A następnie, jeśli to ja wrócę do mojego CSS plik, w jaki sposób właściwie ustawić ten tło jest niebieskie i Wprowadzenie tej zmiany kij? Bo jeśli zauważymy, czy odświeżyć strona, wszystkie zmiany zrobiłem nie ma. Więc zdałem sobie sprawę, OK, moja tło jest niebieskie. Muszę iść do tego elementu header1 i zmienić kolor tła na niebieski. Jak mogę dokonać tej zmiany w rzeczywistości? Cóż, pamiętam, że jeśli wejdziemy do środka stąd ten nagłówek, Tytuł ma identyfikator. I to jest tytuł. I tak w naszym pliku CSS, możemy powiedzieć, OK, wziąć coś z ID tytule i dać mu tę dodatkową właściwość. Jak możemy odwołać się coś z ID tytule, wszelkie pomysły, lub innych wiedzieć, w jaki sposób odwoływać Identyfikatory w naszym pliku CSS? Hash, to jest dokładnie prawo. I masz podpowiedź, że tutaj. Więc gdzieś w tym pliku CSS, jest to linia kodu - # # Lewy-lewy wewnętrzny tytuł # header #. I to co daje margines dolny, definiując dolny margines tego dany element. Cóż, gdybym chciał to zmienić, Chciałbym przejść do tego pliku CSS. I to może albo znaleźć część pliku CSS. Lub można napisać własne. Mogłem zrobić skrótu tytuł nawias klamrowy i następnie dwukropek niebieski kolor tła średnik i blisko, że nawias klamrowy. I że będzie zmienić tło kolor tego elementu na niebiesko. Powodem dają tu jest tak wiele , że jest to konieczne w tym przypadku, bo tytuł jest unikatowy identyfikator. Ale co można zrobić, to gniazdo rzeczy. Tak to jest, mówiąc: OK, idź w lewo. To jest bardzo mały. Przepraszam za to. Ale idź do rzeczy z ID lewej. Wewnątrz tego, poszukaj sprawa z ID lewa wewnętrzna. Wewnątrz tego spojrzenia, poszukiwania sprawa z ID nagłówka. Wewnątrz, że wyglądają na rzeczy Tytuł ID i zmienić tytuł ID. Więc to jest tylko sposób gniazdujących rzeczy. Niektórzy ludzie jak gniazdo, bo to sprawia, że ​​nieco jaśniejsze. Zobaczysz tu również, tak tutaj, nie ma krzyżyka. To tylko h1. To dlatego, że h1 jest podana nazwa tagu ogólnej. I są pewne właściwości CSS związane z każdym h1. Jeśli więc znalazłem inną h1 na tej stronie, Chciałbym również zauważyć, że styl ten był stosowane do niego, jak również. Gdybym chciał zastosować styl do klasy, jak mogę odwołać się do klasy lub mówić o klasie w pliku CSS? PUBLICZNOŚCI: Dot. JASON Hirschhorn: To z kropką. Więc wróćmy do tej strony przed. Jeśli zrobić hash ID. To się zmienia styl z rzeczy z ID. I przepraszam, jeśli to zrobię hash logo, które jest znalezienia rzeczy z ID z logo i nadanie jej określonego stylu CSS. Jeśli zrobię coś. Top, który jest znalezienie wszystko z góry i klasy zmienia swoje style. Jeśli mam po prostu H1, że każdy znajdzie pojedyncze h1 i daje to, co styl chcę dać. Jeśli zrobić h1 przestrzeni czasu. Szczyt. Że będzie znaleźć wszystkie H1S a następnie wszystkie te z klasy górze i potem tylko zmienić te style do co chcę dać to. I ponownie, mógł napisać trochę tego na własną rękę. Ale nie dostał, że daleko. Znacznie lepiej, wydaje się rzeczywiście iść na prawdziwej żywej witrynie i zobaczyć, jak oni to robią i spojrzeć na wszystko fantastyczne rzeczy będziemy robić. Spójrzmy na jeszcze jedną stronę Zanim przejdziemy. I to jest jeden, że prawdopodobnie będziesz zapoznanie się z. To CS50 Finanse. Więc jeszcze raz, rzeczywiście można wejść i obserwować ten plik CSS na swoje komputer, ponieważ pobrałeś to Plik CSS, jeśli pobrałeś ustawić problemem. Możemy przejść do menu Narzędzia, a Developer Tools. I widzimy dużo prostszy układ HTML. Mamy górny, środkowy i dolny. I znowu, coś powinno być zna, dlatego, że spojrzał za pomocą kodu dystrybucji na ustawić w tym tygodniu problem. Na górze jest na kodzie, Pojedynczy obraz nazywa. I to jest źródło obrazu. Powiedzieć, że wszystko to, co skończył Chciałem do Problem Zestaw 7. I to działa prawidłowo, ale Chcę zmienić, jak to wygląda. I chcę zmienić tło od górnej strony do, np. niebieskim. Jeśli to było do mnie, bym się w tutaj i dowiedzieć się, w porządku, co chcę zmienić. Zobaczmy, div id góry, że wygląda jak górnej stronie. Więc chodźmy tam. Spróbujmy zmiany kolor tła. Chodźmy zrobić Alice niebieski, ponieważ to jest ładniejszy jeden. I można zauważyć, że - prawdopodobnie nie widzę. Ale jest światło niebieskie, obok logo CS50. Załóżmy, zamiast zmienić je na czerwono. A zauważysz, teraz po prostu zmienił kolor tła na czerwony. Więc teraz pójdę do mojego pliku CSS i wpisz # top paren kręcone tutaj. Widać odpowiedniego kodu tutaj, nawias klamrowy. A potem, chciałbym dodać tło kolor czerwony. I wtedy, nie byłoby być nawias klamrowy. Tak to jest, jak ja zbadać i eksperymentować z formatowaniem na CS50 Strona finansów. Mogę to zrobić tu i testu to na mojej przeglądarce. A potem, mogę iść do mojego aktualnego kodu i dokonać zmian, które będą faktycznie go na żywo i że ludzie faktycznie zobaczyć, gdyby dojść do moje specyficzne miejsce. OK. To było dużo. Przepraszam, przeżywa to tak szybko. Czy ktoś ma jakieś pytania w ogóle o HTML i CSS? PUBLICZNOŚCI: możesz po prostu przejść jak powiązane, co stało się Jason, znowu? JASON Hirschhorn: Co masz na myśli związane? PUBLICZNOŚCI: Podany link do innego strona internetowa, za pomocą kotwicy. JASON Hirschhorn: Więc pytasz, tak ogólnie, jak to zrobić link? PUBLICZNOŚCI: Tak. JASON Hirschhorn: OK. Kod do tworzenia link - PUBLICZNOŚCI: Nie, jak w HTML. JASON Hirschhorn: Tu na dole, masz na myśli? Więc jeśli chcę zawierać link gdzieś, powiedzmy, to jest na moim HTML strona tutaj. To jest HTML. Może to jest otwarte w pliku index.html. Idę w. Miejmy tego prawa autorskiego Jana Harvard Link do czegoś. Więc będziemy edytować to wszystko jako HTML. Wszystko co musisz zrobić to obejmować a, tak wspornik bliskie w uchwyt począwszy, a następnie wspornik ukośnik nawiasu na końcu. Teraz podaję znacznik zakotwiczenia. I rzeczywiście, jeśli klikniesz z tym, że będzie teraz sformatować go edytować w formacie HTML. I powiedzieć, że chcemy je połączyć. Chcemy Ci atrybut href. I mówimy - A teraz, jak można zauważyć, prawa autorskie John Harvard jest niebieski. I kiedy Przewiń to, że teraz link. Więc można napisać, że kod. Możesz otoczyć prawie wszystko chcesz w tagu zakotwiczenia i włącz go pod linkiem. PUBLICZNOŚCI: OK. Rozumiem. JASON Hirschhorn: A jeśli nie chcę to - oczywiście, czasami ludzie mają tendencję się, że te rzeczy, które po prostu wyglądają niebiesko i podkreślone są ogólnie nie najładniejszy sposób na link. Więc jeśli tu przyjść, zobaczyć, że, gdzie w css jest napisali ten, a następnie dwa nawiasy klamrowe. Więc powiedzmy, że za linki, nie wiem chcesz, aby stać się niebieskie, a ja chcesz kolor linku do jest to ładny różowy. Dajmy mu kolor. Miejmy odebrać magenta. Teraz wszystkie linki na mojej stronie mają się ten ładny kolor magenta. Niektórzy ludzie nie lubią kolory w ogóle. Niektórzy ludzie nie lubią podkreśleń. Można dostać się do piłki. Z linkami, można projektować jak wyglądają jak już odwiedził je. Jak można zauważyć na wielu stronach, linki kolei fioletowy na ich odwiedzić. Możesz zmienić ten kolor, jak również. Tak. PUBLICZNOŚCI: Więc to zmienić dla każdego łącza. Ale jeśli po prostu chciałem zrobić tego linku Sam, by po prostu zrobić w ID dno, czy co? JASON Hirschhorn: Więc wielkie pytanie. Jak zauważyłem tutaj, zmieniłem niektóre część CSS, który ma zastosowanie do wszystko to jest A. Gdybym chciał po prostu zrobić ten link na dole, ja pójdzie do mojego pliku CSS i prawdopodobnie nie tylko, jak pan powiedział, hash dolna przestrzeń. I że da mi wszystko jak w dnie. Albo może, ewentualnie, dać mu unikatowy identyfikator, a następnie po prostu zrobić link, hash. I że będzie mi pozwolić zmienić to. Jednakże, po prostu rozdawanie identyfikatorów chcąc nie chcąc jest na ogół złe praktyka, ponieważ te powinien być unikalny. I więcej masz tym, że może być trochę mylące. Tak. PUBLICZNOŚCI: Czy możesz dać sam Identyfikator do wielu właścicieli? JASON Hirschhorn: Technicznie tak. Nic się nie zatrzymać, ale nie powinien powinien dać mu klasy. OK, żadnych innych pytań o HTML i CSS? OK. Przejdźmy do PHP. O, tak. PUBLICZNOŚCI: Co takiego jest w tych strony internetowe, które oznacza, że ​​możemy edytować je przed odświeżyć. Ale kiedy to powraca odświeżyć Powrót do pierwotnego HTML? JASON Hirschhorn: Wielkie pytanie - więc kiedy mamy załadowane to strona internetowa, to HTML. I to jest JavaScript. Jego PHP jest wykonywany, aby dać nam cokolwiek rodzaj strony internetowej widzimy. I to stworzona niektóre HTML, niektóre JavaScript, CSS i niektóre. I to jest teraz dostępny przez naszego komputera. Oraz kopię tych plików jest zapisywane lokalnie na naszym komputerze, na razie. Więc możemy edytować ten lokalną kopię. Ale oczywiście, nie jesteśmy edycji kopia serwera. A kiedy odświeżyć stronę, mamy kolejną kopię serwera. I tak widzimy rzeczy z powrotem, jak były. Jeśli byliśmy w stanie, stąd, aby edytować Oficjalna strona, to mamy dużo problemy. PUBLICZNOŚCI: Tak, tak, możemy przeczytać i napisać tę kopię. JASON Hirschhorn: Prawo. Robimy tylko lokalne zmiany tutaj, ale znowu, bardzo pomocne do zwiedzania, często. Kiedy piszę mojego ostatniego projektu, dla przykład, chcę zobaczyć, jak niektórzy strona wykonana coś wygląd sposób zrobili. Pójdę i użyć tego okienka w dół tutaj, aby spojrzeć na to, co dali do CSS to albo jaki kolor wybrali lub jak ma to tak, że kiedy unosił nad czymś, przyszedł list w ładnym kaskadowym mody. Jest to świetny sposób, aby sprawdzić, jakie inne strony zrobić i pożyczyć od nich. Przejdźmy do PHP. PHP oznacza, w sensie cyklicznej, PHP Hypertext Processor. I PHP, co to zrobi jest wykonanie kodu po stronie serwera. Więc nigdy nie będziemy widzieć kod PHP. Jednak to nie dobrze z HTML i często generuje dużo kodu HTML. Ale jak będziesz znać problem Zestaw 7, kod PHP będzie wykonywać, generuje niektóre HTML, i to, co użytkownik skończy się widząc. PHP jest bardzo podobna do C Jednakże, istnieje kilka różnice, a różnice te Ważne jest, aby pamiętać. Jedną różnicą jest to, że zmienne w PHP są luźno wpisane. Czy ktoś ma poczucie z tego, co to znaczy? PUBLICZNOŚCI: Nie ma potrzeby, by go rzucić się. Jak nie ma potrzeby, aby napisać w tekście. JASON Hirschhorn: Nie użyłbym Słowo obsada, ale tak, to nie ma potrzeby, aby zadeklarować Typ dla konkretnej zmiennej. Jak zamiast mamy zadeklarować zmienną? PUBLICZNOŚCI: Użyj znak dolara. JASON Hirschhorn: Użyj znak dolara. Tak więc $ x jest zmienny. $ 1 jest zmienny. $ String jest zmienna. Te zmienne, $ x może jest liczbą całkowitą. Następnie, może to być ciąg. Następnie, może to być znak. To naprawdę nie ma znaczenia. Również fajne rzeczy o PHP jest, powiedzmy, $ x jest jeden ciąg. I $ y jest postaci jednego. Możesz dodać $ x i $ y, i to będzie daje 2, co można się spodziewać. Więc są operacje w PHP. Ponieważ jest luźno wpisane zmienne, niektóre niejawny odlewania odbywa się dla Ciebie i niektóre operacje. Możesz zrobić operacji na rzeczy różnych typów. Podczas gdy przed, często pojawia się błąd w C mówiąc, nie jest to typ które miało być tutaj. Tylko rzeczy tego typu mogą udać się tutaj. Nie dostaniesz tego typu błędu, ogólnie, w PHP. Więc to jest jedna wielka różnica - jak radzić sobie ze zmiennymi. Drugą ważną różnicą jest to, że Kod PHP jest interpretowany. Gdzie jest kod C jest kompilowany. Co to znaczy? Cóż, dla kodu C uciekłeś to przez kompilator. Wygenerowaniu pliku binarnego. I pobiegł, że plik binarny. Ci zadbał o wszystkie błędy przed wygenerowaniu pliku binarnego. Oczywiście, nie może być segmentacji usterek, gdy prowadził plik binarny. Ale to nie jest tak, że zapomniałeś włączyć Definicja printf lub Nie możesz użyć zmiennej i po prostu stworzył zmienną marnotrawstwa. Lub nie określiła Prototyp funkcji. Wszystko, co się stało, zanim opracowano. Dał ci wszystkie błędy i złe rzeczy, że to, że może się zdarzyć. A potem trzeba było się z 0 i 1 plik, który prowadził. Kod PHP nie działa w ten sposób. Masz zamiar napisać kod PHP. Potem idziesz do zapisać go, prawdopodobnie. I przynajmniej w P-Zestaw 7, będziesz odśwież przeglądarkę internetową i masz zamiar zobaczyć, co się stało. Będziesz widzieć wyjście tego kodu PHP. Możesz także zobaczyć, na szczycie z twojej strony, błąd. Bo miał pewne Błąd w PHP. Można jeszcze zobaczyć resztę strona wygląda dobrze. Ale jedna część jest nie tak, i nie Błąd w tym miejscu. A to dlatego, że część Twój kod PHP nie działa. Rzeczywiście, podczas wykonywania, kiedy Do czegoś takiego by.php. To będzie przejść przez PHP plik linia po linii i wykonać ją wtedy i tylko wtedy. To nie będzie go skompilować przed czas lub skompilować jedną kopię, a następnie podać że skompilowane kopie wszystkim. Za każdym razem, to będzie przejść przez linia po linii i wykonać go. Więc niektóre linie mogą pracować i coś prawidłowe wyjście. I innych linii może być uszkodzony i wyjście błędu zamiast. Więc podczas debugowania w PHP, daliśmy Ci kilka przydatnych rzeczy Aby pomóc w debug, jak Funkcja zrzutu. Ale ogólnie, będziesz zobaczyć te błędy. I to jest, jak masz zamiar Wiem, że zrobił coś złego. Ale jesteś tylko zobaczymy błąd gdy faktycznie uruchomić kod. Innym ważnym aspektem PHP i tworzenie stron internetowych to pomysł get w porównaniu do rywali. Czy ktoś może mi wyjaśnić, jaka jest różnica między GET i POST są? Nikt - Tak. PUBLICZNOŚCI: Nie jeden z nich pozwalają użytkownikowi zobaczyć dane, a jedna z nich nie ma? JASON Hirschhorn: Świetnie. Tak, masz coś do dodania? PUBLICZNOŚCI: Mam cienkie post super zmienna globalna. JASON Hirschhorn: Więc oba te zmienne są wam dane. Są to tylko zmienne. A wiesz, że są zmienne, bo tutaj ja używa znaku dolara. Podane są zmienne ci przez PHP. I podczas przenoszenia między stron internetowych, chcesz zapisać informacje. Prawdopodobnie chcesz zaoszczędzić, jeśli Użytkownik jest zalogowany To nie jest zapisany w GET i POST. , Który jest zapisany w coś innego, inna zmienna. Ktoś wie, co jest zapisane, że zmienna w, lub to, co można użyć w zmiennej P-Set 7, aby upewnić się, że użytkownik jest zalogowany? $ _SESSION, To jest dokładnie w prawo, chyba ważne, aby znać nazwiska tych rzeczy używasz często. Więc użyć zmiennej sesji, aby zapisać informacje ze strony na stronę. To jest bardzo zmienna. Istnieje, to na każdej stronie, może jak zmienna globalna, jeśli chcesz, aby myśleć o to tak. Istnieje kilka innych zmiennych które pozwalają na przekazywanie informacji od strony do strony. W szczególności te, będziemy koncentrować się na są zmienne GET i POST. W PHP jak wyglądają $ _GET I $ _POST. A różnica jak wskazano Marcus się między dwoma z nich jest to, że informacji jest w $ _GET wyświetlany w adresie URL. Więc jeśli spojrzymy na dół, widzimy link do YouTube. Widzimy ten znak zapytania. Widzimy v = a potem jakąś wartość. Powrót do tej idei wartości klucza Para, v jest kluczem. A tutaj jest wartość. Tak, jakbyśmy byli iść do tej strony lub kodowanie na tej stronie, musielibyśmy zmienna o nazwie $ _GET. Jeśli wybraliśmy się do $ _GET otwarty nawias "v" nawiasu, bardzo podobny do tablicy Zapis ten jest stowarzyszony tablicy ponieważ nie używamy indeksów. Używali ciągi jako klucze. Ale bardzo podobny pomysł. Jeśli tam pojechaliśmy, by uzyskać tę wartość. Na tej stronie, że będziemy w stanie użyć tej wartości. Jeśli rzeczywiście spojrzymy, niech przejdź do strony YouTube. Jaki film należy oglądać? Ten jeden, są ludzie Hobbit fanów? PUBLICZNOŚCI: Tak. JASON Hirschhorn: Więc jestem kopiowania URL akcji i ich wklejając go w nowym oknie. A teraz, jeśli spojrzeć tutaj, będziesz zauważyć, że po raz - Mam zamiar skopiować i wkleić do gedit, więc widzimy, że większe. Zauważysz, że ma ten znak zapytania. Znak zapytania oznacza, że wszystko po to będzie zapisany w zmiennej GET. Następnie ma v, to pierwszy kluczem i jest pierwsza wartość. Ampersand jest wyjątkowy. Ampersand mówi, OK, zakończył pierwszą wartość. Jesteśmy teraz przeniósł się do innego Para wartość klucza. Tu przycisk jest nazywane funkcją, i wartość youtu.be. Więc jeśli ja tę stronę i kodowanie ktoś poszedł do tego adresu URL i miałem może watch.php. A ja kodowania to. I mogę użyć zmiennej $ _GET. I chciałbym mieć v, a Chciałbym mieć funkcję. I jeśli mogę użyć przycisku v, I by uzyskać tę wartość. A jeśli ja $ _GET wspornik "funkcja" zamknij nawias, chciałbym uzyskać tę wartość. I znów, nie ma konieczności stosuje się do - Oczywiście, klucze i wartości YouTube i uzyskać informacje, nie ma zastosowania do Nasz problem Ustaw 7. Ale są pewne rzeczy, które przejść przez GET w nasz problem Set 7. I z pewnością, gdy idziesz do strony internetowej lub są kodowania własną stronę, $ _GET Będzie przydatna gdy Twój kodowania. Co to jest jeden powód, aby użyć $ _GET następnie, jeśli nie daje prywatność? Widzisz te wszystkie informacje , który jest przeniesiony. To wszystko jest wyświetlane użytkownikowi. Ale to, co jest jednym z powodów, które mogłyby Aby zapisać coś w $ _GET, jak przeciwieństwie do $ _POST? Dlaczego warto to robić? Dobrze. Poprosiłem cię Quiz 1. Co to jest pro z $ _GET? Co znajduje się jeden pro? Tak - PUBLICZNOŚCI: Łatwiej udostępniać informacje. JASON Hirschhorn: Myślę, że to świetnie. Łatwiej dzielić się informacjami. Łatwiej zakładki. Teraz można tworzyć zakładki, YouTube.com / watch? V = coś i iść do tej konkretnej wersji. Jeśli zawsze robił YouTube do żądania POST różne strony, każdy adres URL YouTube byłoby YouTube.com. Nie można zakładki jeden film. Bo jeśli mówisz, że udostępniony link, z kimś innym, nie automatycznie uzyskać zmienną postu. Oni po prostu się ten link, i Link jest taki sam dla wszystkich. Tak, że jest pro. To pozwala odnieść do informacji lub udostępnić te informacje lub zrobić to trochę bardziej przyjazny dla użytkownika. Oczywiście, nie ma prywatności, więc mamy tę zmienną postu. I nie jest po informacje wyświetlany w adresie URL. To nie jest całkowicie prywatne. Ale jest nieznacznie bardziej prywatne. I tak zobaczysz ten adres URL tu, cs50.net. Czy jesteś zalogowany do strona www, to będzie mieć taki sam Adres URL, cs50.net. Oczywiście, coś innego, jeżeli nie jesteś zalogowany na stronie. Masz, jeden, zapewne Wejście PIN. I potwierdziła, że z serwera. I to chyba oszczędności niektóre inne informacje. Ale adres URL nie zmienia w ogóle. I tak, że jest to przypadek, gdy coś jest wysyłane pocztą. Adres URL nie zmienia. Ta informacja nie jest PO wyświetlany w adresie URL. Ale niektóre państwa zmienił, a może istnieją pewne informacje zapisane w Zmienna POST. Przepraszam. zanim pójdę do SQL, każdy pytania o PHP, w szczególności, pytania na temat rzeczy nie przejść że znalazłeś lub dowolnej składni lub logiczne pytania o PHP? OK. Ostateczna język będzie interakcję z tym tygodniu Structured Query Language SQL, wymawiane sequel często. Które pozwala na interakcję z baza danych, w sposób sformalizowany. I gra bardzo ładnie z PHP. Jak zobaczysz w Problem Zestaw 7, mamy wam funkcję o nazwie kwerendy. I zajmuje ciąg SQL i wykonuje że kwerenda w bazie danych. W poprzednich latach, nie były podana funkcja. Trzeba było użyć funkcji PHP, aby Kwerenda w bazie danych i kontroli za błędy i uzyskać wyniki. I rzeczywiście, to nie jest takie trudne, bo raz, że gra bardzo ładnie z PHP. I PHP daje wiele funkcji współdziała z bazą danych SQL. Tak często, dwa te idą w parze. Oczywiście, można wchodzić w interakcje z z dowolnej bazy danych SQL Wiele innych języków. Ale PHP jest wielki do wyboru. Baza danych - pójdziemy na to szybko, bo to jest buzz word będziemy rozpocząć korzystanie z często - Jest to zbiór tabel. Więc możemy myśleć o tym, jako plik Excel. Plik Excel zawiera wiele kart w dolnej części ekranu. Każda karta my teraz nazywamy tabelę, w której Tabela jest zbiorem wierszy. I to, co jest wiersz? Dobrze, że rząd jest samo w pliku Excel. Że po prostu ma pewne wartości dla każdego dane pole lub każdy danej kolumnie. To jak wpis w tabeli. To uczeń, który ma numer ID, konkretne ID, a nazwa i specyficzne specyficzny dom. Tak więc baza danych jest zbiorem tabel. I same tabele są liczba wierszy lub rekordów. Istnieje również w każdym stołowe, niektóre pola. A, który określa, co każdy rekord jest będzie miał pola czasami nazywane kolumny, ale na ogół zwane pola. W tej bardzo prostej tabeli, mam trzy pola, pola ID, nazwę użytkownika pole, a pole krzyżyka. I mam trzy wiersze. Teraz, że są puste. Prawdopodobnie nie będzie pusty jeśli to była moja prawdziwa baza danych. Więc jeśli już używane Excel, podobny pomysł do tego, co robisz w programie Excel, chociaż, Oczywiście, teraz mamy zamiar być w stanie zrobić wiele mocniejsze rzeczy na Informacje, które są przechowywane w naszej bazie danych. Będzie stworzenie sobie jedną baza danych Problem Zestaw 7. Ale będziesz tworzenia wielu Tabele w bazie danych. Będziesz tworzenia bazy danych lub stół dla użytkowników. Będziesz także tworzenia tabeli dla Prawdopodobnie transakcji giełdowych, aby utrzymać utwór z nich, bo trzeba wdrożenie funkcji historii. Oba te tabele będą miały różnych dziedzin. Na przykład, w polu obsługi, można Prawdopodobnie chcesz swoją nazwę użytkownika i ID oraz hash hasła. W tabeli zasobów, które śledzi Historia Historia lub tabeli, można Prawdopodobnie nie trzeba nazwę użytkownika i mieszania i ID. Prawdopodobnie wystarczy jeden z tych Wartości, które są unikalne, skojarzyć że z danego użytkownika. Ale potem, chcesz przechowywać inne rzeczy, jak to, co czas Transakcja została wykonana. Co Zdjęcie kupił lub sprzedał? Ile akcje magazynie kupił lub sprzedał? Jaka była cena, po której Zdjęcie było kupić lub sprzedać? Więc jeszcze raz, idziesz do interakcji z baz danych jest będzie mieć wiele tabel. Każdy stół będzie miał własny zestaw pól. Jednakże, prawdopodobnie będzie podobny Pole w każdej tabeli że odnosi się je do siebie. Zazwyczaj jest to pole ID. Bo jeśli każdy użytkownik ma unikatowy identyfikator i powiązać to z każdym ID Transakcja, która sprawia, że ​​użytkownik lub całej historii tego użytkownika. I masz identyfikator użytkownika. Można uzyskać informacje z każdej tabeli. Możesz dostać swój login, a ty można uzyskać wszystkie swoje transakcje. Wszelkie pytania dotyczące baz danych, lub konkretne pytania? Rzeczywiście, niech uważają, że. Będziemy tam w dwie strony. Tak więc występują cztery operacje na bazy danych, które można używać w Problem Ustaw 7 i prawdopodobnie kiedykolwiek używać. Pierwszą rzeczą, którą chcesz zrobić, to wkładka nowy rekord do tabeli lub nowy wiersz do tabeli. Funkcja ta jest nazwą rodzajową, Ogólna forma, tej kwerendy SQL. INSERT INTO tabeli, niezależnie od kolumny chcesz wstawić, a następnie wartości, które masz zamiar chcesz wprowadzone do tych kolumn lub pól. Jeśli masz wiele tabel w bazy danych lub wielu baz danych, wy może również trzeba określić bazę danych i stół, który chcesz umieścić rzeczy. Ale bardzo proste, jeśli chcesz wstawić do czegoś, można powiedzieć, są Pola chcę wstawić do. I tutaj są wartości. W niektórych tablicach, również i ta użytkownika Stół jest dobrym przykładem. Prawdopodobnie w tabeli tej instrukcji i prawdopodobnie w twojej tabeli użytkownika w P-Set 7, nie tylko wartość nazwę użytkownika. Nie tylko wartość środków pieniężnych, lub pole, raczej. Istnieje również pole ID. Nie zamierzam wstawić to pole ID. Że będzie mieć do mi automatycznie, gdy Nowa płyta jest włożona. Więc jest, że niektóre pola mogą ustawić się automatycznie. Może chcesz dać każdemu użytkownikowi 10.000 $ gotówki nietoperza. Więc nie trzeba wkładać ilość gotówki tutaj. Wszystko czego potrzebujesz, aby wstawić to nazwa użytkownika. A następnie, gotówka będzie pole wstępnie wypełnione, a pole ID będzie być wstępnie wypełnione. Tak często, że nie jesteśmy wstawienie coś w każdej dziedzinie, ponieważ te inne pola są wstępnie wypełnione. Bo to, w jaki sposób utworzenia tej tabeli. Druga rzecz, którą zamierzasz chcesz zrobić, to usunąć rekord. Usuwanie coś jest bardzo prosta. Dajesz tabelę, w której chcesz usunąć coś z. I można powiedzieć, OK, chcę usunąć zapis, że ma nazwę użytkownika Milo. Czy chcę usunąć wszystkie rekordy mieć nazwę użytkownika Milo lub które były Transakcja z numerem ID użytkownika 2. Wszelkie pytania dotyczące tych dwa rodzaje zapytań? PUBLICZNOŚCI: [niesłyszalne]. JASON Hirschhorn: Tak. Więc mam zamiar używać wiersza i rekord zamiennie, a niektóre z kolumny i pola. Ale jeden wiersz jest jeden rekord. Jedna kolumna jest jedno pole, będzie kopii tej tabeli. OK. Następną rzeczą, jesteś prawdopodobnie zamiar zrobić, to niektóre Dane z tabeli. To jest zapytanie SELECT. I znowu, co tabela ja wybierając z? A co kolumna chcę zaznaczyć, lub jaką wartość chcę, aby wybrać i z których rząd? Wybór jest więc nieco specyficzne. I powiedzieć, OK, chcę tej tabeli. A potem chcę nazwę użytkownika kolumny, a Chcę go z wiersza z ID 2. To jeden ze sposobów, aby zrobić Wybierz. I mogę powiedzieć, co mi Pojedynczy nazwa użytkownika. I mogę powiedzieć, dać mi całą wiersz z tabeli, w której nazwa użytkownika to 1. Tak, istnieje kilka sposobów na należy wybierać pytania, w zależności od dużo informacji chcesz, Zawsze można po prostu wybrać wszystko od tej konkretnej tabeli, a następnie pętli przez niego, wybierając rzeczy, które chcesz. Ale należy pamiętać, jeśli wybierając Wiele rzeczy z tabeli i mają naprawdę duży stół, który odbędzie jakiś czas, więc tylko wybrać najlepiej rzeczy, które masz zamiar do końca się z wykorzystaniem. Również z Wybierz i wszystkie z nich innych poleceń SQL, a także, że jestem daje wersję goły. Ale powiedzieć, mam wyboru użytkowników i chcę drukować je w kolejności alfabetycznej, Mogę wybrać wszystkich użytkowników, a następnie sortowania je alfabetycznie w moim kodu. Czy istnieje sposób, aby napisać wybierz Kwerenda, która wybiera rzeczy w moda alfabetycznie, opiera się o konkretne kolumny, albo rosnąco lub malejąco. Tak więc należy pamiętać, że wiele z tego, co chcę zrobić można pewnie zrobić w zapytanie poprzez dodatkowe atrybutów. Więc nie patrzeć te zapytania online lub inne rzeczy, które możesz zrobić z nich Zapytania do ich rozszerzenia. Wreszcie, ostatnią rzeczą, którą chcesz zrobić, coś nie wstawić lub usunąć coś, lecz aktualizować coś. I że odbywa się to z aktualizacją zapytanie, i znowu, co tabela. I jakie zmiany chcę zrobić? I do których nie wiersz lub rekord Chcę, aby to zmienić? Wszelkie pytania dotyczące SQL? OK. Więc mamy około 15 minut. I to jest ostatni slajd mam. I miejmy nadzieję, że to ostatni slajd jest dobry segue do problemu ustawić, ponieważ zrozumienie, gdzie chcemy wstawić rekordy, usunąć je, wybierz będzie im, i nam je aktualizować zrozumieć logikę i większy przepływ problemu Zestaw 7. Tak, znam wszystkie odpowiedzi na te pytania. Nie zamierzam ci powiedzieć wszystkich odpowiedzi. Ale jeśli ktoś chciałby przedstawić pytanie do grupy lub odpowiedzieć na pytanie jednego z tych, możemy używać, jako baza wypadowa do mówić o zbiorze problemów. Lub jeśli ktoś ma bardziej ogólny pytanie z zestawu problemów, poczuć się zapytać, że dobrze. I możemy rozpocząć tam. Należy pamiętać, że milczenie rani wszystkich. Tak. PUBLICZNOŚCI: Więc jest to jedyny sposób, aby przekazać Zmienne do iz różnych web stron lub najwygodniej sposób, za pomocą POST lub GET? JASON Hirschhorn: Tak tak, że jest Najwygodniej powiedzieć - gdy ktoś wypełnia formularz - uzyskać informacje na temat innej sieci strona, za pomocą GET lub POST. Ze względu na ramy używamy w tym zestawie problemów, zauważysz że wiele razy, że renderowanie inną stronę. my też mamy uczynić inny plik, nie koniecznie inna strona. Więc przekazać w zmiennej. A potem, to świadczy Strona HTML, przy użyciu Informacje z tej zmiennej. To nie jest technicznie przejściu informacji między różnych stron internetowych. Że jest przekazywanie informacji pomiędzy różnymi plikami. I tak możemy użyć dowolnego Zmienna to zrobić. Ale tak, jeśli chcemy przejść informacje z danej strony do innej strony, by GET i POST być sposobem na to. Wszelkie inne pytania dotyczące ustawić problem? OK. Idziemy przez, a następnie, specyficzne Część tego problemu ustawiona. Będziesz musiał w pewnym momencie, wyświetlić na czyjąś portfolio ekran. Co mam na myśli, kiedy mówię, portfel, W związku z tym problemem ustawione? PUBLICZNOŚCI: To jak, że zapasy mają how, wiele akcji są właścicielami, cena, a ile pieniądze nie opuściły. JASON Hirschhorn: Brzmi świetnie. Tak, chcę, aby wyświetlić wszystkie akcje ich właścicielem do każdego spółka akcyjna jest akcji i prawdopodobnie ile to wartości, a następnie oddzielne zmienne, ile pieniędzy właścicielem. Tak, że chcę, aby opisać to. Zacznijmy rozmawiać o tym, jak mogłem do tego zabrać, co tabele jestem będziemy mieć do być w stanie to zrobić. Tak - PUBLICZNOŚCI: użytkownicy No, a potem, myślę, można zrobić tabelę o nazwie Udziały lub coś w tym stylu, który Ile byłoby ich nie kupił. JASON Hirschhorn: OK. Więc będę potrzebował tabeli o nazwie Użytkowników, które śledzi nazwa użytkownika, prawdopodobnie, prawdopodobnie jakiś ID, Prawdopodobnie hasło danej osoby. Co to jest coś, co można po prostu powiedział, że jest związany? Ktoś oprócz Michała, co jest coś, co jest związane z Każdy użytkownik, unikalny do nich? PUBLICZNOŚCI: ID. JASON Hirschhorn: ID - co jest jedna rzecz, że jesteśmy Prawdopodobnie będzie chciał wyświetlane na tej stronie? PUBLICZNOŚCI: Ich nazwa. JASON Hirschhorn: Ich nazwa - co jest inna rzecz związana z tym ustawić konkretny problem? PUBLICZNOŚCI: Jakie akcje są właścicielami - JASON Hirschhorn: Nie zamierzamy być dużo, co zapasy są właścicielami. Co jest jedną określoną wartość, choć, że będą mieć z nimi związane? Jak mają zamiar kupić i sprzedać swoje akcje? PUBLICZNOŚCI: Gotówka. JASON Hirschhorn: Są będzie mieć gotówkę. Więc każdy użytkownik będzie miał jedna wartość dla pieniędzy. I że będzie unikalne dla każdego użytkownika. Tak więc w tabeli użytkownika, to sprawia, Poczucie umieścić w gotówce. Możesz, oczywiście, stworzyć inny Stół, który ma identyfikatorów użytkowników i ich Wartość środków pieniężnych. Ale to nie ma sensu. To ma sens tylko umieścić wszystko to w jednej tabeli. Więc idziemy na stolik z tej informacji. A następnie, co jest drugim stole będziemy mieć? Pan powiedział, stolik zapasów. Co my wprowadzenie Tabela Zapasy? Każdy, pomysły - PUBLICZNOŚCI: firma. JASON Hirschhorn: Jedziemy umieścić w imię Firma, więc AAPL dla Apple. Tak. PUBLICZNOŚCI: Ile akcji i ile są one warte. JASON Hirschhorn: Ile akcji, ile są warte - Jest jeszcze coś, co możemy Potrzebujemy w tej tabeli? PUBLICZNOŚCI: ID użytkownika do indeksu to. JASON Hirschhorn: ID użytkownika. Więc w tej tabeli, będziemy prawdopodobnie - Powiedzmy, jeśli jest to ktoś, kto jest właścicielem trzy akcje, trzy rzędy, każdy z że ID lub tej osoby, podręcznik użytkownika ID, ale inna nazwa firmy, inna liczba akcji Przypuszczalnie i inna cena dla każdej wartości z tych zasobów. Ponownie, co mówię teraz nie jest konieczności realizacji, bo wiesz, istnieje kilka skuteczne sposoby, aby je realizować. Ale to jest dobre miejsce do rozpoczęcia. OK. Więc to są dwie tabele mamy. Teraz chcemy, aby wyświetlić stronę. Jaki jest pierwszy typ kwerendy musielibyśmy zrobić. Na każdej stronie, zakłada się, że użytkownik jest zalogowany, mamy swój identyfikator użytkownika. Więc co jest pierwszy typ kwerendy trzeba zrobić? Tak. PUBLICZNOŚCI: ID użytkownika. JASON Hirschhorn: Mamy swój identyfikator użytkownika, kiedy zaczynamy kodu na początek naszej stronie. Więc co jest pierwszy typ my kwerendy trzeba zrobić, zważywszy, ID użytkownika? Udaliśmy się w ciągu czterech typów. Są tylko cztery możliwe odpowiedzi. PUBLICZNOŚCI: Jest wybrać rekord. JASON Hirschhorn: Wybierz - chcemy, aby wybrać użytkownika z Tabela dostać, powiedzmy, ich ilość gotówki. I możemy wydrukować ilość gotówki na górze ekranu. OK. Jaki jest następny typ kwerendy chcesz zrobić? Mamy kilka innych rzeczy potrzebujemy, aby wyświetlić. Te są zapisywane w innej tabeli. Tak jak my teraz masz? PUBLICZNOŚCI: wybrać dla nich. JASON Hirschhorn: Wybierz - znowu są tylko cztery opcje. Wybierz prawdopodobnie brzmi jak prawej. Musimy więc zrobić kolejny kwerendę wybierającą, ponownie za pomocą tego identyfikatora użytkownika. A teraz chcemy wrócić nie tylko jeden wiersz, BU wszystkie wiersze, które pasują do naszych Kryteria, gdzie ID użytkownika wynosi 1. A potem możemy iść i niech pętlę drukowanie wszystkich tych na ekranie, może drukować z firmy każdy z nich na ekranie. Wielki, że brzmi to jak to jest wyświetlania portfel, nie wiele więcej skomplikowane. OK, użytkownik decyduje, że mają mnóstwo pieniędzy pozostało. I chcą kupić więcej udziałów w stadzie. Powiedzmy, że już właścicielem Zdjęcie też tej firmy. Więc idź do strony buy. Wejście one nazwę firmy. Co to jest zapytanie, po wejściu nazwa firmy, że trzeba wykonać następny? Tak. PUBLICZNOŚCI: Aktualizacja. JASON Hirschhorn: Aktualizacja - i co Tabela chcesz zaktualizować? PUBLICZNOŚCI: Ich tabeli, w oparciu na ich numer ID? JASON Hirschhorn: Więc aktualizacji nie tabeli użytkownika - więc aktualizować tabelę akcji, gdzie Identyfikator użytkownika nie tylko mecze, ale Nazwa towaru mecze również. Dostaniesz jakąś wartość. A potem, będziemy chcieli, aby przyjąć, że wartość i dodać, że jednak wiele zasobów chce kupić od niego. Więc nie chcą ślepo nadpisać tę wartość. Ale może faktycznie się, że początkowe cenią i po prostu je zaktualizować. Możesz zrobić tak jak Plus równa, a nie tylko równymi. Co to jest coś, choć - jeśli jesteśmy myśląc o tym i chcemy być jako solidny, jak to możliwe - należy zrobić przed prowadzimy tę kwerendę aktualizującą? Chcą kupić pięć lat Apple. Każdy udział Apple jest 200 dolarów. PUBLICZNOŚCI: Powinniśmy sprawdzić pieniądze pierwszy. JASON Hirschhorn: Powinniśmy sprawdź najpierw pieniądze. Należy upewnić się, że mają wystarczająco dużo pieniędzy. Jakie kwerendy możemy wykonać, aby upewnij się, że masz wystarczająco dużo pieniędzy? PUBLICZNOŚCI: Kolejny Wybierz. JASON Hirschhorn: Wybierz - wybieramy na podstawie ich identyfikatora użytkownika, aby ich wartość gotówki. Czy niektóre szybkie matematyki. A jeśli to przechodzi zbiórek, mają wystarczająco dużo gotówki. Wtedy możemy uruchomić naszą aktualizację. A może, jeśli nie, mijamy następnie. Dajemy im ostrzeżenie. OK. Twierdzi, że nie ma firmy. Oni kupują nową firmę. Oni kupują Microsoft. Jakiego rodzaju pytania chcemy zrobić, jeśli chcesz kupić Microsoft? I nie posiada żadnego Microsoft. Nie Manu, ktoś inny, ktoś poza Marcusem? Carlos - PUBLICZNOŚCI: Wybierz, aby upewnić się, mają wystarczająco dużo pieniędzy. JASON Hirschhorn: Brzmi dobrze. PUBLICZNOŚCI: A potem włóż na [niesłyszalne]. JASON Hirschhorn: Dokładnie, jesteśmy będzie chciał wstawić do tabeli zapasów. I będziemy chcieli wstawić. Możemy wprowadzić swój identyfikator użytkownika, nazwę firmy i ile akcji chcą kupić. Jakie są inne operacje, które to strony lub funkcji mozesz będzie musiał wprowadzić w P-Set 7, że powinniśmy przejść? PUBLICZNOŚCI: Właściwie, to niby ma pytanie o to. Przed wyświetlić portfela, powinien Ci sprawdza stronę internetową Yahoo do Upewnij się, że ceny akcji nie uległy zmianie? JASON Hirschhorn: To dźwięki jak dobry pomysł. Tak więc to, co mówi Marek jest, OK, Zdjęcie Ceny stale się zmieniają. W akcje, które są właścicielami tabeli, nasza Tabela o nazwie Akcje, możemy zapisać cena akcji kupili go na. Ale to nie wydaje się, że solidna, ponieważ cena akcji jest stale się zmieni. Tak w rzeczywistości, to prawdopodobnie nie trzeba , aby zapisać na cenę akcji. Ale za każdym razem wyświetlanie ich portfolio, odświeżyć lub uaktualnić cena akcji. A jeśli masz - i masz już. Wiem, że wszystko wyglądało w Problem ustawia z powrotem już. Zdać sobie sprawę, że mamy napisane jakiś kod dla Ciebie, że będziesz pozwalają aby uzyskać cenę w magazynie, imię firmy. Tak, tak, to prawdopodobnie brzmi nieco bardziej wytrzymałe. Ale, że tabela nie musi , aby zapisać na cenę akcji. OK. Jakie są inne funkcje wy należy wdrożyć w tym tygodniu, że możemy mówić o? Chcę, aby o nich mówić. Co chcesz rozmawiać? To prawdopodobnie w tym spec. Chciałbym po prostu przewiń do dołu spec i zadać mi pierwsze słowo widać, że nie ma sensu. Jednym z innych funkcji - porozmawiajmy o jednym. Zaczniemy tam. PUBLICZNOŚCI: Nagrywanie historie. JASON Hirschhorn: Nagrywanie historia, wielki. Więc będziesz musiał śledzić o historii transakcji. Więc chcesz śledzić każdy Czas ich zakupu lub sprzedaży akcji. Kupiłem akcji. Po prostu powiedział, że prawdopodobnie ma sens włączenie Wybierz, aby ich ilość gotówki i sprawdzać. To prawdopodobnie jest mądry, a następnie włączyć wstawiania lub aktualizacji, w zależności od czy ich właścicielem to stado. Jeśli chcemy również śledzić Historia, w jaki sposób możemy to zrobić? Czy to go w tabeli akcje? PUBLICZNOŚCI: Nie. JASON Hirschhorn: No to chyba idzie w innej tabeli. Bo mówią kupisz 10 akcje Apple. Potem kupić kolejne 10 akcji. Chcesz ciągnięcia osobnych ewidencji. To są dwie odrębne transakcje. Tak więc mamy kolejny stół, Tabela Historia. Więc znowu, kupujemy. Możemy wykonać wybrać, a następnie Wstawianie lub aktualizacji. Co robimy dalej? Jaki jest następny zapytanie wykonujemy gdy kupujemy coś? Chcemy, aby śledzić historię. Tak. PUBLICZNOŚCI: Chcesz śledzić z zawiodły zbyt transakcji. JASON Hirschhorn: Cóż, zanim powiedzieć, jaki rodzaj transakcji, to, co chcemy - Jaki typ kwerendy, Carlos, by pozwalają nam śledzić rzeczy w ogóle? Masz cztery domysły. Który z nich sądzisz? PUBLICZNOŚCI: Aktualizacja. JASON Hirschhorn: Nie zaktualizować. Jakie jest twoje drugie przypuszczenie? PUBLICZNOŚCI: Wybór. JASON Hirschhorn: Jeśli chcesz, aby ślad czegoś, prawdopodobnie chcesz go zapisać gdzieś lub zapisać ją na później. Więc jeśli nie zaktualizować, a następnie - PUBLICZNOŚCI: Włóż ją. JASON Hirschhorn: Wstaw, tam idziemy. Tak, więc można wybrać ilość środki pieniężne mają, brzmi świetnie. Oni nie mają wystarczająco dużo gotówki. Że transakcja nie będzie działać. Nie, nie trzeba śledzić transakcji, jeśli to nie działa. Lub możesz, jeśli chcesz, aby dać im ciężko. Ale nie trzeba. Następnie należy włożyć lub aktualizacja w ich tabeli zapasów. A teraz, masz inną tabelę. Masz tabeli historii lub cokolwiek chcesz to nazwać. I w tej tabeli, będziesz , aby wstawić nowy wiersz. To prawdopodobnie będzie mieć identyfikator użytkownika. To prawdopodobnie będzie mieć nazwa akcji. To prawdopodobnie będzie mieć czas, że oni to zrobili. I w tym przypadku, to prawdopodobnie będziesz Aby wstawić cenę. Ze względu na historię, nie masz obchodzi, co obecna cena jest. Dbasz co cena jest, gdy oni kupić lub sprzedać coś. Tak to brzmi jak, do realizacji zakupu w pełni obejmuje szereg różnych Zapytań SQL, ale szczerze mówiąc, nie Kod, który bardzo ogólnie. OK. I że dba o historii. Powiedzmy, że chcemy wyświetlić naszą historię. Rozmawialiśmy o wyświetlaniu nasze portfolio. Jak będziemy wyświetlać nasza historia? PUBLICZNOŚCI: Przypuszczalnie chronologicznie. JASON Hirschhorn: Przypuszczalnie chronologicznie - co myślisz zapytanie chcemy korzystać? PUBLICZNOŚCI: wybierz. JASON Hirschhorn: wybierz - wybierz może wszystkie wiersze z tej tabeli który odnosi się do identyfikatora użytkownika, a następnie wyświetlać je w porządku chronologicznym, brzmi dobrze. Czy musimy napisać kod sortowania tej listy? PUBLICZNOŚCI: Nie, dlatego, że powiedział nam jest rosnąco i malejąco rzeczy. JASON Hirschhorn: Thing? PUBLICZNOŚCI: Tak. JASON Hirschhorn: Tak. OK, nie włącza się w kodzie do mnie, że ręcznie sortowane przez Państwa pytania, do ich sortowania. Ten kod jest już podane. Możesz napisać kwerendę wybierającą sortuje rzeczy. Sortować je wcześniej i a następnie wydrukować je. To sprawia, że ​​o wiele więcej sensu robić to, że inaczej, niż w inny sposób. Tak. PUBLICZNOŚCI: Czy musimy sortować je wcześniej? Czy to oznacza, że ​​rodzaj je w bazie danych? JASON Hirschhorn: Wybierz zapytanie zwraca je do Ciebie posortowane. Tak zrobić, a nie tylko ich wrócić do Ciebie w kolejności losowej i następnie posortować je sam. Tak. PUBLICZNOŚCI: Czy jest jakiś sposób, żeby go zatrzymać klasyfikowane na samą bazę danych, tak aby nie masz do sortowania to za każdym razem - PUBLICZNOŚCI: Czy możesz wstawić go sortowane? JASON Hirschhorn: Pytanie - to ma znaczenie, że rzeczy są sortowane w bazie danych? PUBLICZNOŚCI: Nie. JASON Hirschhorn: No są one klasyfikowane. Są one posortowane chronologicznie. Ale załóżmy, że rzeczy są klasyfikowane chronologicznie, od góry do dołu. Mamy formularz Google. Zawsze, gdy ktoś odpowie na naszą Google tworzą, to po prostu staje się umieścić w Dno tej tabeli. Czy to ma znaczenie, że rzeczy są nie chronologicznie? PUBLICZNOŚCI: Jeśli to nie jest chronologiczna, Czy nie trzeba go za każdym razem sortowania wziąć informacje na zewnątrz. Ale czy to już posortowane, nie możesz Nie musisz tego robić dodatkowe wywołania funkcji? JASON Hirschhorn: Więc to jest rzeczywiście dobry punkt. Dla nas, jako programiści, może to ma znaczenie. A może chcemy znaleźć bazę danych że nie sprawy do chronologicznie. Lub ustawić naszą bazę danych, więc trzyma rzeczy, sortowanie przez ID użytkownika. Więc w ten sposób, powiedzmy, mamy 1000 ID użytkowników. Lub Facebook, mamy miliony ID użytkowników. Nie chcemy, aby nasz stół po prostu być losowy lub nasza baza jest przypadkowe. Byłoby miło, gdyby wszystkie ID użytkowników zostały posortowane. Tak więc możemy uruchomić wyszukiwań binarnych na naszym stole i po prostu znaleźć specyficzny fragment. Więc tak, w zależności od - jeśli skalowany, możemy znaleźć bazę danych że przechowywane rzeczy w inny sortowanie Tak więc te pytania zajmie mniej czasu. I nie trzeba przechodzić przez nasze całej bazy danych w każdym rzędzie danej tabeli. Ale poziom pracujemy na, my Nie trzeba się martwić o utrzymanie rzeczy sortowane. Możemy założyć, że czas potrzebny że zapytanie do uruchomienia będzie nieistotne, ponieważ to, co mamy do czynienia. Ale tak, świetny pomysł - jak skalowanie, może warto byłoby zaprojektować nasze baza danych w nieco inny sposób. Ostatnim bazie projektu, co chcę wspominając, jak również, ponieważ będzie klasyfikowane, albo strzelił raczej na Projekt bazy danych. Rozmawialiśmy o tym. Gotówka jest unikalny dla każdego użytkownika. Więc masz gotówki, że stół zwany ma swój identyfikator użytkownika i ich ilości Środki pieniężne i tabela o nazwie użytkowników, które ma swój użytkownika ID i nazwy użytkownika. Map na każdy te tabele Inny jeden do jednego. To chyba ma sens dla im jeden stół. Więc załóżmy, że masz użytkownika Stół, który śledzi nazwy użytkownika i pieniężnych. Teraz masz stolik, który ma akcje indywidualne właścicielem. I indywidualne mogą właścicielem więcej niż jednym stanie. Więc to nie mapa na wzajemnie jeden do jednego. To nie ma sensu, aby mieć jeden gigant Stół, który ma 30 rekordów wszystko powtórzyć nazwę użytkownika, że ​​wszystkie powtórz hasło, że wszystkie Powtarzam wiele gotówki. Ale każdy z nich ma być może inny akcji Nazwa lub inna cena akcji. To nie ma sensu, aby że wiele dużych rekordy. Bądź mądry o podczas tworzenia tych bazy danych, tak, że nie robi coś głupio tak, powtarzając dużo zbędnych informacji. OK. Mamy dwie minuty. Ludzie na zewnątrz są podekscytowani łącząc nam lub prawdopodobnie, przypuszczalnie, rozpocząć własną klasę. Czy ktoś ma jakieś pytania zanim skończyć? OK, to jednak jest to trąba powietrzna przez wszystko. Przepraszam, że to musiał być tak szybkie oraz że nie może być praktyczne w tym tygodniu, jak nie mam lubi być. Ale jeśli masz jakiekolwiek pytania dotyczące wszystko pojechaliśmy albo coś w problem ten set - Zakładając, czytasz go i umieścić w wysiłku dobrej wierze - nie krępuj się napisz do mnie lub kontakt. Jestem bardziej niż szczęśliwy do pracy przez Twój kod z tobą lub odpowiedzieć na wszelkie pytania. Należy pamiętać, że w tym tygodniu, dużo Twój czas będzie spędzony nauki Nowa składnia i próbuje zrozumieć jak pisać zapytań SQL lub PHP funkcje lub zajmują się ramy MVC. Dużo czasu w tym tygodniu prawdopodobnie nie będzie próbował dowiedzieć się, szalony logiki, że jesteśmy z prośbą, aby zrobić. Wiele z nich po prostu poszliśmy na to stosunkowo proste. Więc to nie znaczy czekać do ostatniej chwili. Ale to nie znaczy, dostosować, jak zrobić swoje działa odpowiednio, aby upewnić się, jesteś zrozumienia i naukę składni. Więc nie jesteś, tak nagle, wiedząc, dokładnie to, co chcesz zrobić, ale nie mając pojęcia, jak dokładnie pisać. OK, do zobaczenia w przyszłym tygodniu.