« 1 2
Autor Zpráva
Joker
Profil
Udělal jsem ve společné hlavičce ještě jednu změnu, přidal jsem tam příkaz mb_internal_encoding("UTF-8");.
Bude se později hodit při práci s řetězci.
Kubo2
Profil
Joker:
Dle mně se příliš moc odkazuješ na příští kapitoly ;-)
Jan Tvrdík
Profil
• „nastavení SHORT_OPEN_TAGS“ – PHP direktivy je zvykem psát malými písmeny + doplň odkaz do dokumentace
• „//vypíše pozdrav“ – // vypíše pozdrav
• „zadávejte "webovou" adresu“ – lépe: je potřeba zadat „webovou“ adresu
• „(jinam než do kořene webu) zkontrolujte umístění“ – (jinam než do kořene webu). Zkontrolujte umístění
• Chybí formátování podnadpisů „Ohraničení PHP skriptu“, „Příkazy“ apod.
• „můžeme ho vypsat příkazem echo“ – následující kód není zformátován
• „Zatím ale nám ale“
• ad Společná HTML hlavička – chybí odsazení, vyhodil bych <html> a zjednodušil meta tag pro kódování:
<?php mb_internal_encoding("UTF-8"); ?>
<!doctype html>
<head>
    <meta charset="utf-8">
    <title>Příklad z učebnice PHP</title>
</head>

• ad příklad s funkcí trim – neměla by se vrácená hodnota vypsat?
• „ERROR_REPORTING“ – opět: malá písmena + odkaz do dokumentace
• „Vyzkoušejte si“ – bude potřeba přidat řešení ke stažení
• „Do odstavce vložte text pomocí PHP.“ – imho není jasné, jestli chceš include nebo echo
Kubo2
Profil
Joker:
Nebolo by zlé v tom texte spomenúť, že PHP je jazyk, ktorý ignoruje nové riadky a medzery, a teda nebude vadiť, keď namiesto \n pre zalomenie riadku sa použije napríklad takýto kód:

<?php
echo "<div>
   <p>
         Ahoj světe
   </p>
</div>"; // aj keď je to menej prehľadné, dá sa to použiť
// lepšie ako napríklad 
//Yuhuov kod
?>
Joker
Profil
Zveřejněno.

Udělal jsem několik drobných změn v textu a přidal ukázku (screenshot) phpinfo.
Kubo2
Profil
Joker:
Vyhádž prosím z ukážkových kódov zbytočné koncové PHP značky ?>, iba tam špatia, dnes sa to už v takej miere nepoužíva.
peta
Profil
"Ale opravdu prosím připomínky k článkům psát do vlákna k tomu článku"
Ok, ok, nechtelo se mi zakladat vlakno a ted koukam, ze ani neni treba :)

- Mas tam treba u retezcu \", ale pro html by bylo dobre pridat i pouziti & quote. Pripadne ukazku i pro \'.
Jakoze tam mas tohle
<?php
// Následující dva příkazy dají stejný výsledek
echo "<p class=\"pozdrav\">Ahoj světe!</p>";
echo '<p class="pozdrav">Ahoj světe!</p>';
?>
Ale hodilo by se totez i pro jednoduche apostrofy a tez pro & quote. Protoze se tu dost casto resi problem, jak do apostrofu napsat dalsi zanorene, tak at to tam je vsechno pohromade.
"'" + singleQuotedValue + "'"
'"' + doubleQuotedValue + '"'
'\'' + singleQuotedValue + '\''
"\"" + doubleQuotedValue + "\""
<a onclick="alert(&quot;hi&quot;)">
(to je z jedne stranky o js)
Petr ZZZ
Profil
Reaguji na Kuba2[#6]:
Vyhádž prosím z ukážkových kódov zbytočné koncové PHP značky ?>
Já si myslím, že vynechat koncovou značku ?> pod nadpisem 1. Ohraničení PHP skriptu moc didaktické není. (Netuším, zda tam musí nebo nemusí, může nebo nemůže být, v PHP jsem úplný začátečník.)

Reaguji na Jokera:
Ke druhému příkladu (pod nadpisem 1. Ohraničení PHP skriptu na této stránce), jak to nefunguje...
<?php
// Toto nebude fungovat, uvnitř PHP značek musí být platný PHP kód
<p class="pozdrav">
echo "Ahoj!";
</p>

...bych si přál i příslušnou úpravu, jak to funguje. Zde bych měl začátečnický dotaz — funguje to tedy takto? (A ty uvozovky kolem "pozdrav" — nemusí se escapovat?)
<?php
// Toto už fungovat bude, uvnitř PHP značek je platný PHP kód
echo "<p class="pozdrav">Ahoj!</p>";?>

A druhý dotaz: Nebylo by dobré, když píšeš „uvnitř PHP značek...“, i tu koncovou značku ?> uvést?

Ještě připomínka k názvům kapitol a položkám menu. Zabrousil jsem do Základního kurzu 4: Základy syntaxe a pak jsem hledal Základní kurz 1, 2 a 3 a až proklikáním menu jsem zjistil, že Úvod je Základní kurz 1, že Co je potřeba je Základní kurz 2 a že Nastavení editoru žádný Základní kurz není a je to jen Doporučené nastavení editoru. Možná by stálo za úvahu k položkám menu doplnit čísla kapitol základního kurzu a do nadpisu třetí kapitoly doplnit Základní kurz 3. Nebo vyházet řetězec „Základní kurz“ z nadpisů kapitol, nadepsat „Základní kurz“ jednou nad položky menu a těm doplnit očíslování. Ale prostě to nějak sjednotit.
juriad
Profil
Petr ZZZ:
Pokud je celý soubor zamýšlen jako PHP skript a kromě PHP nemá nic obsahovat (ani mezery, odřádkování), pak je dokonce vhodné ukončovací značku nepsat.
V případě, že bys měl skript, který se přihlásí k databázi, obsahuje koncovou značku a za ní třeba odřádkování, a hlavní skript index.php, který jej includuje, aby vypsal článek z databáze, nemohl by již použít funkci header pro označení nenalezeného/neexistujícího článku (Kód 404). Došlo by k chybě „Headers already sent …“
Oprava: samotné odřádkování nevadí, ale mezera už ano

Uvozovky se musí escapovat:
<?php echo "<p class=\"pozdrav\">Ahoj!</p>";?>
nebo, pokud se použijí apostrofy:
<?php echo '<p class="pozdrav">Ahoj!</p>';?>
jenikkozak
Profil
Petr ZZZ:
A ty uvozovky kolem "pozdrav" — nemusí se escapovat?
Musí. Funkční skript je uveden o pár odstavců níže. Pod vysvětlením escapování.
Joker
Profil
Petr ZZZ:
Úvod je Základní kurz 1, že Co je potřeba je Základní kurz 2 a že Nastavení editoru žádný Základní kurz není a je to jen Doporučené nastavení editoru.
Zas takhle nelogické to není ;)
Doporučené nastavení editoru prostě mělo jiný titulek než ty ostatní, ale je to Základní kurz 3.

Opravil jsem titulek. Čísla v menu zvážím.

Ohledně koncové značky, možná by to vysvětlení mohlo být víc ve prospěch neuvádění koncové značky u samostatných PHP skriptů.
S ohledem na to, že u samostatných skriptů je lepší spíš tu koncovou značku vynechávat a že začátečníci asi budou mít spíš tendenci ji tam psát.
Petr ZZZ
Profil
Juriade, díky za perfektní objasnění problematiky.

jenikkozak:
Funkční skript je uveden o pár odstavců níže.
Jaj, díky, tak to se omlouvám, já nahoře klopýtl a dolů jsem se už nedostal.

Joker:
K těm názvům kapitol jsem se dostal tak, že jsem se zasekl na tom příkladu, jak to nefunguje, a než budu psát dotaz/návrh, chtěl jsem se přesvědčit, že jsem nic nepřehlédl, proto jsem hledal kapitoly 1, 2 a 3 a našel jsem je až proklikáním menu (já se na ně teda stejně chtěl podívat, takže to nevadilo :-). — Možná by bylo dobré doplnit k tomu nefunkčnímu příkladu v kapitole 1. Ohraničení PHP skriptu odkaz na kotvu na funkční variantu o těch pár dostavců níže. Třeba nějak takhle (v kódu stránky řádky 48 a 74):

Ale pozor, uvnitř PHP skriptu HTML samostatně být nemůže (může se vypisovat jen pomocí PHP příkazů — viz <a href="#echo2">příklad</a> níže)!

(...)

<p id="echo2">Jak jsme si řekli, HTML kód samostatně v PHP skriptu být nemůže...

(Možná se budete smát, ale já se na tom zasekl na týden, nechápal jsem, jak je možné skládat HTML-stránku z částí pomocí include, když prý HTML v PHP být nemůže, a úplně mi to vzalo chuť číst dál — že je řešení na stejné stránce, mi musel napsat až teď jenikkozak. :-)
Kubo2
Profil
Ad: Možno by sa hodilo spomenúť, že druhý parameter funkcie [lr]?trim() môže byť aj rozsah znakov (použitím a..z).
juriad
Profil
Kubo2:
Vždyť to tam je:
Přikladem může být funkce trim(). Tato funkce slouží k odstranění nežádoucích znaků na začátku a konci řetězce. Má dva argumenty: První je řetězec se kterým se má pracovat, druhý je řetězec obsahující výčet znaků, které se mají odstranit. Druhý argument má výchozí hodnotu, a sice: Mezera, tabulátor, odřádkování a málokdy používané znaky NUL a vertikální tabulátor.
Funkce ltrim a rtrim nejsou vůbec zmíněné.

Aha, ty myslíš, že existuje „operátor“ dvě tečky, který v druhém argumentu funguje jako rozsah. Nemyslím, že je to k něčemu užitečné. Nepotřebujeme začátečníkům dát do hlavy každou specialitu každé funkce. On ten druhý argument je použitelný jen velice zřídka a ten rozsah ještě méně.
« 1 2

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: