Kielen oppiminen ei ole koskaan ollut näin helppoa! Anna PHP Tutorialin näyttää sinulle, miten luot verkkosivustosi olioliikemuotoisen ohjelmoinnin perusteella.
Sinua odottaa PHP-opastus olioperusteisesta ohjelmoinnista - perusteet ja käytäntö.
Koko sydämestäni: Tervetuloa kurssille! Tässä on yleiskatsaus siitä, mitä voit odottaa.
Aloitetaan kehitysympäristön asennuksella. Täältä löydät tarvittavan ohjelmiston.
Mikä editori on oikea valinta esimerkeille? Täältä löydät vastauksen.
Työskentelen kurssilla PhpStormin kanssa. Tässä tunnissa näytän sinulle, miten esimerkit voidaan avata myös muiden editorien avulla.
Oletko jo täysin motivoitunut? Tämän videon jälkeen vielä vähän enemmän. Esikatselu käytännön projektista.
PHP 7:ssä jotkut asiat ovat muuttuneet. Tässä on yleiskatsaus muutamiin ilmeisimpiin muutoksiin.
Jotta peruslukujakso olisi vielä vähän mielenkiintoisempi, täytä tällä välin aukkoteksti. Lataa malli, tulosta se ja käsittele sitä, kun käyt läpi lukujaksoa.
Tässä luodaan tärkeä perusta, sillä objektit eivät ole vain tietojen ja toimintojen kokoelma. Tärkeä aloitus aiheeseen.
Puhuttaessa olioperustaisesta ohjelmoinnista tulee ennemmin tai myöhemmin esiin käsite "luokka". Mutta mitä se oikein tarkoittaa?
Tiedonsalaus on tärkeä periaate. Tässä oppitunnissa opit ymmärtämään idean sen takana.
Ilman abstraktiota ohjelmisto olisi hyvin nopeasti melko epäselvä, haluttua yksinkertaistamista ei saavutettaisi. Katso tämä video ja opi ajattelemaan abstraktisti.
Myös perintö tukee ohjelmistosi arkkitehtuuria. Opettele ymmärtämään ja käyttämään sitä tietoisesti.
Polyfia on parasta ymmärtää käytännön kautta. Silti sinun pitäisi ainakin kuulla siitä tähän aikaan mennessä.
Olet täyttänyt aukkotekstin huolellisesti? Erinomaista! Voit nyt tarkistaa sen täältä.
Teoriasta käytäntöön. Tässä vaiheessa siirryt PHP:n toteutukseen.
Luokka on rakennemalli olioille. PHP:ssä luodaan instanssi avainsanalla "new". Tässä opit, miten se tapahtuu.
Luokan ominaisuudet kuvaavat kohdetta tarkemmin. Opettele tuntemaan tämä käsite paremmin.
Vakiota käytetään lisämahdollisuutena tallentaa staattisia arvoja. Tässä opit myös tämän periaatteen.
Muuttujien ja muiden nimeämistä koskevat Yleisesti hyväksytyt käytännöt tai "parhaat käytännöt". Ja niistä on kyse tässä.
Tunnetko "PassByValue" ja "PassByReference" -periaatteet? Ne ovat erittäin tärkeitä työskennellessä objektien kanssa. Täällä saat tietää, miksi.
Ensimmäinen esittely on ohi. Syvennä tietämystäsi ensimmäisen harjoitustehtävän avulla.
Yksi mahdollinen ratkaisu tehtävään löytyy täältä.
Nyt opit perusmuotoilun funktion julistamisen syntaksin.
Oikeasti dynaamisia menetelmiä saadaan aikaan vain parametrien avulla. Täällä opit tuntemaan nekin.
Menetelmät eivät voi vain suorittaa lähdekoodia ja tuottaa tulosteita. Täällä opit, kuinka arvot palautetaan kutsujalle.
Voit tallentaa metodin nimen muuttujaan ennen sen kutsua ja käyttää muuttujaa edelleen. Tule tutustumaan tähän.
On erilaisia voimassaoloalueita, jotka sinun tulisi tietää. Täällä opit tuntemaan ne.
Seuraava harjoitustehtävä on edessä. Tällä kertaa aiheena on "Menetelmät".
Mahdollinen ratkaisu harjoitustehtävään, joka koskee menetelmiä, löytyy tästä oppitunnista.
Työskennellessäsi olioiden kanssa nykyisen olion viittaus ("$this") ja nykyisen luokan viittaus ("self") ovat erityisen tärkeitä. Tässä opit tuntemaan molemmat.
Objektien luomisessa ja tuhoamisessa voit suorittaa oman logiikkasi. Tähän tarkoitukseen ovat konstruktorit ja purkajat. Opi tämä periaate täältä.
Opi täältä perinnän syntaksi PHP:ssä.
Kun perit luokan, voit viitata pääluokkaan avainsanalla "parent". Tässä näytän sinulle, miten se tehdään.
Keskeistä on näkyvyys. Opettele nyt avainsanat "public", "private" ja "protected".
Näkyvyys ei koske vain ominaisuuksia. Tässä siirrät tietoa myös menetelmiin.
Tärkeä tyyliväline ovat niin kutsutut rajapinnat (interfaces). Tässä oppitunnilla tarkastelet niitä esimerkin kautta.
Myös käytäntöesimerkissämme myöhemmin staattisilla metodeilla on tärkeä rooli. Opi tuntemaan käsite lähemmin täällä.
Abstraktit luokat ja metodit ovat toinen työkalu ohjelmistoarkkitehdeille. Sinun täytyy ehdottomasti oppia tuntemaan ne.
Yksi menetelmä ei saa enää ylikirjoittaa? Tee tämä näkyväksi käyttämällä avainsanaa "final".
Syvennä työskentelyä esineiden kanssa tässä harjoituksessa vielä hieman enemmän.
Tässä ratkaisu harjoitukseen.
Kun objekteja tallennetaan tekstimuodossa tai siirretään verkossa, sitä kutsutaan "sarjallistamiseksi". Opi, miten se toimii.
Serialisointi ei aina toimi moitteettomasti, esimerkiksi koska yhteyttä ei automaattisesti luoda uudelleen uudelleenlukemisen jälkeen. Opi, miten voit puuttua tilanteeseen lisäksi.
Taikamenetelmän "__invoke" avulla mahdollistat objektiesi suoran kutsun.
Yleinen tapa on kuvailla kohteita luettavalla tavalla käyttämällä taikamenetelmää "__toString". Esittelen sen sinulle tässä oppitunnissa.
Erityisesti dynaamista tietomallia käytettäessä voit säästää työtä taikamenetelmien kuten "get", "set" jne. avulla. Tämä on käytäntönä yleistä, ja sinun on tunnettava tekniikka sen takana.
Esimerkiksi ehtolauseissa tarkistetaan usein tiettyjä luokkia. Tässä PHP:ssä avuksi tulee sana "instanceof", jota tulet nyt oppimaan.
PHP 7:ssä esiteltiin uutena ominaisuutena: anonyymit luokat. Ne voivat joissain tilanteissa välttää tarpeetonta ylimääräistä työtä. Tässä videossa löydät käytännönläheisen esimerkin.
Yksittäisiä esineitä ei voi luoda kopioimalla muuttujia. Siinä tapauksessa vain viite siirretään eteenpäin. Voit kuitenkin kloonata esineitä. Täällä opit, mitä siihen tarvitaan.
Objektorientoitussa maailmassa poikkeukset ovat tärkeitä, sillä virhetilanteita voidaan välittää useiden tasojen yli ja käsitellä sopivassa kohdassa. Opi käyttämään niitä.
Myös uutta PHP 7:ssä: Tyyppivihjeet skalareille datatyypeille kuten "string", "int" jne. Tässä opit, miten niitä käytetään.
Myös uusi PHP 7:ssä: metodin paluuarvon määrittely. Tässä esittelen sinulle siihen liittyvän syntaksin.
Tähän asti esimerkit ovat olleet hyvin yksinkertaisia. Käytännössä rakenne näyttää monimutkaisemmalta. Siinä autonlataajalla on keskeinen rooli. Opi, miten asetat sen.
Tässä oppitunnissa luot perustan siistille projektirakenteelle.
Projektirakenteeseen tulee nyt viimeistely Namespacesien ansiosta. Tule tutustumaan niihin täällä.
Haluat käyttää luokkia toisista nimiavaruudesta? Tässä opit, miten tuonti toimii.
Vain yksi instanssi luodaan "Singleton Pattern" -mallilla. Tässä opit toteutuksen.
Haluat lukea kaikki tiedot omasta kokoelmasta tai luokasta? Iteraattori auttaa sinua siinä.
Observer mahdollistaa hyvin löyhän kytkennän eri osien välillä sovelluksessasi. Opi nyt tämä suunnittelumalli tuntemaan.
Tehtaasi luo instansseja luokistasi. Tämä minimoi riippuvuudet ja keskittää konstruktoriesi kutsut.
Opi Model-View-Controller-mallia ennen kuin sukellamme käytäntöön.
Mitä täällä tapahtuu? Tankkaa motivaatiota ja katso lopputulos etukäteen.
Yhden ominaisuutemme sovelluksessa: keskeinen aloituspiste. Täällä varmistat tarvittavat kehysehdot käyttämällä „.htaccess“ -tiedostoa.
URL-käsittely ja oikean luokan määrittäminen tapahtuvat käynnistämisen yhteydessä. Täällä luot ne.
Pyydetty resurssi on liitetty ohjaimelle ja toimintoon.
Kun resursseja on pyydetty, sinun on tietysti myös tarjottava niitä. Ja juuri sitä tapahtuu täällä: ensimmäisen ohjaimen kautta toiminnan avulla.
Tietokantarakenteet ovat välttämätön edellytys jatkokäytölle. Nyt niitä valmistellaan.
PHP 7:ssä ei enää ole "mysql_*" -funktioita. Tässä opit objektiinorientoituneen vaihtoehdon: PDO.
Ulkoasu määräytyy edelleen HTML/CSS:n avulla. Tässä opit, miten integraatio voidaan toteuttaa.
Gallerianäkymän suunnittelu otetaan täältä mallipohjasta ja sen jälkeen integroidaan.
Useimmissa kehyksissä voit löytää keskitetysti saatavilla olevan perus-URL-osoitteen. Esimerkiksi se voidaan määrittää tai erikseen ilmoittaa, esimerkiksi suojatuille sivuille, kuten kirjautumiseen (tarvittaessa https:n kanssa). Opettele, miten tämä voidaan toteuttaa.
Olet jo oppinut "tehdasmallisuunnittelumallin". Tässä se tulee jälleen käyttöön.
Ennen käyttäjien lataamista sovellukseen tarvitaan malli. Ja juuri tämä luodaan nyt.
Myös istunnot saavat tukea galleriasta. Tässä vaiheessa kirjautuminen toteutetaan.
Oletko kirjautunut sisään? Haluatko nyt kirjautua ulos? Tässä oppitunnissa tarkastellaan molempia toimintoja.
Sisäänkirjautuminen epäonnistui. Tässä opit lukemaan arvoja istunnosta.
Lisätoiminto, uusi ohjain: Käsitellä lomakkeita. Tässä tapaat valmistelun.
Lataus on käsiteltävä myös "POST-pyyntö" jälkeen. Täällä opit kaikki tarvittavat askeleet.
Uusi kuva on siirretty onnistuneesti. Siihen liittyvä viittaus tallennetaan tietokantaan.
Tässä opit hallitsemaan ilmoituksia istunnossa vielä paremmin.
Lataamasi kuvat skaalataan tähän yhteiseen tasoon (sama korkeus).
Esimerkin käytäntöä laajennetaan käyttäjän kirjautumistehtävällä.
Löydät tehtävän #4 ratkaisun täältä.
MVC-arkkitehtuurin vahvuudet hyödynnetään, ja toinen ohjain erilaisella mallilla käytetään samaa tietokannan logiikkaa.
Tähän asti erittäin staattinen reititys optimoidaan uudelleen - omalla määritystiedostolla.
Mukautettu reititysratkaisu on nyt otettava huomioon käynnistyksessä.
Voidaksesi käyttää API:a, kuvat ladataan iOS-sovelluksen kautta.
Kommentoi nyt „PHP-ohje: Olio-ohjelmointi perusteet ja käytäntö“