>> Na początek do mostu, co może być jedynym doświadczeniem
z programowaniem stron internetowych, co ja myślałem, że robię się ukraść kilka
przykłady, które Może widziałeś w 50
jeśli trwało to przeszłość rok lub dwa, ale nie mają
jeśli trwało to kilka lat temu
że są kroki w kierunku dziecka pirydyny wiem jak MBC,
Model View Controller, i co to znaczy?
To zobaczymy, być może ponownie jest po prostu sposobem wyjścia
oczyścić konstrukcja niektórych kawałek internetowy z oprogramowaniem,
czy może to być po stronie klienta oparte, jak również, ale będziemy go używać
W kontekście PHP tak, że możemy zacząć
do bardziej złożonych projekty i sortowania
osobnych różnych typów Kod w aplikacji;
w szczególności tak, że kiedy mają wiele osób pracujących
w projekcie jest dużo łatwiej rysować linie.
Więc najpierw rzućmy spojrzeć na sposób poniżej optymalnego
z wykonania czegoś.
Załóżmy, że chcę zrobić Super strona prosty kurs dla 50
lub jakiekolwiek inne klasy i że klasa ma rzeczy
jak wykłady i nauczania.
Mógłby zrobić coś jak h1 tag na szczycie mojej stronie
i nieuporządkowana lista z elementy listy li w celu
wystarczy mieć listę punktowaną Opcje menu, więc bardzo prosta.
Więc w jaki sposób możemy to zrobić?
Cóż, pozwól mi iść do mojego okno terminalu tutaj,
i zauważ, że mam czytać ja i my odwołują się do tego kodu
na stronie internetowej w trakcie w kawałku,
i zauważ, że mam Indeks kropka htm - wskaźnik kropka php.
Więc pozwól mi iść do przodu i otworzyć że i na pewno wystarczy to rodzaj
głupie, że nawet nazywane php
bo wszystko co mam jest komentarz PHP
i wszystko inne jest po prostu surowy kod html.
Ale znowu jest to wersja zero,
więc krok w kierunku coś bardziej interesujące,
ale zauważ, jakie trudno kodowane CS50 jak w tytule, CS50 w h1,
i teraz mam zajęcia odwołują,
teraz mam link nauczania.
Wszystko w porządku, tak aby nie wydają wszystko, co nieracjonalne
aż po kliknięciu na link, jak wykłady i zdajesz sobie sprawę,
że wszystko w porządku, że jest inaczej treści, ale jest to swego rodzaju
z tej samej rzeczy; to tytuł strony i nieuporządkowane listy.
Klikam tygodniu od zera w zeszłym roku, i jest to swego rodzaju
z tej samej rzeczy, h1 Tag i lista nieuporządkowana
i wreszcie klikam ta, a ja się do pewnego liścia,
który przesuwa się od że zwłaszcza wykład.
Więc coś mi mówi, Mam zamiar warować.
Jeśli otworzyć się wykłady Ogłoszenie php kropka
że to dość dużo kopii i wklej z poprzedniego pliku;
Właśnie zmienił tytuł na h1, i co te linki są.
Co gorsza, jeśli pójdę w tygodniu zerowym kropka php,
to jest kopia praca sama pasta
tylko z odrobiną zawartość manipulowane.
Więc na pewno nie okazja, żeby poprawić,
i na pewno to powinno być dobra zasada;
w każdej chwili czujesz się kopiowanie
i wklejając coś więcej niż może raz,
czerwone flagi powinny mam nadzieję, że zacznie zgaśnie.
Ale jak go o poprawę tego?
Cóż, jest kilka sposobów, oraz techniki można użyć
w php ewoluowały czasu, ale spróbujmy tego.
Pozwólcie mi iść do wersji jednego, tak następnej iteracji tego
i daj mi spróbować posprzątać trochę.
Dobra, jeden z PHP najprostsze mechanizmy
do rozwiązania tego problemu jest stara szkoła wymaga funkcji,
który dość dużo robi kopię i wklejanie zawartości
jakiegoś pliku tu, jak c jest ostry obejmują,
i inne języki bardzo podobne konstrukcje.
Wygląda więc na to trochę dziwne teraz,
na pewno nie jest zakończyć szuka strony internetowej,
ale co jest przypuszczalnie wewnątrz nagłówka dot php.
Wszystkie inne rzeczy, prawda, tag HTML, tag głowy,
Tag tytuł, wszystkie rzeczy że był nad głównym istocie
strony, która jest zapewne tylko lista nieuporządkowana,
w stopce jest prawdopodobnie jak zamkniętego tagu ciała,
tag HTML jest zamknięty; dość nieciekawe
ale powielane rzeczy.
Wszystko w porządku, a na pewno Wystarczy, że pójdę
do nagłówka dot php to tylko rodzaj fragmentu sierocego
od góry, a jeśli przejdź do stopki dot php,
to osierocony Fragment od dołu
i używam te same fragmenty w moich innych plików,
jak wykłady dot php.
W porządku, więc co jest lepsze o tym powiesz?
Tak?
>> Prostota.
>> Prostota?
Nie wiem tego rodzaju wygląd Dużo bardziej przerażające dla mnie, prawda?
>> Gdybym chciał zmienić nagłówek, nie miałby
zmienić go we wszystkich poprzedni jak pliki.
Po prostu go zmienić w nagłówku.
>> Dokładnie, więc może w że poczucie to jest prostsze,
Może bym go wrobić w to po prostu łatwiej jest je aktualizować.
To może trochę czystsze
bo aktualizacji to tylko w jednym miejscu.
Więc to jest dość przekonujące; co jest minusem
tego podejścia lub co problem pozostaje
że tak naprawdę nie rozwiązuje?
Tak?
[Off Mic komentarz]
Tak, dokładnie, to znaczy, że jestem nadal kopiowanie i wklejanie;
to jest trochę mniej, ale tylko zatrzymał się dwa z tych plików,
i dość dużo wciąż wyglądały identycznie.
Nie było potrzebne co Najwięcej, wymagają na dole,
i nieuporządkowane lista w środku
który sam był jeszcze Strukturalnie same.
Co więcej, to zauważyć, jeśli rzeczywiście zobaczyć ten przykład,
pozwól mi przejść do wersji One teraz,
i zauważyć, mam CS50 Wykład Syllabus.
Uh oh, CS50 Tydzień Zero Tydzień Jeden i CS50 środa piątek
Mam trochę wyciąć rożny.
Co było - to, co było wcześniej te tytuły?
[Off Mic komentarz]
Byli jak wykłady w Tydzień Zero, jakby to był rodzaj
z bardziej sexy, i to rzeczywiście miał do niej jakiś dynamizm,
i to jest rodzaj - Jestem tylko trochę popływać teraz
i tylko przy założeniu, że Cała strona jest CS50
i dobrze to działa, ale jest na pewno nie tak elegancki
lub jako rodzaj prosto przekazania, jak to było kiedyś,
ale to ma sens, bo jeśli spojrzeć na indeks dot php
i wykłady dot php i tydzień zera kropka php,
wszystkie są w tym sam plik,
więc jak możemy poprawić?
Co jest w następnej iteracji kod ten prawdopodobnie będzie zrobić?
[Off Mic komentarz]
Tak, dokładnie, więc jeśli - i pozwól mi podsumować
z my zasadniczo chcą do parametryzacji, że nagłówek
więc, że tak jest nadal zakodowana h1 tag, ale rzeczy
pomiędzy, otwarte i blisko tag,
jest przypuszczalnie dynamiczny i pochodzi z czegoś innego.
Być może "uzyskać ciąg" lub rzecz po znak zapytania
w adresie URL były gdzieś inny, więc rzućmy okiem.
Więc jeśli pójdę do wersji drugiej,
teraz zauważyć, że mam ma dodatkowy plik,
wygląda na to, pomocnicy dot php.
I naprawdę nie wiem, gdzie zacząć, więc zacznę po prostu
w indeksie, jak jak zawsze, a teraz zauważyć, że jest to trochę inaczej,
więc mam wiersz żądania
na szczycie wymaga pomocnicy dot php,
ale można to nazwać co chcę,
ale teraz zauważyć linię trzy jest wywołanie funkcji
do renderowania nagłówka, który jest ciekawe tylko w takim zakresie,
jak to, co jest przekazywane w najwyraźniej, tytuł niestandardowy
dla tej strony.
Tymczasem nie czyni stopka u dołu
i nie trzeba żadnych parametryzacja nie jest to tylko
stopka, ale teraz wydaje
być krokiem w kierunku lepszego roztwór, render, nagłówek zajmuje,
i co zrobić na placu wskazują na te uchwyty
którzy nie widzieli, php zawsze lub na jakiś czas?
[Off Mic komentarz]
Tak, to jest tablica.
To asocjacyjna lub klawiszy skrótu, które zrzesza
z wartościami; to jest jak Java Skrypty, notacja sprzeciw,
lub w innych językach, podobne syntaxs.
Wszystko w porządku, więc to, co jest w pomocników dot php?
W pomocnicy dot php to tylko kilka funkcji,
renderowania nagłówka i stopki renderowania.
Więc kilka szczegółów jeśli mniej znane,
tak przede wszystkim fakt
które czynią zajmuje nagłówek Argument, że to pozornie dane
przypisany pusty Tablica nie znaczy co?
Co to znaczy zrobić sobie równych wspornik wspornik zamknięty otwarty
jako parametr w php?
Jest to wartość domyślna.
Tak więc, jeśli nie przechodzą w tablicy ani żadnego dowodu,
do nagłówka świadczyć, lub renderowanie funkcji stopki,
Mogę przynajmniej zaufanie jako autor tych funkcji
że dane będą minimalnie być pusta tablica;
nie będzie nieokreślony lub fałszywe, lub coś w tym stylu,
to jest dokładnie to, co Dałem go jako domyślny.
Teraz to jest trochę rodzaju hackish sposób ładowania symboli
w przestrzeni nazw że tak powiem,
ale działa całkiem ku z tym dobrze
wdrożenia własny rodzaj biednych silnika szablonów.
W porządku, jest wiele narzędzia tam dla Python Ruby
i PHP, które daje Możliwości templating
i to jest dokładnie to, co chcemy.
Chcemy szablon, który ma h1 otwarte tag, tag h1 zamknięte,
i rodzaju miejsce Uchwyt na środku,
i chcemy, aby wypełnić te miejsca posiadaczy w drodze tej funkcji,
tak, ta funkcja Tak się wyodrębnić
dać następujące możliwości.
Jeśli masz asocjacyjną tablicy z par wartości kluczowych
jak foo równa się bar, ekstrakt stworzy zmiennej lokalnej
nazywa skutecznie znak dolara bla i nadać mu wartość bar
tak wybucha swój skojarzeniowym Tablica z par wartości kluczowych
do nowych zmiennych z odpowiednie wartości.
A następnie wymagać dot nagłówek kropka php jest taka sama jak poprzednio,
więc to, co dzieje się prawdopodobnie aby zobaczyć wewnątrz nagłówka dot php?
To chyba ma ten znacznik h1 i blisko tag; co się dzieje
się w jej wnętrzu prawdopodobnie między nim?
[Off Mic komentarz]
Dokładnie, prawdopodobnie jest jakiś wzmianka o tytule znak dolara
i rzeczywiście, jeśli powiększyć na to nie mój tytuł tag,
tam jest mój tag h1, a wewnątrz o to dynamiczny wstawiania
z tytułu, ale znak dolara tylko środek na dobre,
Robię to HTML specjalny ładować potwornie nazwie
funkcji, ale to przydatna; co to robi
i co to ma chronić przed?
Jest to rzeczywiście roztwór na zagrożenie jesteś podpowiedzi;
byś poprowadził nas do.
[Off Mic komentarz]
Dokładnie, więc jeśli złośliwy użytkownik lub niczego ofiarą
ataku phishing kliknięciu na link
że ja miałem znak zapytania i coś jak foo równa,
i stosunek foo faktycznie
jak wolnego wspornika Skrypt, zamknięty nawias,
a potem jakiś kod JavaScript;
jeśli nie nazwać długo, główną funkcją,
chcesz być rzeczywiście zainfekowaniu raw html na swoją stronę,
Wynik, który jest że może być oszukany.
Możesz być oszukiwanie użytkownika do wykonywania kodu JavaScript
, że on lub ona faktycznie nie zamierza.
I mimo, że zazwyczaj jesteś tylko krzywdzenia siebie,
jak tylko ty wiesz idiota będzie wpisać
w otwartym skrypcie uchwytem, zamknięty nawias, i powiedzieć wpisu
czy coś takiego i zrobić go lub siebie
się z jakimś dziwnym wyniku, jeśli dostaniesz oszukany
do kliknięcia łącza, które ma surowy JavaScript w niej osadzony
jako wartość tego atrybutu,
można między innymi kraść czyjeś ciasteczka
bo jest własnością zwany dokument dot ciasteczko
w JavaScript, który pozwala aby pobrać plik cookie użytkownika,
a jeśli przypomnieć, co Sesja atak porwanie jest,
Krótko mówiąc, to jest jeden sposób rzeczywiście oszukiwanie kogoś
zapewniając, że w wirtualnym Stempel, a następnie biorąc ręka
na ich konta na Facebooku lub jakiś inny typ konta.
Wszystko w porządku, więc to jest trochę długi,
ale to tylko przy użyciu surowy kod HTML.
To jest równoważne wywołania echa
lub skutecznie drukować i my w zasadzie wstawiania
dynamicznie.
Więc co jeszcze pozostaje tutaj?
Cóż, pozwól mi iść do Wersja Trzech tutaj,
i zobaczymy nieco inna -
dokładnie taki sam układ plików ale informacja
że tym razem będziemy generalizować nagłówka i stopki
jak szablony, więc to, co mam na myśli?
Jaka jest jedna rzecz, że tu jest inaczej?
Co się zmieniło od ostatnia wersja?
Subtelny, ale to zapewne tylko lepiej czystsze projektu.
Tak?
[Off Mic komentarz]
Tak, jest tylko jeden średnia czyni funkcję;
Nie przypadek szczególny renderowanie renderowania nagłówka lub stopki,
Oba jeśli ci Przypomnijmy, od pomocników dot php,
jesteśmy prawie identyczne oprócz ich nazwy
i szablony są włączone.
Dlaczego po prostu nie parametryzacji Funkcja renderowania
i jeden argument, który jest Nazwa szablonu
i drugi opcjonalny argument że są pary wartość klucza
, które chcesz podłączyć w.
Więc jeśli teraz spojrzeć na pomocnicy dot zawiadomienie php
że mam być trochę hodowcy teraz.
Jestem faktycznie sprawdzenie czy plik istnieje i jeśli tak śmiało
i wymagają; tylko w przypadku, przypadkowo rodzaje użytkowników
w jakiejś fałszywej nazwy szablonu nie chcę rzucać błąd
w programie, więc możemy minimalnie im zrobić
faworyzują tutaj.
Wszystko w porządku, ale możemy pójść o krok dalej?
W tej wersji tutaj zauważyć, co następuje.
Właśnie wpisaniu ls, i co natychmiast skacze
obecnie jest nieco inna.
Tak tam dwa katalogi, prawo,
i tak to teraz krok w kierunku co ostatecznie będzie bardziej
właściwe ramy.
Jest to rodzaj niechlujstwa mnie do rzucania wszystko
mojego treści wewnątrz publicznie dostępny katalog
że dosłownie nazywa publicznego.
I mimo, że niestety, Wiele ram,
starsi zwłaszcza, a nawet niektóre posty internetowe,
Marzyć Host wśród nich siły umieścić wszystkie pliki
w równowartości katalog publiczny, nawet
jeśli twoje pliki mogą m.in. hasła bazy danych
oraz nazwy użytkownika lub inne takie poświadczenia,
to nie jest w ogóle dobry projekt.
Znacznie lepiej jest umieścić tylko
w katalogu publicznym co absolutnie nie
być dostępne dla użytkownika, i wszystko inne
że jesteś w tym jak pomocnicy dot php,
nie ma powodu, że powinny być dostępne za pośrednictwem stron internetowych
przeglądarki z adresem URL.
To może być zupełnie nieszkodliwe jeśli użytkownik chce zobaczyć może
którzy par, ale to tylko Zasada tego,
i daj Boże, że faktycznie robi mają nazwy użytkownika lub hasła;
nie chcesz użytkownik przypadkowo
lub celowo jest w stanie uzyskać do niego dostęp.
Tak więc nie jesteśmy w dość doskonałe podejście tutaj,
nie zauważyć, co następuje teraz.
W indeks dot php, zauważysz, że Jestem wciąż wymaga pomocników,
ale robię to w taki sposób, że mam coś w rodzaju organizacji wszystkich
plików, które będzie zawierać
w podkatalogu o nazwie zwykle zawiera,
a następnie zadzwonić do renderowania Nagłówek i stopka, jak wcześniej.
Jedyne więc Zrobiłem to rodzaj
z zreorganizować swoje katalogi być trochę bardziej anal
o strukturze pliku.
Ale jeśli teraz przejść do to piąty przykład,
zauważyć tutaj, że teraz mieć tercet folderów,
i to jest nieco w tej chwili mylące
ze względu na prostotę ze względu na klasy
Właśnie wrzucono wszystko
do John Harvard Publiczny katalog tylko
więc można poruszać się za pomocą Przeglądarka, ale uwaga -
zignorować tę część na chwilę,
Fakt, że jestem tam.
Zauważ, że mam trzy podkatalogi: publiczne,
szablony i obejmuje.
Pomysł to, że w prawidłowo skonfigurowany serwer WWW i
powie, że to Apache Strona ma publicznie
Pliki tutaj, a nie gdzie indziej.
Więc co myślisz pliku Idę zobaczyć wewnątrz
z publicznych gdybym wpisz ls?
Co znajduje się co najmniej jeden plik to chyba tam?
[Off Mic komentarz]
Ok Indeks kropka php, i , co nie jest oczywiście plik
tam między innymi?
Jak pomocnicy dot php, nagłówek kropka php, stopka kropka php;
Wszystkie z fragmentów wszystkie funkcje
że tak naprawdę nie trzeba być publicznie dostępne,
musi on być użyteczny przez pliki
które są publicznie dostępne, ale oni sami,
żaden użytkownik nie musi widzieć lub libra URL pomocników dot php.
Zauważ, że jeśli pójdę zamiast
Obejmuje nie do pomocnicy dot php,
i jeśli pójdę do szablonów,
Stopka i jest header dot php.
Szczerze mówiąc, mógłbym umieścić je w tym samym katalogu,
ale staram się być jeszcze więcej plików analny o utrzymanie
że to tylko rodzaj statyczne różne szablony
z plików funkcyjnych jak pomocnicy dot php,
a ja tylko stosując się do niektórych dość powszechne konwencje
dzwoniąc katalogi obejmuje i szablony.
Jedyne więc, że zmienił następnie jest ponownie ścieżka.
Jeśli idziemy tu zauważyć, że teraz tylko
zawierać katalog względny,
kropka kropka kreska zawiera pomocnicy dot php,
czy mogę być trochę więcej właściwe i rzeczywiście coś zrobić
tak, php i wiele
języków ma te specjalne symbole
, które stanowią katalog bieżący plik, w
tak podkreślenia podkreślenia dir podkreślenia podkreślenia oznacza
co katalog jest z tego pliku,
i tak, jeśli tylko złączyć z operatorem kropki, które,
że osiągnięcie sam wynik,
i wydaje się być nieco bardziej wytrzymałe, ponieważ można uzyskać
w stosunku do sytuacji z katalogi były tylko, że punkt
lub może faktycznie kropka kropka wnieść do niewłaściwym miejscu,
tak więc zmierza się trochę bardziej wytrzymałe.
Dobra, więc co choć pozostaje?
Co prawda nadal Nie lubię o tym?
Co może być lepsze i skomentował to wcześniej myślę
że jest jeszcze kilka kwestii?
[Off Mic komentarz]
Dobra, na pewno nie mamy zacząć pisać jak witrynach
że wygląda tak, prawda?
To nie czuje wszystkim, że o wiele lepiej,
jest jeszcze skopiować pasty.
Mam jeszcze wymaga linii na górze.
Nadal mam uczynić Nagłówek renderowania stopkę.
Jest dużo powielania.
Tak?
[Off Mic komentarz]
Tak, dokładnie, więc podjęliśmy krok w kierunku swego rodzaju rozszczepienia
się na "c" z "v", więc Widok modelu MVC jest kontroler;
Sterownik to rodzaj mózgi aplikacji.
Model bywa dane lub niektóre wspólne funkcjonalności,
i widok bywa estetyka, szablon,
więc zrobiliśmy krok w kierunku oddzielenie "c" z "v"
bo teraz przynajmniej mają Katalog ten szablon, w
ale nawet nie mamy zasadniczo mają jeden kontroler na plik.
To nie wygląda jak jest dużo logika dzieje,
, ale indeks jest kropka php skutecznie kontroler.
Podczas odwiedzania adres URL i kończące się indeksu dot php,
wszystkie na założeniu, że realizuje, że strona jest w porządku
w indeks dot php i sama dla wykładów dot php.
Samo tygodniu zerowym dot php.
Więc mamy rodzaj strone naszego logika w każdym miejscu,
i czuje się jak nie zamierza
w skali bardzo dobrze, gdy mamy nie cztery, lecz czterdzieści stron
jeśli każda strona zaczyna się od mi wersję kopiowania
pliku i po prostu szczypanie niektórych
zawartości wnętrza.
Więc wziąłem tylko krok w kierunku tego,
i jedno z narzędzi wprowadzimy
w środę jest framer nazwie "Laravel"
i jest bardzo popularnym frameworkiem,
pozostałe z nich to "Fuelphp."
Jest starszy zwany "Codeigniter."
Jest jeszcze jeden o nazwie "Ciasto".
Jest jeszcze jeden o nazwie "Symphony".
To znaczy, jeśli Google ram php,
jest okropna liczba takich ram
że osoby, które realizowane.
Laravel jest z więcej i przybysze;
jest to jeden z odkurzacza ci, a znajdziesz
, który ostatecznie pomaga zaoszczędzić sporo
czasu, nawet jeśli nie jest trochę krzywa uczenia się,
ale że będziemy prowadzić jesteś na środę.
Ponadto, będziemy wprowadzać to, co się nazywa "ORM."
W tym przypadku użyjemy coś, co jest
w tym kontekście nazywa Laravel.
To się nazywa "Wymowne" i jest to po prostu warstwa kodu
, który pozwala na m.in. rzeczy mówić do baz danych.
I tu, pozwól mi ukraść Przykładem, który jest albo ostatnio
lub cofnięcie się do niektórzy z was od 50.
Jeśli trzeba było 50, a zrobiłeś "CS50 Finanse"
Może pamiętacie, że pliki pisać i przepisał to spojrzenie
tak, to było logowanie kropka php, a w tym czasie,
zwłaszcza, że nie spędzają dużo czasu
na podstawach php na początku,
to może sobie mieć było dość trudne,
, a więc nie w rzeczywistości próby uproszczenie budowy.
Tak naprawdę nie oddzielać "M" od "V" z "C" aż tak dużo
do problemów, które "Siedem CS50 Finanse"
jednak zauważyć jedną rzecz miejmy nadzieję, że powinien zacząć
aby szybko pocierać ci źle sposób, jest coś takiego.
Mam na myśli, nie tylko było to zaloguj dot php kontrolera.
Był on również rozmawia bezpośrednio
w szczególności bazy używając sequel, który nie będzie
w skali bardzo dobrze, gdy rozpocząć pracę z jednym
lub dwa lub trzy partnerów.
Na przykład, jeżeli jeden z partnerów jest odpowiedzialny
dla tworzenia tabele bazy danych i najbliższych
się z indeksów i zastanawianie
co powinno być kluczem, klucze podstawowe, klucze obce,
i to wszystko, decydując się na nazwy tabeli i to wszystko.
Teraz już druga osoba w grupa musi wiedzieć wszystko
z decyzji projektowych on lub ona ma, i teraz trzeba
do ciężkiej kodu te decyzje do pliku, więc teraz
czy ona jest ładna znacznie ograniczone
aby nigdy nie zmieni te nazwy tabeli.
Nigdy nie ponownie, aby zmienić Nazwy te złożone
nie informując cię.
Co więcej, nie bardzo może łatwo pracować na tym samym pliku
bez kolizji ze sobą, jeżeli
czy ona jest stale zmiana nazwy,
i masz stary wersje i tak dalej,
więc to jest po prostu zapraszając wiele, wiele bólów głowy.
Ponadto, jak będziemy zobacz niedługo
mimo, że nie trzeba
Szczególnie zrobić tutaj zaawansowanych kwerend,
po uruchomieniu posiadające wiele tabele, dwa stoły, trzy, pięć,
dziesięć tabele w MySQL lub ogólnie relacyjna baza danych,
musisz dołączyć do tych tabel Często, jeśli zna i masz
łączenie danych z jeden z drugim,
i szczerze mówiąc twoje pytania sequel zaczynają się dłużej i dłużej,
i dłużej, a złożone i właśnie zaczyna
dostać dużo łatwiej popełniać błędy
i dużo trudniej dostać rzeczy prawo.
A więc narzędzia, takie jak Elokwentny i ORM będzie
aby pomóc nam modelować nasze dane i Jest to także skutecznie będzie
do generowania kodu, które trzeba zacząć przeszukując bazy danych
w bardziej wyrafinowanych sposobów.
Więc jeśli masz klucz podstawowy tu i klucz obcy
tutaj wszystko, czego potrzebujesz zrobić, to nauczyć, że ORM,
Object Relation Mapper, co to jest związek
i dowiedzieć się, co to Zapytania na wykonanie dla Ciebie.
I tylko w rzadkich przypadków nie trzeba
koniecznie napisz Kod sequel siebie.
Jeśli naprawdę chcesz, aby dostroić coś,
ale w przeważającej części, można po prostu zacząć traktować podmioty
w bazach danych, jak prawdziwe obiektów, a nie te płaskie wiersze
że w jakiś sposób trzeba rekonstrukcji i de normalizacji.