PHP-taal vanaf het begin. Waarom PHP? Gebufferde uitvoer gebruiken

Bootstrap Framework: snel reagerende lay-out

Stap voor stap videocursus over de basis adaptieve lay-out in het Bootstrap-framework.

Leer eenvoudig, snel en efficiënt typen met een krachtige en praktische tool.

Maak het goed om te bestellen en geld te krijgen.

Gratis cursus "Website op WordPress"

Wil je het onder de knie krijgen? CMS WordPress?

Krijg lessen over website-ontwerp en lay-out op WordPress.

Leer werken met thema's en snijd de lay-out.

Gratis videocursus over het tekenen van website-ontwerp, de lay-out en installatie op CMS WordPress!

*Mouse-over om het scrollen te pauzeren.

Terug vooruit

Grondbeginselen van PHP Basics: een overzicht voor beginners

PHP staat al jaren consequent op de lijst van de meest populaire programmeer- en webontwikkeltalen. Natuurlijk zijn er andere talen, maar de alomtegenwoordigheid van sites is gebaseerd op WordPress-engine in veel opzichten een extra stimulans geweest voor een nog grotere groei in populariteit gegeven taal.

Wat is PHP?

PHP staat voor Hypertext Preprocessor(zoiets als "HTML-preprocessor").

Wat betekent dit? Laten we een beetje ver beginnen: er zijn twee soorten talen. Een type heet "cliënt", en de andere - "server".

Het betekent dat clienttalen werken in de browser van elke individuele persoon. Een typische vertegenwoordiger van klanttalen is: JavaScript, waar u waarschijnlijk al van gehoord heeft en waarvan u het resultaat meer dan eens hebt gezien.

Als je meer wilt weten over JavaScript, lees dan dit artikel.

Alle acties en commando's die we bijvoorbeeld instellen op JavaScript, worden uitgevoerd door de browser, wat betekent dat dezelfde door ons geschreven code in één geval wordt verwerkt internet browser Explorer, in een andere - Firefox, in de derde - Opera, in de vierde - Google Chrome, d.w.z. de browser die iedereen gebruikt speciaal persoon om onze pagina te bekijken.

De browser heeft dus: alternatieve naam - klant.

In het geval van servertalen(inclusief PHP) zien we een ander beeld.

Onze site bevindt zich altijd op een server, d.w.z. krachtige computer, speciaal ontworpen om de sites van veel mensen te hosten.

Alle opdrachten en scripts die in PHP zijn geschreven, worden uitgevoerd op de server, en niets anders. Nadat het PHP-script op de server is uitgevoerd, "geeft" de server het resultaat van zijn werk, dat we in de browser zien.

Het is belangrijk om het volgende punt hier te begrijpen: volgens de broncode van de webpagina, die in elke browser kan worden bekeken via een optie als "Bron Pagina's" er kan niet worden vastgesteld of PHP is gebruikt om een ​​bepaalde pagina te maken of niet.

Het is onmogelijk om dit juist te doen omdat PHP-scripts op de server worden verwerkt en een kant-en-klare, bewerkte versie naar de browser wordt verzonden. Eigenlijk gewoon HTML-code.

Het verschil met gewone statische HTML-pagina's is een extra codeverwerkingsstap.

In het geval van een HTML-pagina is er maar één stap: de browser verwerkt de HTML-code, d.w.z. pagina-opmaak volgens bepaalde regels, waardoor we de webpagina in zijn normale vorm zien.

In het geval van een PHP-pagina zijn er twee stappen: eerste zogenaamde PHP-interpreter(handler) voert de PHP-code uit (hierdoor wordt een eenvoudige HTML-code verkregen), en daarna verwerkt de browser het resultaat van deze verwerking, dwz in feite wordt dezelfde fase uitgevoerd, die de enige is in het geval van HTML-pagina.

Over het algemeen werkt PHP uitstekend samen met HTML. Bovendien kunt u PHP-code in HTML-code invoegen, en met PHP gebruiken HTML-opmaak uitvoeren. Het is belangrijk om dit simpele punt te onthouden: hoe complex je PHP-code ook is, het zal uiteindelijk eindigen als gewone HTML.

Waarom PHP gebruiken?

HTML is 100% statisch. Door PHP-code in onze pagina's in te sluiten, kunnen we ervoor zorgen dat: de inhoud van dezelfde pagina was anders, afhankelijk van bepaalde voorwaarden (dynamische pagina's). Door de jaren heen heeft de PHP-taal bewezen een geweldige oplossing te zijn voor het maken van dynamische websites.

Is PHP vergelijkbaar met andere talen?

Ja. PHP is vergelijkbaar met ASP.NET, Perl, JavaScript, C#. Misschien ken je ze nu echter niet PHP leren stelt u in staat om in de toekomst met meer vertrouwen andere talen onder de knie te krijgen.

Wat heb je nodig om te beginnen?

Voor volwaardig werk met PHP op je computer heb je de volgende dingen nodig:

1. Apache-webserver(het wordt in de meeste gevallen gebruikt);
2. Database Management Systeem (DBMS) MySQL (de inhoud van de site wordt opgeslagen in de database);
3. Geïnstalleerde PHP-interpreter;
4. Teksteditor waarin je code gaat schrijven;
5. Browser.

Nu iets meer over de eerste drie punten.

1. Webserver is ontworpen om op uw computer dezelfde server te imiteren, die vervolgens uw site host die al op internet wordt gehost. Dit is nodig zodat u PHP-scripts op uw computer kunt schrijven en kunt zien hoe ze werken, wijzigingen en bewerkingen kunt aanbrengen. Kortom, het is noodzakelijk voor het zogenaamde debuggen.

2. DBMS MySQL nodig om informatie op uw site op te slaan. In het geval van HTML-pagina's bevindt alle inhoud van de site zich daar direct in. Elke pagina bevat een bepaalde hoeveelheid informatie (content).

Bij PHP gebruiken voor het opslaan van nuttige informatie-inhoud van de site wordt in de regel een database gebruikt. In de overgrote meerderheid van de gevallen is dit MySQL.

3. PHP-interpreter is een soort programma dat PHP-code op een webserver verwerkt. Zonder dit kunnen we onze PHP-scripts niet uitvoeren en het resultaat van hun werk zien.

Hoe installeer je al deze componenten op een computer?

Bestaat goede beslissing, wat dit proces enorm vereenvoudigt en geen kennis vereist op het gebied van het opzetten van een webserver, MySQL en PHP-interpreter.

Dit is een speciaal setje. Denver, die alle drie de componenten al bevat. Het wordt op de computer geïnstalleerd als: regulier programma en klaar voor gebruik zonder enige voorinstellingen.

Denwer is in de overgrote meerderheid van de gevallen een ideale oplossing, en voor beginners zal het een reddingsboei zijn, omdat het je in staat stelt om sites in PHP te ontwikkelen zonder dat je een heleboel aanvullende informatie hoeft te leren over het opzetten van een webserver, MySQL DBMS en PHP-interpreter.

Basis

Om de server te vertellen om PHP-code te verwerken, moet u de volgende syntaxis gebruiken bij het toevoegen van PHP aan een HTML-document:

Het openen van een blok PHP-code wordt aangeduid als ", en de sluiting is "?>" . Laten we nu onze code als volgt veranderen:

Houd er rekening mee dat in dit voorbeeld we schreven alles in één regel. Spaties en nieuwe regels spelen hier geen rol en hebben geen invloed op het eindresultaat.

In het voorbeeld geven we de server het commando echo(opdracht voor het weergeven van informatie op het scherm) en geef aan dat we de zin willen weergeven Dit is PHP in actie. Elke opdracht in PHP wordt van de vorige gescheiden door een puntkomma aan het einde van die opdracht.

PHP is strikter met betrekking tot syntaxis en zal u niet vergeven voor het missen van puntkomma's, haakjes, aanhalingstekens, enz., zoals het geval zou kunnen zijn met HTML. PHP zal in dit geval een bericht geven over: syntax error, die moet worden gecorrigeerd en de regel aangeeft waar deze fout is gemaakt.

Trouwens, in deze zaak we konden geen puntkomma aan het einde van de opdracht gebruiken, omdat dit in dit geval de enige is (opdracht). Het is echter altijd beter om vast te houden aan goede oefeningen bij het werken met code.

Variabelen declareren

Variabele in PHP is een soort container die kan bevatten bepaalde informatie. Om zo'n "container" te maken, moeten we deze een naam geven en specificeren wat erin moet "liggen". Dit doe je met het teken "$" , wat betekent dat we te maken hebben met een variabele. Laten we het in een variabele plaatsen met de naam test zin Dit is PHP in actie.

Het resultaat van het verwerken van deze code zal precies hetzelfde zijn als in het vorige voorbeeld. Het scherm zal gewoon de frase weergeven Dit is PHP in actie. Echter, daarvoor hebben we deze frase direct uitgevoerd, en nu hebben we deze frase in een variabele ingevoerd test, waarna ze de opdracht gaven om de waarde van de variabele op het scherm weer te geven test.

Hoe kunnen we wat meer tekst of andere informatie toevoegen om op het scherm weer te geven?

Laten we dit bekijken met het volgende voorbeeld:

Zoals je kunt zien, na de uitvoer van de variabele test er is een spatie, dan een punt, dan weer een spatie. Daarna worden aanhalingstekens geopend, eerst is er een spatie en dan een zin Mijn naam is Dmitry Naumenko., waarna de aanhalingstekens worden gesloten.

Laten we de stappen doorlopen en kijken wat en wat hier nodig is.

Na het uitvoeren van de variabele test we "voegen" extra tekst toe aan de reeds bestaande uitvoer. Dit wordt gedaan met behulp van het puntsymbool. (.) .

Het puntsymbool betekent optelling in PHP, maar niet optellen van getallen, maar precies optellen tekst informatie zoals degene waarmee we werken. Na de punt geven we tussen aanhalingstekens aan wat we precies aan de output willen toevoegen, en schrijven we een nieuwe zin.

Merk op dat er een spatie achter de aanhalingstekens staat. Wanneer het op het scherm wordt weergegeven, wordt het opgeslagen, zodat onze zinnen niet samenvloeien. Die. wij zullen u output krijgen:
Dit is PHP in actie. Mijn naam is Dmitry Naumenko.

Als je die spatie verwijdert, krijg je:
Dit is PHP in actie Mijn naam is Dmitry Naumenko.

Ik wil ook uw aandacht vestigen op de spaties aan beide zijden van het punt dat de toevoeging produceert. Deze ruimtes spelen geen enkele rol en worden alleen gebruikt voor duidelijkheid en gemak van waarneming. De volgende code geeft ons precies hetzelfde resultaat:

Schrijf daarom op de manier die in dit geval voor u het handigst is.

Opmerkingen in code invoegen

Eerste vraag - "Waar zijn die voor?"

Opmerkingen zijn nodig zodat u aantekeningen, notities, uitleg, etc. kunt maken in uw code of die van iemand anders. terwijl u aan de code werkt. Nu lijkt het je dat alles duidelijk en duidelijk is. Zolang je je maar perfect herinnert waarom deze variabele nodig is en wat die functie doet.

Er gaat niet veel tijd voorbij en zonder commentaar zul je zelfs je eigen code nauwelijks kunnen begrijpen, om nog maar te zwijgen van de scripts van andere mensen. Daarom is het competente gebruik van opmerkingen een dringende noodzaak.

PHP gebruikt meestal twee soorten opmerkingen:

Opmerkingen werken natuurlijk alleen binnen blokken PHP-code. En ?> .

HTML renderen met PHP

Zoals ik eerder al zei, werken PHP en HTML uitstekend samen. Dat we ons in een blok PHP-code bevinden, betekent niet dat we tekst niet in een alinea of ​​vet kunnen weergeven.

Dit is de vetgedrukte tekst."; ?>

Zoals je misschien al geraden hebt, is het resultaat van deze code de vetgedrukte uitvoer naar de browser van deze regel.

De eerste functie maken

Allereerst een paar woorden over wat een functie is.

Functie is een soort miniprogramma dat een bepaald nuttig werk en geeft ons het resultaat.

Het is logisch om functies te gebruiken in die gevallen waarin u hetzelfde type sjabloonacties moet uitvoeren. In dit geval schrijven we zo'n miniprogramma, dat de hoeveelheid code en daarmee onze inspanningen aanzienlijk vermindert.

De syntaxis voor het maken van een functie is als volgt:

Laten we zeggen dat als we een functie willen schrijven die de som van de getallen 10 en 5 berekent, we dit kunnen doen:

We maken een functie met de naam som en in zijn lichaam geven we aan dat het de som van de getallen 10 en 5 moet weergeven. Daarna noemen we de functie som. Het aanroepen van een functie betekent in wezen het uitvoeren ervan.

In dit voorbeeld gebruiken we geen argumenten (zie functiesyntaxis hierboven). Wat zijn argumenten en waarvoor dienen we direct met een voorbeeld. We wijzigen de code die we hebben, waardoor deze flexibeler en functioneler wordt:

Nu bij het maken van een functie som we specificeren twee argumenten gescheiden door komma's tussen haakjes - $slaemoe1 En $slaemoe2. In de hoofdtekst van de functie voegen en tonen we geen specifieke getallen, maar de waarden van variabelen $slaemoe1 En $slaemoe2(d.w.z. dezelfde argumenten).

Nu hoeven we alleen de functie aan te roepen, terwijl we tussen haakjes de twee argumenten doorgeven die hij "verwacht". We specificeren de getallen 10 en 5, wat resulteert in 15. De functie doorgeven som andere getallen krijgen we natuurlijk een ander antwoord.

ik hoop dat deze recensie heeft u geholpen te begrijpen wat PHP is en wat het doet, welke voordelen het heeft ten opzichte van statische HTML en hoe u enkele van de eenvoudigste functies ervan kunt gebruiken.

Dmitri Naumenko.

PS Wil je verder komen in het leren van PHP? Let op premium lessen op verschillende aspecten website bouwen, inclusief PHP-programmering, evenals gratis cursus om uw eigen CMS-systeem in PHP helemaal opnieuw te maken. Dit alles zal je helpen dit snel en gemakkelijk onder de knie te krijgen krachtige taal webontwikkeling:

Vond je het materiaal leuk en wil je bedanken?
Deel het gewoon met je vrienden en collega's!


internet in moderne wereld neemt een steeds sterkere positie in. Ongeveer 15 jaar geleden vereiste toegang tot het netwerk dure apparatuur en veel geld om rekeningen te betalen. Nu is internet voor een cent toegankelijk voor iedereen die tenminste mobiele telefoon. Steeds meer diensten en diensten verhuizen naar elektronisch formulier. Internet verandert van communicatie- en informatie-uitwisseling in handig hulpmiddel om een ​​bedrijf te runnen en geld te verdienen.

Elke dag bezoeken miljoenen gebruikers hun favoriete sites, downloaden e-mail, bestanden of nieuws, spelen online games, doen zaken met het bedrijf of chatten, bloggen en forums. De meeste van deze gebruikers hebben nooit nagedacht over hoe het allemaal werkt, wie nieuwe sites en diensten maakt, hoe en waarmee.

Deze elektronisch leerboek Ontworpen voor degenen die alleen surfen op het web is niet genoeg. Voor degenen die willen leren hoe ze hun eigen websites kunnen maken en op de hoogte willen zijn van de nieuwste trends op het gebied van programmeren en ontwerpen.

Algemene principes

Voordat u begint met het leren van een taal, moet u de terminologie en het begrip ondubbelzinnig bepalen algemene principes de werking van internet. Laten we beginnen met de principes van het netwerk en sites.

Het internetnetwerk bestaat uit een groot aantal onderling verbonden computers, routers en andere hardware die nodig is voor: correcte werking. Elk element van het internet (knooppunt) heeft een unieke descriptor - een IP-adres. Als u het IP-adres van het knooppunt kent, kunt u proberen er verbinding mee te maken en met een beetje vaardigheid kunt u bepalen tot wie dit adres behoort en in welke regio van de wereld het zich bevindt. IP-adressen worden meestal geschreven als vier groepen getallen, gescheiden door punten, bijvoorbeeld

192.168.100.003 of 10.10.0.123

Mee eens, het onthouden van de adressen van alle veelbezochte pagina's is geen gemakkelijke taak. Daarom zijn er op internet speciale DNS-servers(domein naam resolutie), waarin lijsten met IP-adressen en symbolische naamtoewijzingen worden opgeslagen. Dankzij deze servers komt de gebruiker altijd op het gewenste IP-adres door alleen de naam van de pagina in de browser te typen.

Nadat we de naam van de gewenste pagina in de browserregel hebben ingevoerd, ontvangt de browser zelfstandig van DNS IP-adres gewenste server en stuurt een speciaal verzoek om de pagina (HTTP-verzoek) naar dit adres te krijgen. draait op de server gespecialiseerd programma(zogenaamde webserver) verwerkt dit verzoek en stuurt de gewenste pagina terug naar de browser.

Het is duidelijk dat alle acties voor het weergeven van pagina's ondubbelzinnig kunnen worden onderverdeeld in twee categorieën: die aan de clientzijde ( klantcode of voorkant) en uitgevoerd aan de serverzijde ( servercode of back-end). Bovendien weet de server niets over huidige toestand client en de client over de huidige status van de server. Bij het ontwikkelen van uitwisselingsalgoritmen moet u hier altijd rekening mee houden en de benodigde gegevens tijdig doorgeven, met een beschrijving van de status of de vereiste actie.

Afhankelijk van de plaats van toepassing verschillen ook de wijze van uitvoering van de onderdelen. Aan de clientzijde worden doorgaans alleen HTML, JavaScript (AJAX), CSS en Flash gebruikt. Back-end ontwikkelaars zijn minder beperkt in termen van fondsen, omdat: de meeste van bestaande talen stelt u in staat om HTML-pagina's te maken of te beschrijven. De meest gebruikte nu zijn Java, Perl, PHP, Python, Ruby, C# en VB.NET. Elk van hen heeft zijn eigen sterke en zwakke punten, dus de ontwikkelaar moet een keuze maken op basis van de taken waarmee hij wordt geconfronteerd.

Waarom PHP?

Bestaat een groot aantal van talen die kunnen worden gebruikt bij het maken van websites. Sommige talen bestaan ​​al heel lang en worden met succes (of niet meer) gebruikt. Sommige talen zijn nog erg jong en wijd verspreid nog niet hebben ontvangen. Laatst PHP-tijd werd de leider in populariteit, om verschillende redenen:

  1. Eenvoud. De taal is heel gemakkelijk te begrijpen, vooral voor beginnende programmeurs.
  2. Ontwikkeling snelheid. Vanwege de eenvoud en intuïtiefheid, stelt PHP je in staat om heel snel vrij complexe sites te maken.
  3. Beschikbaarheid van bibliotheken Er is een enorm bedrag kant-en-klare voorbeelden en klassenbibliotheken. Er zijn honderden bibliotheken gemaakt en getest, waardoor het leven van een ontwikkelaar aanzienlijk is vereenvoudigd.
  4. Steun Bijna elke server op internet ondersteunt PHP
  5. Beveiliging Met PHP kun je echt veilige sites maken met ingebouwde ondersteuning voor gegevensversleuteling in rust en onderweg.

Echter, voor hun voordelen van PHP betaalt met bepaalde limieten. Gebruik bijvoorbeeld PHP om toegang te krijgen tot systeemfuncties erg onhandig vergeleken met Perl of Python (daarom zijn veel systeembeheerders zo dol op Perl) Er zijn nog een paar beperkingen waar we het in de relevante secties over zullen hebben.

Ik presenteer onder uw aandacht een gratis vertaling van het artikel 30+ PHP Best Practices voor beginners

PHP is de meest gebruikte programmeertaal voor het web. Hier zijn dertig beste advies voor beginners, wat zal helpen om de basis goed onder de knie te krijgen.

1. Sluit vriendschap met de PHP-handleiding

Als je een PHP-beginner bent, is het tijd om de geweldige PHP-tutorial te bekijken. De PHP-handleiding is ongelooflijk compleet en heeft echt nuttige opmerkingen over elk artikel. Voordat u vragen stelt of het probleem zelf probeert op te lossen, gaat u direct naar de handleiding. Grote kans dat het antwoord op je vraag al in artikelen op de PHP.net site staat.

2. Schakel foutoutput in

6. Gebruik inspringing en spaties voor de leesbaarheid

Als je geen streepjes en spaties in de code gebruikt, lijkt het resultaat op de kunst van Jackson Pollack (een Amerikaanse kunstenaar, ideoloog en leider van het abstract expressionisme, die een grote invloed had op de kunst van de tweede helft van de 20e eeuw) . Zorg ervoor dat uw code leesbaar is en dat u gemakkelijk het juiste stuk code erin kunt vinden, omdat u deze in de toekomst waarschijnlijk moet verfijnen. IDE en geavanceerd tekstverwerkers kan automatisch opvulling toevoegen.

7. Verhoog je code

Het betekent niets meer dan scheiding verschillende componenten code in afzonderlijke delen. Dit maakt het gemakkelijk om de code in de toekomst te wijzigen.

8. Gebruik altijd

Vaak proberen programmeurs de stenovorm te gebruiken PHP-declaraties scripts. Hier zijn enkele voorbeelden:

<% echo "Hello world"; %>

Hoewel dit de notatie met een paar tekens verkort, blijven al deze methoden voor compatibiliteit en zijn ze niet-officieel. vasthouden aan de standaarddit garandeert ondersteuning in alle toekomstige versies.

9. Gebruik betekenisvolle namen en volg de naamgevingsconventies

Naamgeving is niet alleen in uw voordeel. Er is niets erger dan iets proberen te vinden in betekenisloze variabelenamen. Help uzelf en anderen door betekenisvolle namen te gebruiken voor uw klassen en functies.

10. Opmerkingen, opmerkingen, opmerkingen

Naast het gebruik van inspringing en codescheiding, kunt u ook opmerkingen gebruiken om uw code te beschrijven. Je zult jezelf later dankbaar zijn als je terug moet om iets in de code op te zoeken, of als je niet meer weet wat een bepaalde functie doet. Het zal ook nuttig zijn voor iedereen die uw code zal bekijken.

11. Installeer MAMP/WAMP

MySQL is het meest populaire server databases die worden gebruikt met PHP (zo niet de enige). Als u een lokale ontwikkelomgeving wilt opzetten om uw PHP-toepassing, kijk eens naar MAMP (Mac) of WAMP (Windows). MySQL installeren naar uw computer kan een behoorlijk vervelend proces zijn, en beide pakketten bevatten al MySQL. Schoon en eenvoudig.

12. Beperk je scripts

Het is een goede gewoonte om een ​​tijdslimiet in te stellen voor uw PHP-scripts. Er zijn momenten waarop een script crasht, en als dat gebeurt, wilt u misschien een tijdslimiet voor de uitvoering van het script gebruiken om fouten te voorkomen die verband houden met eindeloze lussen en time-out van de databaseverbinding. set_time_limit stelt u in staat om een ​​limiet in te stellen voor de uitvoeringstijd van het script in seconden (standaard is deze waarde 30). Nadat deze tijd is overschreden, wordt een fatale fout gegenereerd.

13. Gebruik objecten (of OOP)

14. Maak onderscheid tussen dubbele en enkele aanhalingstekens

Het is het meest efficiënt om enkele aanhalingstekens in tekenreeksen te gebruiken, waarbij u geen "escaped"-tekens en andere dingen die tussen dubbele aanhalingstekens kunnen staan, hoeft te ontleden. Gebruik waar mogelijk enkele aanhalingstekens

Let op: dit is niet echt waar. Tests tonen aan dat als een string geen variabelen bevat, dan dubbele aanhalingstekens prestatiewinst geven.

15. Zet phpinfo() niet in de hoofdmap van uw server

(geeft informatie weer over de PHP-interpreter) dit is iets geweldigs. Maak een eenvoudige PHP-bestand met deze inhoud

en ergens op de server plaatst, kunt u uitgebreide informatie over uw server zien. Veel beginners plaatsen het bestand met phpinfo() echter in hoofdmap web Server. Dit is echt niet veilig, het zien van informatie over de server kan hem mogelijk schaden. Zorg ervoor dat phpinfo() op een veilige plaats staat, of beter nog, verwijder het.

16. Vertrouw nooit gebruikers

Als uw toepassing velden heeft voor gebruikersinvoer, moet u ervan uitgaan dat de gebruiker gevaarlijke code zal proberen in te voeren. (Dit betekent niet dat alle gebruikers kwaadaardig zijn. Het is gewoon beter om dat te denken.) Om hackpogingen te voorkomen, moet u altijd proberen uw variabelen te initialiseren met de volgende regels.

17. Houd wachtwoorden versleuteld

Veel php beginners programmeurs slaan belangrijke gegevens op in de database, zoals wachtwoorden, open formulier. Laten we eens kijken hoe we MD5 kunnen gebruiken om wachtwoorden te coderen voordat ze naar de database worden geschreven.

echo md5("mijnWachtwoord"); // afdrukken -

Opmerking: houd er rekening mee dat MD5-hashes al zijn gekraakt. Ze voegen beveiliging toe, maar een aanvaller kan de hash ontsleutelen met regenboogtabellen. Voeg voor extra veiligheid "zout" (zout) toe. "Zout" voegt toe extra tekens naar een aangepaste string.

18. Gebruik hulpmiddelen voor databasevisualisatie

Als je problemen hebt met het uitvoeren en wijzigen van gegevens in PHP terwijl je met een database werkt, probeer dan visuele hulpmiddelen te gebruiken. MySQL-gebruikers kunnen DBDesigner en MySQL Workbench gebruiken om gegevens in de database weer te geven.

19. Gebruik gebufferde uitvoer

Gebufferde uitvoer is een gemakkelijke manier om de prestaties van uw PHP-scripts te verbeteren. Zonder gebufferde uitvoer, renderen uw scripts HTML in brokken. Door gebufferde uitvoer toe te voegen, slaat PHP de HTML-code op als een variabele en voert deze in één stuk uit naar de browser.

Om uitvoerbuffering in te schakelen, voegt u eenvoudig ob_start() toe aan het begin van het bestand.

Opmerking: het wordt als een goede gewoonte beschouwd om de functie ob_end_flush() toe te voegen; naar het einde van het document. PS Wilt u HTML comprimeren? Vervang gewoon ob_start(); op ob_start("ob_gzhandler");

Achter Extra informatie verwijs hier

ongetiteld

20. Bescherm scripts tegen SQL-injecties

Als u geen teken-escaping gebruikt in termen van SQL-query's, is uw toepassing vatbaar voor SQL-injectie. U kunt dit voorkomen door mysql_real_escape_string of voorbereide (voorgecompileerde) query's te gebruiken.

Mysql_real_escape_string voorbeeld:

$gebruikersnaam = mysql_real_escape_string($GET["gebruikersnaam"]);

en de voorbereide regel:

$id = $_GET["id"]; $statement = $connection->prepare("SELECT * FROM tbl_members WHERE id = ?"); $statement->bind_param("i", $id); $statement->execute();

Door voorbereide constructies te gebruiken, voorkomen we dat gebruikersgegevens rechtstreeks in de query worden geschreven. In plaats daarvan gebruiken we de methode "bind_param" om waarden te binden aan variabelen in de query. Veiliger, sneller, vooral bij het uitvoeren van meerdere CRUD-statements (create read bijwerken-verwijderen- "Maak lezen update verwijderen" - ongeveer) per keer.

21. Gebruik een ORM

Als u objectgeoriënteerde code in PHP schrijft, kunt u object-relationele mapping (ORM) gebruiken. Met ORM kunt u gegevens converteren tussen: relationele basis data en een objectgeoriënteerde programmeertaal. Kortom: met ORM kun je op dezelfde manier met de database werken als met klassen en objecten in PHP.

Een van de vele ORM-bibliotheken voor PHP Propel, en ORM is ook aanwezig in PHP-frameworks zoals CakePHP.

22. Cachepagina's die de database gebruiken

Het cachen van pagina's die de database gebruiken, vermindert de belasting en verbetert de prestaties van het script. Hiermee kunt u statische bestanden maken en gebruiken met behulp van de functie ob_start(). Voorbeeld van Snipe.net:

// script start $cachefile = "cache/".basename($_SERVER["SCRIPT_URI"]); $cachetijd = 120 * 60; // 2 uur // gebruik cache als waarde kleiner is dan $cachetime if (file_exists($cachefile) && (time() - $cachetime< filemtime($cachefile))) { include($cachefile); echo ""; exit; ) ob_start(); // start gebufferde uitvoer // uw script en HTML zouden hier moeten zijn // einde van script $fp = fopen($cachefile, "w"); // open cachebestand voor schrijven fwrite( $ fp, ob_get_contents()); // sla gebufferde uitvoerinhoud op in bestand fclose($fp); // sluit bestand ob_end_flush(); // stuur gegevens naar browser

Dit stukje code gebruikt de gecachte versie van de pagina, tenzij de pagina "ouder" is dan 2 uur.

23. Caching-systemen gebruiken

Als je meer wilt gebruiken betrouwbaar systeem caching dan het bovenstaande script, gebruik dan de volgende PHP-scripts.

  • Netbeans heeft een PHP-profileringsmogelijkheid.

    27. Codeernormen

    Nadat u vertrouwd bent geraakt met PHP, kunt u doorgaan met het leren van codeerstandaarden. Er zijn verschillen tussen standaarden (Zend, Peer), kies je eigen standaarden en houd je er altijd aan.

    28. Houd functies uit lussen

    Je vernietigt de prestaties als je functies in een lus plaatst. Hoe langer de cyclus, hoe meer tijd vervulling die je krijgt. Als u de uitvoeringstijd wilt verkorten, haalt u functies uit lussen.

    Opmerking: probeer met deze logica zoveel mogelijk bewerkingen uit de lus te halen. Overweeg of u echt een variabele moet maken elke keer dat u door de lus loopt. Moet ik de functie elke keer aanroepen? Natuurlijk niet:)

    29. Kweek geen variabelen

    Sommige mensen kopiëren, voor de duidelijkheid van de code, de waarden van vooraf gedefinieerde variabelen naar variabelen met korte namen. Dit leidt tot redundantie en verdubbelt mogelijk de geheugenvoetafdruk van uw script. Hier zijn voorbeelden van slechte goed gebruik variabelen:

    $description = strip_tags($_POST["description"]); echo $beschrijving;

    echo strip_tags($_POST["beschrijving"]);

    Opmerking: Spreken van een verdubbeling van het geheugengebruik is eigenlijk een misvatting. PHP implementeert geheugenbeheer op basis van een copy-on-write-benadering. Dit betekent dat u dezelfde waarde aan meerdere variabelen kunt toewijzen en u zich geen zorgen hoeft te maken dat de gegevens in het geheugen worden gedupliceerd. Men kan stellen dat een "goed" voorbeeld goed voorbeeld goede code, maar het is zeker niet sneller.

    30. Update naar de nieuwste PHP-versie

    Hoewel dit redelijk lijkt, upgraden veel mensen PHP niet wanneer dat zou moeten. PHP 5 is beter presterend dan PHP 4. Controleer uw server en zorg ervoor dat u de nieuwste versie heeft.

    31. Verminder het aantal zoekopdrachten in de database

    Hoe minder queries naar de database, hoe beter de prestaties van het PHP-script. Hulpprogramma's zoals Stace (Unix) en Process Explorer (Windows) helpen u overtollige processen te vinden en te elimineren.

    32. Wees niet bang om te vragen

    Alleen mensen proberen het feit van hun onwetendheid op een bepaald gebied te verbergen. Niemand wil er dom uitzien! Maar hoe kunnen we leren zonder te vragen? Voel je vrijer door de forums en IRC StackOverflow te gebruiken, vraag het aan de ervaren PHP-ontwikkelaars. De PHP-site heeft een pagina

Welkom terug. Lange tijd heb ik op de een of andere manier niets waardevols geschreven, zelfs niet op de een of andere manier onaangenaam. Dus direct to the point. Laten we, kameraad slimmeriken, woorden als XML, XHTML en andere X ... vergeten en praten over dingen die dicht bij de realiteit liggen.

Er is zo'n "probleem" als de scheiding van ontwerp en inhoud, en de scheiding van de uitvoerbare code van de resulterende html. Vliegen - daar, koteletten - hier. Grof gezegd, een programmeur programmeert, een ontwerper ontwerpt en niemand bemoeit zich met iemands leven. En als u iets in het ontwerp moet veranderen, dan kan één ontwerper, dat wil zeggen de ontwerper, het alleen doen.

PHP is goed (goed, hond!) omdat je hiermee uitvoerbare constructies rechtstreeks in html kunt insluiten. De voordelen zijn duidelijk. Nadelen, bijvoorbeeld: het is vrij moeilijk om het ontwerp in deze code te veranderen: echo " ".$vetgedrukte tekst.""; Een domme ontwerper zal bang worden en weglopen, en een slimme programmeur zal zeggen: "Ik ben geen domme ontwerper om met onzin om te gaan."

Wat wil je idealiter? Zodat er een html-pagina is waar alles is zoals mensen hebben: gezonde, volwaardige html-tags, en op die plaatsen waar informatie wordt weergegeven, waren er speciale, eenvoudige, begrijpelijke aanwijzingen voor zowel de lay-outontwerper als de engine / programmeur.

Dat wil zeggen, zoiets als dit:



Waar het staat, toont de engine de titel, waar respectievelijk de tekst.

Eenvoudig en gemakkelijk. En iedereen is blij. En het klopt. Maar! Hier begint de waanzin. Eerst wordt de "sjabloon-engine" geschreven, iets (ik overdrijf) als volgt:

$page = str_replace("", $title, $page); $page = str_replace("", $text, $page);

Verder. Het blijkt dat dit in sommige gevallen niet voldoende is. Vereist meer eigenschappen! We moeten bijvoorbeeld controleren: als het leeg is, geef dan het ene ding weer, als het niet leeg is, geef dan het andere weer, dat wil zeggen, voer in feite de minimale weergavelogica in. En we schrijven een super-duper opzettelijke sjabloontaal. Op PHP. En we noemen het SMARTASS (Super Mega And Revolutionary Totally Automatized Shablon System).

Zo opgestapeld dat de ontwerper, voor wiens belang alles is begonnen, zodat hij het ontwerp zelf zou kunnen veranderen, het ontwerp niet meer kan veranderen totdat hij specifiek de sjabloontaal leert.

En laten we nu onze hersens schudden en goed nadenken over wat we hebben gedaan. We hebben eigenlijk een programmeertaal geschreven in PHP, die kan worden ingebed in de html-code en daardoor de logica van de (html-code) weergave verandert.

Laten we elkaar feliciteren. We hebben PHP geschreven in PHP. Fiets voor fiets. Het begrijpen hiervan komt later.

Nu terug naar het eerste voorbeeld.



Onthouden? Laten we het vergelijken met het volgende voorbeeld en proberen kardinale verschillen te vinden.

<?=$title?>

Hoe is het fundamenteel anders? Niks. Een domme letterzetter zal het begrijpen als je het hem vertelt "je moet een tekstvariabele invoegen - schrijven» . Dit is echter niets meer dan een afkorting voor het echo-statement. En er is geen sjablooninterpreter nodig.

Dat wil zeggen, de volgende voorbeeld-php-pagina zal alles weergeven zoals het hoort:

<?=$title?>

Is het idee duidelijk? Tijdens de uitvoering van het php-script zetten we de benodigde onderdelen in variabelen. Vervolgens nemen we het html-bestand op, waar in juiste plaatsen aangebracht.

Om te leren werken met dergelijke "sjablonen" heeft een codeur slechts 3-5 minuten nodig om de basis van de PHP-syntaxis te leren kennen. En het is niet nodig om een ​​of andere mooie sjabloontaal te leren die hij nooit meer nodig zal hebben.

Wat is er mis met zo'n paginasjabloon?

<?=strtoupper($title)?> Geen tekst, leeg.Ingevoerde tekst:

Pluspunten - het is beschikbaar. Je hebt geen extra spullen nodig om het eruit te krijgen. Behalve PHP.

Dat is eigenlijk alles.

ps. Beste slimme mensen. Deze methode"Template" dekt echt 95% van de behoeften van gewone stervelingen. Als je iets niet leuk vindt, ga je scheren met het scheermes van Occam.

Goed slecht

    In dit gedeelte van het artikel leggen we uit hoe je de tag kunt gebruiken , evenals de syntaxis ervan beschrijven en praktische voorbeelden geven van het wijzigen van de tekstgrootte in HTML.

Van de auteur: is het nodig om de taal te kennen? PHP-programmering? Als je je lot gaat koppelen aan het bouwen van een website, dan zal dat ook moeten. Ook als je dat echt niet wilt! Waarom is dat? We zullen proberen om alle veelvoorkomende "waaroms" in verband met deze taal in ons materiaal te beantwoorden.

De oplossing die het internet bij elkaar houdt

Dit is hoe een vriend van mij, die al meer dan tien jaar internetbronnen maakt, PHP beschreef. En hij heeft gelijk, waarschijnlijk 200% procent (en misschien meer).

De geschiedenis van de opkomst van deze taal suggereert dat deze werd geboren om de huidige versie van het web, waaraan we zo gewend zijn, te 'verblinden'. Dit is waarschijnlijk de reden waarom sommige mensen de kracht ervan nooit beseffen, zelfs niet nadat ze de basisprincipes van PHP-programmering hebben geleerd.

Het bewijzen van de rol van PHP bij het creëren van internet is een ondankbare zaak. Hier kunnen, zoals ze zeggen, aanhangers van anderen beginnen te spreken servertalen. Zo heeft de "hypertext preprocessor" (zoals de afkorting PHP staat voor) zijn nut al overleefd. Veel van zijn functies zijn zelfs geïmplementeerd in ...

Nou, schreeuwen en met je armen zwaaien om je programmeertaal waarin je gespecialiseerd bent te prijzen, is geen gemakkelijke taak. Maar het beste "bewijs" dat de vraag naar PHP aangeeft, is de prevalentie ervan.

Volgende beoordeling programmeertalen, afgelopen zomer samengesteld door TIOBE-experts, vertelt ons dat PHP al enkele jaren consequent in de top staat. Ben je nog niet op zoek geweest naar een tutorial over de programmeertaal PHP? Snel rennen.

Als je geïnteresseerd bent in waarom Java zo sprong, dan zal ik antwoorden: dankzij het mobiele Android-besturingssysteem, waarvoor applicaties in deze taal zijn ontwikkeld.

Eigen hark

In het begin van de jaren 2000 was ik bezig met 'onderzoek' op het gebied van programmeren. Iedereen probeerde erachter te komen bij welke 'partij' van ontwikkelaars zich moest aansluiten, de studie van welke discipline hij zijn leven moest wijden.

Als PHP-programmeertaal voor beginners heb ik er in principe geen rekening mee gehouden. Hij leek te verward. Hier is nog iets van ASP.NET: een commerciële taal gebaseerd op C#. O, wat heb ik toen luchtkastelen gebouwd! En hiervoor waren alle voorwaarden:

De technologie is ontwikkeld door zo'n 'reus van het denken' als Microsoft.

Beschikbaarheid van gespecialiseerde software - een krachtige editor visuele studio.

Uitgebreide en goed beschreven documentatie.

Hoop op een "gezondere" toekomst.

ASP.NET was, in tegenstelling tot PHP, veel gemakkelijker voor mij. Visual Studio heeft veel server-side scripting geautomatiseerd. Dankzij bijvoorbeeld de uitstekende visuele editor het duurde slechts een paar minuten om een ​​webpagina te maken. Door besturingselementen te slepen en neer te zetten en ze in de editor te stylen, zou u in minder dan een uur een website kunnen maken!

Maar de programmeertaal PHP from scratch werd me niet meteen gegeven. Eerlijk gezegd probeerde ik vrienden met hem te maken (ik moest op de een of andere manier slagen voor het examen). Maar toen ik de basis ervan bestudeerde, leek het me ongevoelig en zelfs koud.

Over het algemeen nam ik ASP.NET op. Mijn eerste site gemaakt. Nou, alles lijkt te werken in de ontwikkelomgeving. Cross-browser compatibiliteit gecontroleerd in verschillende populaire browsers. Ik denk dat het tijd is om te "vechten". Om zo te zeggen, om zijn "geesteskind" aan het hele land te laten zien (tenminste). Dit is waar de "hark" bleek te zijn.

Mijn pogingen om hosting te vinden met ASP.NET-ondersteuning in Runet waren niet succesvol. Er waren natuurlijk verschillende betaalde sites, maar de prijzen voor het hosten van een site daarop waren duidelijk geen "student".

Op de een of andere manier heb ik opgegraven in "Burzhunet" gratis optie hosting (gesponsord door Microsoft trouwens). Nou, hij "klapte", genoot van de breedte van zijn gedachten, maar verder ging het niet. En dat allemaal vanwege het feit dat de meeste sites al in PHP waren gemaakt.

Nadat je hebt besloten en precies hebt begrepen wat je wilt gaan studeren PHP-taal programmeren, zoek dan een tutorial voor beginners "voor jezelf". Het belangrijkste is dat je begrijpt wat de auteur van de publicatie aan zijn lezers wil overbrengen. Maak je onmiddellijk klaar om een ​​​​goed bedrag voor literatuur van hoge kwaliteit te "verdelen".

Maar het is beter om te gebruiken Een complexe aanpak- voeg ook verstandig toe. Hierdoor kunt u uw vaardigheden onmiddellijk aanscherpen praktische voorbeelden. En mijn advies aan jou is om minder code te kopiëren en plakken! Waarom, dat zal ik nu uitleggen.

Wanneer u zelf scriptvoorbeelden typt, raakt u snel gewend aan en onthoudt u de functies van de PHP-syntaxis. Wat betreft de literatuur, kies een tutorial met de basis van programmeren in PHP. En het is wenselijk dat de auteur de code van alle voorbeelden op zijn bron op het web plaatst.

Download en installeer ook direct voordat u met de training begint open server. Deze software pakket bevat alle omgevingen die je nodig hebt om code te schrijven en te testen.

Nou, laat ik afdwalen voor vandaag. Vergeef (als er al iets is) voor de overmatige zichtbaarheid van de inhoud van het artikel, maar dit is nodig om de kenmerken van deze taal te begrijpen (per slot van rekening een servertaal). Ik wens dat je snel de basis van de PHP-programmeertaal begrijpt en echt begint met coderen!