PHP (skriptovací jazyk): Rozdiel medzi revíziami
Smazaný obsah Přidaný obsah
d →References: Kde sme? |
→Ukážka kódu: Prepísané niektoré príklady, aktualizácia, rozšírenie, formulácia. |
||
Riadok 75:
Ak vývojár vytvorí kópiu objektu pomocou rezervovaného slova clone, Zend engine skontroluje, či bola definovaná metóda __clone() alebo nie. Ak nie je tak sa zavolá predvolená metóda __clone(), ktorá skopíruje vlastnosti objektu. Ak je metóda __clone() definovaná, tak ona bude zodpovedná za nastavenie potrebných vlastností vo vytvorenom objekte. Pre pohodlie, jadro zaobstaráva funkciu, ktorá importuje vlastnosti zdrojového objektu, takže programátor môže začať s úplnou kópiou zdrojového objektu a iba nahradí vlastnosti, ktoré potrebuje zmeniť.<ref>{{cite web|accessdate=2008-03-16|url=http://www.php.net/language.oop5.cloning|title=Object cloning |publisher=The PHP Group}}</ref>
==
Prvý príklad zobrazí text
<source lang="php">
?>▼
</source>
<source lang="php">
// pole strán
$strany = [ "a" => 3, "b" => 4, "c" => NULL ]
// 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>
<h2>Výpis HTML zdroja</h2>
<?php
?>
<h2>Výpis HTML zdroja bez escapovania úvodzoviek znakom \</h2>
<?php
?>
</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 <strong><?php echo Date("Y"); ?></strong>.</p>
▲ <?php echo "<p align=\"center\">Príklad 3. bol pridaný v roku 2006.</p>"; ?>
▲ <?php echo '<p align="center">Príklad 3. bol pridaný v roku 2006.</p>'; ?>
</source>
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'':
▲Štvrtý príklad ukazuje kombináciu PHP s MySQL:
<source lang="PHP">
<?php
// získanie inštancie triedy mysqli
▲<source lang="php">
$socket = new mysqli('localhost', 'login', 'heslo', 'meno databázy');
▲ Tento príklad ukazuje výber z MySQL databázy pomocou príkazu SELECT a následný výpis pomocou echo.
▲ <?php $vyber = mysql_query("SELECT text FROM test WHERE id = '5'");
// overenie úspešnosti pripojenia
▲ echo $vyber; ?>
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>
|