PHP programuotojas mokosi nuo nulio. Asmeninė patirtis kaip įrodymas: PHP programavimo kalba yra pagrindinė žiniatinklyje

PHP (P HP: H hipertekstas P perdirbėjas, apgalvotas pirminis procesorius

Hipertekstas) yra scenarijų programavimo kalba, orientuota į žiniatinklį.

1 pamokoje susipažinsime su pagrindine sintaksė, taip pat parašysime savo pirmąjį scenarijų.

Sintaksės pagrindai:

-
- scenarijaus pradžia ir pabaiga
priskyrimo operatorius -=

Išvesties teksto informacija – aidas (gali išvesti html kodą)

Nors(ciklo sąlyga)(veiksmas) – ciklas
- if(sąlyga)(veiksmas, kurį reikia atlikti, jei sąlyga klaidinga)else(veiksmas, kurį reikia atlikti, jei sąlyga klaidinga) - sąlyga
-

Pamoka 1. Pirmojo scenarijaus kūrimas

Kaip matote, scenarijus susideda iš vienos eilutės.

Norėdami paleisti scenarijų, jums reikia atitinkamos programinės įrangos, Windows vartotojams rekomenduoju Denwer (http://denwer.ru)
Įdiegę Denwera, hosts kataloge sukurkite aplanką Script.test, kuriame savo ruožtu sukurkite aplanką

WWW. WWW aplanke sukurti index.php failą? į kurią perkeliame savo failo turinį.

Išsaugoję failą, iš naujo paleiskite Denwer. Tada naršyklės eilutėje įveskite script.test

Ir voila! Matome užrašą Hello World!

Kaip nerašyti Hello World:

Sveikas pasaulis taip nerašoma

Taigi:

Na, tai tikrai ne:

Užbaigimas.

Šiuo klausimu mūsų pamoka baigėsi, bet galų gale nedidelis naudingų nuorodų pasirinkimas:
denwer.ru - svetainė, kurioje galite atsisiųsti Denwer
en.wikipedia.org/wiki/PHP – kas yra PHP
http;//php.net – PHP pamoka

žymės: PHP

Šis straipsnis nėra komentuojamas, nes jo autorius dar nėra visateisis bendruomenės narys. Su autoriumi galėsite susisiekti tik jam gavus

Pirmiems punktams pasistengsiu parašyti laisvos formos rekomendacijas.

Visų pirma, norint gerai išmokti programuoti PHP, reikia gerai išmokti programuoti. Tai labai svarbus dalykas. Daugelis žmonių, kurie rašo PHP, neturi supratimo apie programavimą. Net apie tokius pagrindinius dalykus kaip kodo formatavimas, derinimas, profiliavimas, klaidų tvarkymas, failų operacijos. Galite pastebėti, kad aš nekalbu apie OOP. Tai visiškai atskira tema, OOP turi būti mokoma specialiai. Deja, iš 100 žmonių, kurie sako žinantys OOP, 90 yra banalūs kopijuotojai, išmokę sintaksę, bet nesuprantantys objektų reikšmės. Tačiau norint žaisti šachmatais, neužtenka žinoti, kaip juda figūrėlės.

Taip pat būtų malonu atsakyti į klausimą – kodėl nori mokytis programavimo PHP kalba? Klausimas visai ne tuščias. Daugelis žmonių joje maišo daugybę skirtingų sąvokų. Pavyzdžiui, CMS čia jau buvo paminėta. ir iš tikrųjų, jei mes kalbame apie pinigų uždirbimą, tada pritaikyti Jumla ir rašyti jai šūdo modulius yra finansiškai daug pelningiau nei galimybė parašyti ką nors nuo nulio. Visgi laisvai samdomiems darbams.

Apskritai PHP gali būti naudojamas įvairiais būdais. Ir kiekvienu atveju tai bus sava kalba.

  • Svečių ar vizitinių kortelių svetainę galite įkalti į „nuogą“ PHP – ir tame nėra nieko blogo ar gėdingo. Priešingai, tai yra kalbos, kuri taip pat tinka tokiems tikslams, pliusas, nenutempiant poros milijonų kodo eilučių dėl penkių šimtų svetainės.
  • Galite sukurti profesionalų portalą, pagrįstą viena iš esamų karkasų ir jį plėtoti.
  • Galite parašyti pasirinktinį didelės apkrovos projektą, kuriam vėl turėsite parašyti savo sistemą grynu PHP.
  • Galima, kaip jau minėta, kniedyti svetaines remiantis tam tikra TVS.

Daug variantų! todėl pirmiausia turite nuspręsti, ko norite.

Jie kalbėjo apie JS + CSS aukščiau - jums nereikia klausytis, tai visiška nesąmonė. Front-end programavimas yra visiškai atskiras dalykas, daug labiau vizualus nei abstraktus. Ir, ačiū Dievui, vis daugiau darbdavių pradeda tai suprasti. Nors vėlgi, jei esate laisvai samdomas ir esate visų amatų meistras, tuomet be jo neapsieisite.

Bet jei dirbate kaip rimtas serverio programuotojas komandoje, jums tereikia turėti bendrą supratimą apie HTML / JS / CSS (nes tekstai šiomis kalbomis iš tikrųjų yra beveik vienintelis PHP darbo rezultatas).

Tačiau tai, ką jūs tikrai turite gerai žinoti iš susijusių technologijų, yra HTTP protokolas, įrenginys Failų sistema, darbas c komandinė eilutė Linux sistemoje.

Dabar dėl kitų

Mysql vis dar yra kertinis duomenų saugojimo internete akmuo. Reikia žinoti ir suprasti sujungimus, indeksus

Karkasai yra būtini. Tačiau čia yra pasirinkimo problema, tačiau tarp jų nėra esminio skirtumo. Yii yra geras pasirinkimas.

Jums nereikia Github, jums nereikia to žinoti. Reikia žinoti git.
Tačiau žiniatinklio programuotojui privaloma galimybė naudotis Google. Bent jau galimybe nukopijuoti-įklijuoti klaidos pranešimą į paieškos formą arba parašyti klausimą "Kas yra git" ;-)

Nes norint dirbti komandoje, reikia išmanyti kažkokią versijų valdymo sistemą, o git yra de facto standartas. Suprasti veikimo principą ir pagrindines komandas – atsiskaitymas, įsipareigojimas, stumdymas.

HTML žinios leidžia susidaryti idėją, kaip kurti svetaines. Ir netgi suteikia galimybę savarankiškai kurti interneto išteklius. Tačiau šios žymėjimo kalbos naudojimas yra ribotas dėl statinio ja sukurtų puslapių pobūdžio. Visų pirma, jis dažniausiai naudojamas vizitinių kortelių svetainių kūrimui. Reikalas tas, kad jei reikia atlikti kokius nors pakeitimus, reikia redaguoti kiekvieną puslapį atskirai, o jei resursas jų turi kelias dešimtis ar šimtus, toks procesas bus ne tik varginantis, bet ir užsitęsęs.

PHP (PHP santrumpa: Hypertext Preprocessor "hiperteksto pirminis procesorius") naudojimas leidžia optimizuoti svetainės administravimą – skriptų programavimo kalbą, kuri leidžia kurti dinamiškai užpildytus tinklalapius. Jo naudojimas leidžia išteklius paversti tikrai interaktyviu, o svetainės valdymo procesą - paprastu ir pigesniu pastangų požiūriu. Internetinis kursas WebShake sukurta PHP pradedantiesiems padeda nuo nulio išmokti scenarijų kalbos pagrindų, išmokti kurti dinamiškus išteklius, kuriuos lengva keisti ir prižiūrėti.

Mūsų tekstinė medžiaga ir vaizdo įrašų vadovėliai sukurti taip, kad būtų suprantami kiekvienam vartotojui, norinčiam išmokti žiniatinklio programavimo. O namų darbai, dedami kiekvienos temos pabaigoje, leis įtvirtinti įgytas žinias ir patobulinti jų pritaikymą praktikoje.

1. Susitikite su PHP nuoroda

Jei pirmą kartą naudojate PHP, pats laikas susipažinti su nuostabia PHP nuoroda. PHP nuoroda yra neįtikėtinai išsami ir kiekviename straipsnyje yra tikrai naudingų komentarų. Prieš užduodami klausimus ar bandydami patys išspręsti problemą, sutaupykite laiko ir tiesiog eikite į vadovą. Atsakymai į jūsų klausimus jau patogiai patalpinti naudingame PHP.net svetainės straipsnyje.
Tokiu atveju rekomenduojame patiems ieškoti žinynų rusų kalba, pageidautina php pradedantiesiems. Mums bus malonu, jei straipsnio komentaruose pateiksite nuorodas į naudingas žinynus (tik atminkite, kad tai yra straipsnio vertimas).

2. Įjunkite klaidų ataskaitų teikimą

6. Įtraukite ir naudokite tarpus, kad būtų lengviau skaityti

Jei kode nenaudosite įtraukos ir tarpų, rezultatas atrodys kaip Jacksono Polacko paveikslas. Įsitikinkite, kad jūsų kodas yra skaitomas ir jo galima ieškoti, nes beveik neabejotinai jį pakeisite ateityje. IDE ir šiuolaikiniai teksto rengyklės gali automatiškai įtraukti kodą.

7. Padarykite savo kodą sluoksniuotą

Programų išdėstymas yra ne kas kita, kaip įvairių kodo komponentų padalijimas į dalis. Ateityje tai suteiks galimybę lengvai pakeisti kodą.

8. Visada naudokite

Dažnai programuotojai PHP teiginiuose bando naudoti santrumpas. Štai kaip tai paprastai daroma:

<% echo "Hello world"; %>

aidas "Sveikas pasaulis" ;

<% echo "Hello world" ; %>

Nors tai išsaugo keletą simbolių, visi šie metodai yra pasenę ir neoficialūs. laikytis standarto, nes garantuojama, kad ji bus palaikoma visose būsimose versijose.

9. Naudokite prasmingus, nuoseklius pavadinimus

Vardų suteikimas ne tik jūsų malonumui. Nėra nieko blogiau, kaip plėšytis per kito programuotojo beprasmius susitarimus. Padėkite sau ir kitiems naudodami prasmingus savo klasių ir savybių pavadinimus.

10. Komentuoti, komentuoti, komentuoti

Be tarpų ir įtraukų, kad atskirtumėte kodą, taip pat turėsite naudoti eilutinius komentarus, kad komentuotumėte savo kodą. Padėkosite sau vėliau, kai turėsite grįžti ir ieškoti kažko kode arba jei tiesiog neprisimenate, ką atliko tam tikra funkcija. Tai taip pat naudinga tiems, kuriems reikia peržiūrėti kodą.

11. Įdiekite MAMP/WAMP

MySQL yra populiariausia duomenų bazė, naudojama su PHP (nors ir ne vienintelė). Jei jums reikia nustatyti vietinę aplinką PHP programoms kurti ir išbandyti kompiuteryje, apsvarstykite galimybę įdiegti MAMP (Mac) arba WAMP (Windows). MySQL įdiegimas savo kompiuteryje gali būti varginantis procesas, ir abiejuose šiuose programinės įrangos paketuose yra MySQL. Protingas ir paprastas.

12. Nustatykite savo scenarijų ribas

PHP scenarijų laiko limito nustatymas yra labai atsakingas dalykas. Kartais scenarijai nutrūksta, o kai taip nutinka, turėsite naudoti ypatybę set_time_limit, kad išvengtumėte nesibaigiančių kilpų ir duomenų bazės ryšio skirtojo laiko. „Set_time_limit“ nustato didžiausio scenarijaus sekundžių skaičiaus laiko limitą (numatytasis 30). Praėjus šiam laikui, iškeliama lemtinga klaida.

13. Naudokite objektus (arba OOP)

Objektinis programavimas (OOP) naudoja objektus, kad pavaizduotų programos komponentus. OOP yra ne tik būdas suskaidyti kodą į atskiras logines dalis, bet ir sumažina kodo pasikartojimą bei palengvina jo modifikavimą ateityje.

14. Supraskite skirtumą tarp viengubų ir dvigubų kabučių

Pavienių kabučių naudojimas eilutėse yra efektyvesnis, nes analizatoriui nereikia naršyti kodo ieškant specialiųjų simbolių ir kitų dalykų, kuriuos leidžia dvigubos kabutės. Jei įmanoma, stenkitės visada naudoti pavienes kabutes.

Prieštaravimas: Tiesą sakant, tai nebūtinai yra tiesa. Lyginamieji testai rodo, kad bandant eilutes be kintamųjų, naudojant dvigubas kabutes yra keletas našumo pranašumų.

15. Nedėkite phpinfo() į savo webroot

Phpinfo yra nuostabus dalykas. Tiesiog sukurdami PHP failą, kuriame yra:

ir pridėję jį kur nors serveryje, galite akimirksniu sužinoti viską apie savo serverio aplinką. Tačiau daugelis pradedančiųjų įdės failą su phpinfo() į serverio žiniatinklio šaknį. Tai labai nesaugi praktika, ir jei kas nors, turintis smalsų mąstymą, gaus prieigą, jis gali sugadinti jūsų serverį. Įsitikinkite, kad phpinfo() yra saugioje vietoje, ir kaip papildomą priemonę pašalinkite ją, kai baigsite.

16. Niekada nepasitikėkite savo vartotojais

Jei jūsų programoje yra vietų, kuriose vartotojai gali prisijungti, visada turėtumėte manyti, kad kažkas bandys įvesti abejotiną kodą. (Mes nereiškiame, kad jūsų vartotojai yra blogi žmonės. Tai tik sveikas protas.) Puikus būdas apsaugoti svetainę nuo įsilaužėlių – visada inicijuoti kintamuosius, kad apsaugotumėte svetainę nuo XSS atakų. PHP.net turi tinkamai uždarytos formos su inicijuotais kintamaisiais pavyzdį:

if (correct_user ($_POST [ "vartotojas" ] , $_POST [ "slaptažodis" ] )) (

$prisijungimas = true ;

if ($login) (

forward_to_secure_aplinka();

17. Laikykite slaptažodžius užšifruotus

Daugelis PHP naujokų dažnai įtraukia į duomenų bazę neskelbtinus duomenis, pvz., slaptažodžius, nenaudodami šifravimo. Apsvarstykite galimybę naudoti MD5 slaptažodžiams užšifruoti prieš bendrindami duomenų bazę.

echo md5 ("mano slaptažodis"); // atvaizduoja-

echo md5 ("mano slaptažodis"); // atvaizduoja-

Prieštaravimas: Tačiau atminkite, kad MD5 maišos buvo pažeistos ilgą laiką. Žinoma, jie yra saugesni nei ne, bet milžiniškos „spektrinės lentelės“ pagalba įsilaužėliai gali atkurti jūsų maišą. Kad užtikrintumėte dar didesnį saugumą, apsvarstykite galimybę pridėti „druskos“ (baltojo triukšmo trukdžių). „Druska“ paprastai yra papildomas simbolių rinkinys, kurį pridedate prie tinkintos eilutės.

18. Naudoti duomenų bazių vizualizavimo priemones

Jei jums sunku planuoti ir modifikuoti savo PHP programų duomenų bazes, galite apsvarstyti galimybę naudoti duomenų bazės vizualizavimo įrankį. MySQL vartotojai gali dirbti su DBDesigner ir MySQL Workbench, kad vizualiai sukurtų savo duomenų bazes.

19. Naudokite išvesties buferį

Išvesties buferis yra paprastas būdas labai pagerinti PHP scenarijaus kokybę ir greitį. Be išvesties buferio, jūsų scenarijus pateiks HTML puslapyje, kai jis bus apdorojamas – dalimis. Pridėjus išvesties buferį, PHP gali išsaugoti HTML kaip kintamąjį ir siųsti jį į naršyklę vienu gabalu.

Norėdami suaktyvinti išvesties buferio funkciją, failo pradžioje tiesiog pridėkite ob_start().

Prieštaravimas: nors ir nebūtina, paprastai laikoma gera praktika tiesiog laikytis funkcijos „ob_end_flush();“. dokumento pabaigoje. P.S. Ar taip pat norite suspausti HTML? Tiesiog pakeiskite "ob_start();" į "ob_start('ob_gzhandler')";

XHTML

be pavadinimo

be pavadinimo

20. Apsaugokite savo scenarijų nuo SQL įpurškimo atakos

Jei neišvengsite simbolių, naudojamų SQL eilutėse, jūsų kodas yra pažeidžiamas SQL injekcijos atakai. To galima išvengti naudojant mysql_real_escape_string funkciją arba paruoštus SQL sakinius.

Štai veikiantis mysql_real_escape_string pavyzdys:

$vartotojo vardas = mysql_real_escape_string($GET["naudotojo vardas"]);

$username = mysql_real_escape_string ($GET [ "naudotojo vardas" ] ) ;

Ir paruoštas pareiškimas:

21. Išbandykite ORM

Jei rašote į objektą orientuotą PHP, galite naudoti OR-mapping (ORM). ORM leidžia konvertuoti duomenis tarp reliacinių duomenų bazių ir objektinio programavimo kalbų. Trumpai tariant, ORM suteikia galimybę dirbti su duomenų bazėmis taip pat, kaip dirbate su PHP klasėmis ir objektais.

Yra daug PHP ORM bibliotekų, tokių kaip „Propel“, o ORM yra integruota į PHP sistemas, tokias kaip „CakePHP“.

22. Talpyklos duomenų bazės valdomi puslapiai

Duomenų bazės pagrįstų PHP puslapių kaupimas talpykloje yra puiki idėja pagerinti scenarijaus įkėlimo greitį ir našumą. Su mūsų geru draugu ob_start() sukurti ir gauti statinio turinio failus tikrai nėra taip sunku. Štai pavyzdys, paimtas iš Snipe.net:

// Jūsų scenarijaus VIRŠUS $cachefile = "cache/".basename($_SERVER["SCRIPT_URI"]); $cachetime = 120 * 60; // 2 valandos // Pateikti iš talpyklos, jei ji jaunesnė nei $cachetime if (file_exists($cachefile) && (time() - $cachetime< filemtime($cachefile))) { include($cachefile); echo ""; exit; ) ob_start(); // paleiskite išvesties buferį // Įprastas PHP scenarijus ir HTML turinys čia // Scenarijaus APADĖS $fp = fopen($cachefile, "w"); // atidarykite talpyklos failą rašyti fwrite($fp, ob_get_contents()); // išvesties buferio turinį išsaugokite faile fclose($fp); // uždarykite failą ob_end_flush(); // Nusiųskite išvestį į naršyklę

// Jūsų scenarijaus VIRŠUS

$cachefile = "cache/" . bazinis pavadinimas ($_SERVER [ "SCRIPT_URI" ] ) ;

$cachetime = 120 * 60 ; // 2 valandos

// Pateikti iš talpyklos, jei ji yra jaunesnė nei $cachetime

if (file_exists ($cachefile ) && (time () - $cachetime< filemtime ($cachefile ) ) ) {

include($cachefile) ;

Smėlio dėžė

traukti 2013 m. liepos 25 d., 01:07

PHP nuo nulio. 1-oji pamoka

  • PHP,
  • Programavimas

PHP (P HP: H hipertekstas P perdirbėjas, apgalvotas pirminis procesorius

Hipertekstas) yra scenarijų programavimo kalba, orientuota į žiniatinklį.

1 pamokoje susipažinsime su pagrindine sintaksė, taip pat parašysime savo pirmąjį scenarijų.

Sintaksės pagrindai:

-
- scenarijaus pradžia ir pabaiga
priskyrimo operatorius -=

Išvesties teksto informacija – aidas (gali išvesti html kodą)

Nors(ciklo sąlyga)(veiksmas) – ciklas
- if(sąlyga)(veiksmas, kurį reikia atlikti, jei sąlyga klaidinga)else(veiksmas, kurį reikia atlikti, jei sąlyga klaidinga) - sąlyga
-

Pamoka 1. Pirmojo scenarijaus kūrimas

Kaip matote, scenarijus susideda iš vienos eilutės.

Norėdami paleisti scenarijų, jums reikia atitinkamos programinės įrangos, Windows vartotojams rekomenduoju Denwer (http://denwer.ru)
Įdiegę Denwera, hosts kataloge sukurkite aplanką Script.test, kuriame savo ruožtu sukurkite aplanką

WWW. WWW aplanke sukurti index.php failą? į kurią perkeliame savo failo turinį.

Išsaugoję failą, iš naujo paleiskite Denwer. Tada naršyklės eilutėje įveskite script.test

Ir voila! Matome užrašą Hello World!

Kaip nerašyti Hello World:

Sveikas pasaulis taip nerašoma

Taigi:

Na, tai tikrai ne:

Užbaigimas.

Šiuo klausimu mūsų pamoka baigėsi, bet galų gale nedidelis naudingų nuorodų pasirinkimas:
denwer.ru - svetainė, kurioje galite atsisiųsti Denwer
en.wikipedia.org/wiki/PHP – kas yra PHP
http;//php.net – PHP pamoka

žymės: PHP

Šis straipsnis nėra komentuojamas, nes jo autorius dar nėra visateisis bendruomenės narys. Su autoriumi galėsite susisiekti tik jam gavus

mob_info