Motor pentru site-ul cu mâinile lor

Practica de script-uri de programare în PHP

Deci, mai întâi trebuie să definim câteva funcții pentru a citi datele dintr-un fișier. Înainte de a aduce codul sursă, luați în considerare instrumentele pe care le avem (sau mai degrabă PHP) pentru a lucra cu fișierele (și cele care nu știu - recunosc imediat).







Funcțiile de citire a fișierelor în PHP.

Cu toate acestea, putem citi fișierul în mai multe moduri. Primul și cel mai simplu este să utilizați funcția file (). După primirea numelui fișierului, acesta returnează imediat o serie de șiruri de fișier:


$ strings = fișier ("myfolder / myfile.txt");
$ first_string = $ stringuri [0];
.

Vom face o astfel de bază de date autonomă. Pentru noi, în primul rând, avem nevoie de astfel de funcții: una pentru citirea conținutului paginii (de exemplu, textul articolului) dintr-un fișier extern - încărcarea datelor; funcția de încărcare a unui șablon dintr-un fișier - adică încărcarea unui design (design).

funcția loadTemplate (calea $)
/ * funcția încarcă șablonul în calea specificată,
și o returnează ca un șir, de exemplu,
pentru parceTemplate () * /
$ template = fopen (calea $, "r") sau print ("Nu sa încărcat fișierul șablonului [". ​​$ path. "]);

dacă (șablonul $)
returnați fread (șablonul $, dimensiunea fișierului (calea $));
altfel
return false;

funcția parceTemplate ($ template, $ params_values)
/ * funcția analizează sintactic șablonul specificat,
înlocuind numele parametrilor care servesc drept indici
masiv $ params_values ​​privind valorile lor * /
în timp ce (lista ($ param, $ value) = fiecare ($ params_values))
$ template = str_replace ("¤¤", valoare $, șablon $);
>


funcția readArticle (calea $)
/ * Funcția citește fișierul specificat și returnează
conținutul său sub forma unei serii de părți ale articolului,
separate de construcția ¤¤ * /
$ article = fopen (calea $, "r") sau print ("Nu sa încărcat fișierul de articol [". $ path "]");

Undeva aici ar fi necesar să fixăm o placă de granit cu inscripția "Expresii regulate de la fani recunoscători", deoarece fără acest lucru convenabil ar fi foarte dificil să se creeze funcțiile de mai sus. Să analizăm în detaliu cum sunt construite aceste expresii.

Expresii regulate.

Un pic de istorie.

Matematicianul Stephen Wedge a introdus pentru prima dată expresii regulate în 1956, ca rezultat al lucrării sale cu seturi recursive în limbaj natural. Acestea au fost create ca seturi sintactice folosite pentru a găsi potriviri șablon în șiruri care mai târziu au ajutat la accesarea informațiilor tehnologice emergente, făcându-le mai ușor de automatizat.







De atunci, expresiile regulate au trecut prin mai multe iterații, iar standardul actual este menținut de ISO (Organizația Internațională pentru Standardizare) și definit de Open Group, un efort comun al diferitelor organizații non-profit tehnice (2).

Simboluri de potrivire.

Dificultatea expresiilor regulate este că doriți să căutați sau ce ar trebui să se potrivească. Fără acest concept, RE este inutilă. Fiecare expresie va conține o comandă despre ce să căutați:

Se potrivesc caracterele în expresii regulate

Deci, să continuăm. Funcțiile create de noi vor fi utile pentru citirea articolelor din fișiere și afișarea unei liste cu cele mai noi articole. Și pentru modificarea tuturor acestor lucruri va trebui doar să scriem un articol nou sub forma unui fișier cu o anumită sintaxă (a se vedea mai jos) și să îl adăugăm în dosarul de pe server.

Simbolurile ¤<и>¤ Se utilizează pentru separarea pieselor unul de celălalt. Numele părții nu contează și poate fi orice set de caractere în alfabetul englez, un spațiu, un sublinieră sau o cratimă.

Pentru a afișa o listă de articole, se utilizează o buclă care sortează toate fișierele din directorul dorit. Dacă întâlnește un fișier * .art, îl adaugă imediat la matrice în joys. În funcție de parametrul specificat, poate fie să adauge numele acestui fișier, fie numele articolului conținute în acesta, fie imediat o referință gata la acest articol.

Ei bine, o mică parte a lucrării asupra motorului nostru a fost deja făcută. Această parte a codului este baza primului nostru motor. Pentru scopuri specifice, trebuie să vă lipiți de funcții suplimentare și să creați textele și șabloanele de pagină.

Referințe după cele de mai sus

Știați că programarea ansamblului de componente este o programare de asamblare orientată pe obiecte bazată pe distribuția de clase în formă binară și oferind acces la metode de clasă prin interfețe strict definite. Programarea asamblării componentelor sprijină abordările tehnologice COM, CORBA. Net.

ȘTIRI ALE FORUMULUI
Cavalerii teoriei eterului

Despre acest lucru Kornilov a scris pe pagina sa în sotsseti.

Potrivit lui Kornilov, mesajul său a fost primit cu neîncredere.

Acum, Vladimir Kornilov a decis să se întoarcă la acest subiect, în legătură cu care se publică în fotografiile mele de pe Facebook misterioase israelienilor care au luat parte la masacrul de la Odessa.

Printre numeroasele probleme pe care Kornilov, a spus el, ar dori să primească un răspuns, de exemplu:

"De ce au mers accidental în jurul Odisei cu echipament medical, mănuși de cauciuc, de unde știau în prealabil că vor fi răniți și uciși? Sau de ce soldatul a uitat brusc limba engleză, când și-a dat seama că a fost înregistrat?

apa lacurilor, mărilor și oceanelor prin lushariya --------- nordice roti spre m Lc - p-in-k-i, iar apa din polushariya sudic - ra - conductive dizolvată -a-po-așa săgeți, -represiunea - gig-ant-ski-e-water-ovo-companii.

Principalul motiv pentru rotirea eddiilor este vântul local.
Iar cu cât este mai mare viteza vântului, cu atât este mai mare viteza de rotație a vaporilor și, în consecință, cu atât este mai mare forța centrifugă a vaporilor, crescând astfel nivelul apelor mărilor și oceanelor.
Și cu cât forța centrifugală a bazinelor este mai mică, cu atât nivelul apei și oceanelor este mai scăzut.

Viteza curenților de-a lungul perimetrului mărilor și oceanelor nu este aceeași peste tot și depinde de adâncimea coastei. În partea superficială a mării, viteza curenților crește, iar în apele adânci ale mării scade.
fluctuațiile sezoniere ale nivelului apei ceas-tsya nu în jurul valorii de coasta mărilor și oceanelor-s, dar numai în acele coaste unde -mare viteza unghiulară a fluxurilor și a forței centrifuge, prin urmare, de mare a apei. (Forța centrifugă F = v / r).
Pe coastele rectilinii, unde curenții nu au viteză unghiulară, nivelul apei nu crește.







Articole similare

Trimiteți-le prietenilor: