PHP (skriptovací jazyk): Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Kubo2 (diskusia | príspevky)
→‎Ukážka kódu: Prepísané niektoré príklady, aktualizácia, rozšírenie, formulácia.
d rv., 1. rozširovanie ukážok kódu nie je v encyklopédii vhodné, stačí čo najstručnejšie, čisto pre ilustráciu syntaxe, 2. už vôbec nie s chybami
Riadok 32:
== História ==
PHP bolo pôvodne navrhnuté ako niekoľko [[skriptovací jazyk|skriptov]] v jazyku [[Perl]], neskôr prepísaných do jazyka C. Autorom bol [[Rasmus Lerdorf]] v roku [[1994]]. O rok [[1995|neskôr]] svoje skripty zverejnil pod názvom "'''P'''ersonal '''H'''ome '''P'''age Tools". Kombináciou s ďalším jeho programom Form Interpreter vzniklo PHP/FI. [[Zeev Suraski]] a [[Andi Gutmans]], dvaja [[Izrael|izraelskí]] vývojári prepísali [[syntaktický analyzátor]] (parser) v roku [[1997]] na novšiu verziu, ktorá sa stala základom PHP 3. Krátko po zverejnení verzie PHP 3 bola spustená aj oficiálna stránka. V roku [[1999]] sa Suraski a Gutmans opäť pustili do prepísania jadra, už pod názvom [[Zend engine]]. Založili spoločnosť [[Zend Technologies]], ktorá sa odvtedy podieľa na ďalšom vývoji PHP. V máji [[2000]] bolo vydané PHP 4, ktorého jadro tvoril nový Zend Engine 1.0. [[13. júl]]a [[2004]] bola vydaná verzia PHP 5, s jadrom „Zend Engine II“, obsahujúca nové rysy ako napr. vylepšená podpora [[Objektové programovanie|objektovo orientovaného programovania]], PHP Data Objects extension a ďalšie.
 
 
== Použitie ==
Řádek 76 ⟶ 75:
 
== Ukážky kódu ==
Prvý príklad zobrazí text ''"Ahoj svet!'' (všimnite si, že koncová značka <code>?></code> sa môže vynechať)":
 
<source lang="php">
<?php
echo "Ahoj svet!\n";
 
}?>
echo "Ahoj svet!\n";
</source>
 
ĎaľšíDruhý príklad si uloží do poľa dĺžky [[Odvesna|odvesien]] ''a'' a ''b'' vypočíta [[Prepona|preponu]] trojuholníka pomocou [[Pytagorova veta|Pytagorovej vety]] (túto činnosť značne zautomatizuje PHP funkcia <code>[http://php.net/hypot hypot()]</code>):
 
<source lang="php">
<?php
$strana_a = 3; // strana a - premenná
 
$strana_b = 4; // strana b - premenná
// pole strán
$strana_c = hypot($strana_a,$strana_b); // výpočet strany c
$strany = [ "a" => 3, "b" => 4, "c" => NULL ]
echo $strana_c; // výpis dĺžky strany c do tela stránky
 
?>
// použitie funkcie hypot() pre výpočet prepony
$strany["c"] = hypot($strany['a'], $strany['b']);
 
// vypísanie dĺžky prepony na výstup
echo "Dĺžka prepony <i>c</i> je " . $strany['c'];
</source>
 
Tretí príklad ukazuje kombináciu PHP s HTML (inými slovami použitie PHPka ako šablónovací jazyk):
<source lang="php">
<h1>Príklad kombinácie PHP s HTML zdrojom</h1>
 
<h2>Výpis aktuálneho roku</h2>
<p>Práve sa píše rok <b><?=date("Y")?></strong>.
 
<h2>Výpis HTML zdroja</h2>
<?php
echo "<p align=\"center\">Príklad 3. bol pridaný v roku 2006.</p>";
?>
 
<h2>Výpis HTML zdroja bez escapovania úvodzoviek znakom \</h2>
<?php
echo '<p align="center">Príklad 3. bol pridaný v roku 2006.</p>';
?>
</source>
 
Štvrtý príklad ukazuje zastaralý spôsob <del>kombináciu</del>komunikácie PHP s databázovým serverom MySQL.
<small>Tento príklad je ponechaný z historických dôvodov a '''nikdy nefungoval'''.</small>
<source lang="php">
<p>Práve sa píše rok <bstrong><?=datephp echo Date("Y"); ?></strong>.</p>
Tento príklad ukazuje výber z MySQL databázy pomocou príkazu SELECT a následný výpis pomocou echo.
alebo
<?php $vyber = mysql_query("SELECT text FROM test WHERE id = '5'");
<?php echo "<p align=\"center\">Príklad 3. bol pridaný v roku 2006.</p>"; ?>
echo $vyber; ?>
novšie sa používa verzia echo ''; ktorá dovoľuje tagy bez zbytočných \ znakov, napríklad
<?php echo '<p align="center">Príklad 3. bol pridaný v roku 2006.</p>'; ?>
</source>
 
Štvrtý príklad ukazuje zastaralý spôsob <del>kombináciu</del>komunikácie PHP s databázovým serverom MySQL.:
Posledný príklad demonštruje moderný a doporučovaný spôsob komunikácie PHPka a MySQL servera, používajúc PHP rozšírenie '''mysqli''' namiesto zastaralého rozšírenia ''mysql'':
<source lang="PHP">
<?php
 
<source lang="php">
// získanie inštancie triedy mysqli
Tento príklad ukazuje výber z MySQL databázy pomocou príkazu SELECT a následný výpis pomocou echo.
$socket = new mysqli('localhost', 'login', 'heslo', 'meno databázy');
<?php $vyber = mysql_query("SELECT text FROM test WHERE id = '5'");
 
echo $vyber; ?>
// overenie úspešnosti pripojenia
if(!$socket->connect_errno) {
// poslanie dotazu
$výsledok = $socket->query("SELECT `autor`, `datum`, `nazov`, SUBSTRING(`text`, 1, 180) as `uputavka` FROM `articles`");
// overenie úspešnosti dotazu
if($výsledok) {
echo "<h1>Články</h1><dl>";
// prejdenie výsledku cyklom
while(NULL !== ($riadok = $výsledok->fetch_assoc())) {
// každý riadok je v poli $riadok s príslušnými indexami
echo "<dt>" . $riadok["nazov"] . "</dt>";
echo "<dd>" . $riadok["uputavka"] . "\n";
echo sprintf("<small>Pridal %s v čase %s</small></dd>", $riadok['autor'], date("j. n Y", strtotime($riadok["datum"])));
}
echo "</dl>";
} else {
// pri chybe skočíme preč z podmienky
goto error;
}
exit;
}
 
// značka, kam sa má skákať
error:
?>
<h1>Chyba</h1>
<p>Vyskytla sa chyba pri práci s databázou.
</source>