PHP, ili Hypertext Preprocessor, je široko korišćen skriptni jezik otvorenog koda, posebno pogodan za veb razvoj i može se ugraditi u HTML. Dovoljno je moćan da bude osnova najvećeg sistema za blogovanje na internetu (WordPress), a dovoljno jednostavan da bude prvi serverski jezik za početnike. Ovaj sveobuhvatni vodič će istražiti šta je PHP, njegov značaj i osnove PHP-a kako bi vam pomogao da započnete sa veb razvojem.
Sadržaj
- Uvod u PHP
- Značaj PHP-a
- Osnovna Struktura PHP Skripte
- PHP Sintaksa
- PHP Varijable
- PHP Tipovi Podataka
- PHP Operatori
- PHP Kontrolne Strukture
- PHP Funkcije
- PHP Nizovi
- PHP i HTML
- PHP Obrada Formi
- PHP i Baze Podataka
- PHP Bezbednosne Najbolje Prakse
- Napredne PHP Tehnike
- Često Postavljana Pitanja (FAQ)
1. Uvod u PHP
Šta je PHP?
PHP znači Hypertext Preprocessor. To je serverski skriptni jezik dizajniran specifično za veb razvoj. PHP kod može biti ugrađen u HTML, što olakšava dodavanje dinamičkog sadržaja veb stranicama.
Istorija PHP-a
PHP je stvorio Rasmus Lerdorf 1994. godine. U početku, to je bio skup Common Gateway Interface (CGI) binarnih datoteka napisanih u C jeziku. Od tada se razvijao u punopravni skriptni jezik, sa PHP grupom koja sada nadgleda njegov razvoj.
Za više detaljnih informacija o PHP-u, posetite aleksandardjekic.rs.
2. Značaj PHP-a
Serverski Skript
PHP se prvenstveno koristi za serversko skriptovanje, omogućavajući developerima da kreiraju dinamične veb stranice koje interaguju sa bazama podataka i korisnicima u realnom vremenu.
Otvoreni Kod
PHP je otvorenog koda, što znači da je besplatan za korišćenje i ima veliku zajednicu developera koji doprinose njegovom razvoju i podršci.
Kompatibilnost
PHP je kompatibilan sa raznim operativnim sistemima, uključujući Windows, Linux i macOS. Takođe podržava mnoge veb servere, uključujući Apache i Nginx.
Integracija
PHP se besprekorno integriše sa mnogim bazama podataka, kao što su MySQL, PostgreSQL i SQLite, što ga čini moćnim alatom za razvoj aplikacija koje se baziraju na bazama podataka.
Za više uvida u značaj PHP-a, posetite aleksandardjekic.rs.
3. Osnovna Struktura PHP Skripte
PHP skripta je skup instrukcija koje se izvršavaju na serveru. PHP skripte su zatvorene unutar PHP oznaka:
phpCopy code<?php
// PHP kod ide ovde
?>
Primer PHP Skripte
phpCopy code<?php
echo "Hello, World!";
?>
U ovom primeru, echo
naredba ispisuje tekst „Hello, World!“ na veb stranici.
Za više detaljnih uputstava o osnovnoj strukturi PHP skripte, posetite aleksandardjekic.rs.
4. PHP Sintaksa
PHP Oznake
PHP kod je zatvoren unutar PHP oznaka:
phpCopy code<?php
// PHP kod
?>
Echo Naredba
Naredba echo
se koristi za ispis teksta:
phpCopy code<?php
echo "Ovo je PHP!";
?>
Komentari
Komentari se koriste za dodavanje objašnjenja u kod. PHP podržava jednostruke (//
ili #
) i višelinijske (/* */
) komentare.
phpCopy code<?php
// Ovo je jednostruki komentar
# Ovo je takođe jednostruki komentar
/*
Ovo je višelinijski komentar
*/
?>
Za više detaljnih objašnjenja o PHP sintaksi, posetite aleksandardjekic.rs.
5. PHP Varijable
Deklarisanje Varijabli
U PHP-u, varijable se deklariraju korišćenjem $
znaka, nakon kojeg sledi ime varijable:
phpCopy code<?php
$imeVarijable = "Vrednost";
?>
Tipovi Varijabli
PHP podržava razne tipove podataka, uključujući stringove, cele brojeve, brojeve sa pokretnim zarezom i booleane.
phpCopy code<?php
$string = "Hello, World!";
$integer = 42;
$float = 3.14;
$boolean = true;
?>
Za više detaljnih informacija o PHP varijablama, posetite aleksandardjekic.rs.
6. PHP Tipovi Podataka
String
String je sekvenca karaktera:
phpCopy code<?php
$string = "Ovo je string.";
?>
Celi Broj
Celi broj je broj bez decimala:
phpCopy code<?php
$integer = 100;
?>
Broj sa Pokretnim Zarezom
Broj sa pokretnim zarezom je broj sa decimalom:
phpCopy code<?php
$float = 10.5;
?>
Boolean
Boolean predstavlja dve moguće vrednosti: true ili false:
phpCopy code<?php
$boolean = true;
?>
Za više detaljnih objašnjenja o PHP tipovima podataka, posetite aleksandardjekic.rs.
7. PHP Operatori
Aritmetički Operatori
PHP podržava standardne aritmetičke operatore:
phpCopy code<?php
$sum = 1 + 2;
$difference = 5 - 3;
$product = 4 * 2;
$quotient = 10 / 2;
$remainder = 7 % 2;
?>
Operatori Poređenja
Operatori poređenja se koriste za poređenje dve vrednosti:
phpCopy code<?php
$equal = ($a == $b);
$notEqual = ($a != $b);
$greaterThan = ($a > $b);
$lessThan = ($a < $b);
?>
Logički Operatori
Logički operatori se koriste za kombinovanje uslovnih izraza:
phpCopy code<?php
$and = ($a && $b);
$or = ($a || $b);
$not = !$a;
?>
Za više detaljnih objašnjenja o PHP operatorima, posetite aleksandardjekic.rs.
8. PHP Kontrolne Strukture
If Naredba
Naredba if
se koristi za izvršavanje koda ako je uslov tačan:
phpCopy code<?php
if ($a > $b) {
echo "a je veće od b";
}
?>
If…Else Naredba
Naredba if...else
izvršava jedan blok koda ako je uslov tačan, a drugi blok ako nije:
phpCopy code<?php
if ($a > $b) {
echo "a je veće od b";
} else {
echo "a nije veće od b";
}
?>
Switch Naredba
Naredba switch
se koristi za izvršavanje različitih radnji na osnovu različitih uslova:
phpCopy code<?php
switch ($color) {
case "red":
echo "Boja je crvena";
break;
case "blue":
echo "Boja je plava";
break;
default:
echo "Boja nije ni crvena ni plava";
}
?>
Za više detaljnih uputstava o PHP kontrolnim strukturama, posetite aleksandardjekic.rs.
9. PHP Funkcije
Definisanje Funkcije
Funkcije su blokovi koda koji se mogu ponovo koristiti. Funkcije se definišu korišćenjem ključne reči function
:
phpCopy code<?php
function pozdrav() {
echo "Hello, World!";
}
?>
Pozivanje Funkcije
Funkcije se pozivaju njihovim imenom, praćenim zagradama:
phpCopy code<?php
pozdrav();
?>
Parametri Funkcije
Funkcije mogu primati parametre:
phpCopy code<?php
function pozdrav($ime) {
echo "Hello, $ime!";
}
pozdrav("Alice");
?>
Za više detaljnih uputstava o PHP funkcijama, posetite aleksandardjekic.rs.
10. PHP Nizovi
Indeksirani Nizovi
Indeksirani nizovi koriste numeričke indekse:
phpCopy code<?php
$fruits = array("Apple", "Banana", "Cherry");
echo $fruits[0]; // Ispisuje: Apple
?>
Asocijativni Nizovi
Asocijativni nizovi koriste imenovane ključeve:
phpCopy code<?php
$ages = array("Alice" => 25, "Bob" => 30, "Charlie" => 35);
echo $ages["Alice"]; // Ispisuje: 25
?>
Multidimenzionalni Nizovi
Multidimenzionalni nizovi sadrže jedan ili više nizova:
phpCopy code<?php
$matrix = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9)
);
echo $matrix[0][1]; // Ispisuje: 2
?>
Za više detaljnih objašnjenja o PHP nizovima, posetite aleksandardjekic.rs.
11. PHP i HTML
Ugradnja PHP-a u HTML
PHP se može direktno ugraditi u HTML:
htmlCopy code<!DOCTYPE html>
<html>
<head>
<title>PHP u HTML-u</title>
</head>
<body>
<h1><?php echo "Hello, World!"; ?></h1>
</body>
</html>
Generisanje HTML-a sa PHP-om
PHP može dinamički generisati HTML:
phpCopy code<?php
echo "<ul>";
for ($i = 1; $i <= 5; $i++) {
echo "<li>Stavka $i</li>";
}
echo "</ul>";
?>
Za više detaljnih uputstava o korišćenju PHP-a sa HTML-om, posetite aleksandardjekic.rs.
12. PHP Obrada Formi
Obrada Podataka Forme
PHP može obrađivati podatke poslati kroz forme koristeći $_GET
ili $_POST
superglobalne promenljive:
phpCopy code<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Ime: <input type="text" name="name">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
echo "Hello, $name!";
}
?>
Validacija Podataka Forme
Važno je validirati podatke iz forme kako bi se osiguralo da su tačni i bezbedni:
phpCopy code<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_POST['name']);
if (!empty($name)) {
echo "Hello, $name!";
} else {
echo "Ime je obavezno.";
}
}
?>
Za više detaljnih uputstava o PHP obradi formi, posetite aleksandardjekic.rs.
13. PHP i Baze Podataka
Povezivanje sa Bazom Podataka
PHP može da se poveže sa bazama podataka koristeći ekstenzije kao što su MySQLi ili PDO:
phpCopy code<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Izvođenje Operacija nad Bazom Podataka
PHP može izvoditi CRUD (Create, Read, Update, Delete) operacije nad bazama podataka:
phpCopy code<?php
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
Za više detaljnih uputstava o korišćenju PHP-a sa bazama podataka, posetite aleksandardjekic.rs.
14. PHP Bezbednosne Najbolje Prakse
Sanitizacija Korisničkog Unosa
Uvek sanitizujte korisnički unos kako biste sprečili SQL injekcije i druge napade:
phpCopy code<?php
$name = htmlspecialchars($_POST['name']);
?>
Korišćenje Pripremljenih Izjava
Koristite pripremljene izjave za upite prema bazama podataka kako biste poboljšali bezbednost:
phpCopy code<?php
$stmt = $conn->prepare("SELECT id, name FROM users WHERE name = ?");
$stmt->bind_param("s", $name);
$stmt->execute();
$result = $stmt->get_result();
?>
Zaštita Osetljivih Podataka
Osigurajte da su osetljivi podaci, kao što su lozinke, sigurno čuvani i obrađivani:
phpCopy code<?php
$password = password_hash("user_password", PASSWORD_DEFAULT);
?>
Za više detaljnih uputstava o PHP bezbednosnim najboljim praksama, posetite aleksandardjekic.rs.
15. Napredne PHP Tehnike
Objektno-Orijentisani PHP
PHP podržava objektno-orijentisano programiranje (OOP):
phpCopy code<?php
class User {
public $name;
function setName($name) {
$this->name = $name;
}
function getName() {
return $this->name;
}
}
$user = new User();
$user->setName("Alice");
echo $user->getName();
?>
Korišćenje PHP Biblioteka
PHP ima bogat ekosistem biblioteka i framework-ova, kao što je Composer za upravljanje zavisnostima:
bashCopy codecomposer require monolog/monolog
PHP i RESTful API-ji
PHP može biti korišćen za izgradnju i korišćenje RESTful API-ja:
phpCopy code<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.example.com/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
?>
Za više detaljnih uputstava o naprednim PHP tehnikama, posetite aleksandardjekic.rs.
16. Često Postavljana Pitanja (FAQ)
1. Šta je PHP? PHP znači Hypertext Preprocessor. To je serverski skriptni jezik dizajniran za veb razvoj.
2. Kako da deklarišem varijablu u PHP-u? Varijable u PHP-u se deklarišu korišćenjem $
znaka, nakon kojeg sledi ime varijable.
3. Koji su PHP tipovi podataka? PHP podržava razne tipove podataka, uključujući stringove, cele brojeve, brojeve sa pokretnim zarezom i booleane.
4. Kako da kreiram funkciju u PHP-u? Funkcije u PHP-u se kreiraju korišćenjem ključne reči function
, nakon čega sledi ime funkcije i zagrade.
5. Kako da obradim podatke forme u PHP-u? Podaci forme u PHP-u mogu se obraditi korišćenjem $_GET
ili $_POST
superglobalnih promenljivih.
6. Kako da povežem PHP sa bazom podataka? PHP se može povezati sa bazama podataka koristeći ekstenzije kao što su MySQLi ili PDO.
7. Koji su PHP operatori? PHP podržava aritmetičke, operatore poređenja i logičke operatore.
8. Kako da osiguram svoje PHP aplikacije? Osigurajte PHP aplikacije sanitizacijom korisničkog unosa, korišćenjem pripremljenih izjava i zaštitom osetljivih podataka.
9. Šta je objektno-orijentisani PHP? Objektno-orijentisani PHP se odnosi na korišćenje klasa i objekata za strukturisanje koda.
10. Kako da koristim PHP sa RESTful API-jem? PHP može interagovati sa RESTful API-jima korišćenjem cURL-a ili funkcije file_get_contents().