PHP-Script.hu
Kiemelt hirdetés:
2018. január 23. 06:10 kedd, ma Zelma névnap van


grafika


Videóbázis


Kategória: PHP
PHP gyorstalpaló 1.
2012.05.24. 15:35

Ez a PHP gyorstalpaló cikksorozat 1. része. Szeretnék egy átfogó, előre láthatólag 4-5 részből álló cikksorozatot írni, a PHP-ról teljesen kezdők számára. A célom, hogy akik nem foglalkoztak még PHP-vel azok is képesek legyenek weboldalaikba beépíteni az oldalon megtalálható scripteket. Ez tehát egy gyakorlatias sorozat lesz, részletesen, teljesen az alapoktól, viszont html tudást - és esetleg más csekély webes tudást - feltételez.


A PHP történetéről, olvashattok raczger cikkében. Ahogy ő is írta, ha valaki komolyabban szeretne foglalkozni a PHP programozással érdemesebb egy jó könyvet beszerezni a témában, mint például a Tanuljuk meg a PHP-t 24 óra alatt. Ártani viszont nem árt egy ilyen sorozat elolvasása az interneten, ezek után eldönthetjük, hogy szeretnénk-e jobban elmélyedni.

A telepítéséről nem szeretnék írni, mivel arról rengeteg anyagot lehet találni világhálószerte. Az előbb linkelt cikk, jól használható, bár a verziók azóta frissültek, érdemes figyelni, hogy mindenből a legújabbat telepítsük.

A PHP ingyenes, és nyílt forráskódú, webhelye a php.net címen érhető el. Ott teljes referencia található, angol nyelven. Kis angol tudással is jól használható, ha valamilyen függvényt keressünk egy feladatra, de nem tudjuk mi a neve, van-e ilyen, vagy hogy hogyan használjuk pontosan.

A PHP (alap esetben) értelmezett script nyelv.
Vagyis futásidőben történik a fordítása. Tehát mindaddig szövegfájlként tárolódik míg szükség nem lesz a lefutására. (Mikor meghívjuk a böngészőből) Az értelmezett nyelveknél minden futtatáskor meg kell várni a fordítást is. Vagyis elvileg lassabban futnak. Viszont ez egy kis vagy átlagos terhelésű weboldal esetében nem sokat számít. Óriási másodpercenként több ezer oldal letöltés esetén viszont már igen. Ezért mára több fordító is létezik PHP-hoz. Ezek között azonban kevés a teljes értékű megoldás.

Egy jól beállított php-t támogató szerveren, minden .php kiterjesztésű fájl, php kódként lesz értelmezve. Viszont a kód csak bizonyos nyitó és záró címkék között számít egy program részének a közte lévő rész, rögtön a kimenetre kerül. Vagyis

Nyitó záró elemek
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<body>
<p>A php nyitó és záró elemein kívül eső részek rögtön a kimenetre kerülnek,
vagyis közvetlenül az oldal forrását képezik.<p>
<p>A javasolt nyitó záró forma:
<?php $akarmi='valami'; /*megjegyzés*/ ?> </p>
<p>Rövid forma (nem javasolt mert nem mindig működik
<? /*ez a rész a php kód része*/ ?> </p>
<p>Kerülendő formulák. Ritka esetben működnek, szerverbeállítástól függően:
<script language="PHP"> print "ne használd"; </script>
vagy
<% print "ne használd"; %> </p>
</body></html>

Tehát érdemes mindig az elsőként bemutatott lehetőséget ( <?php ... ?> ) használni.

Többféle megközelítéssel írhatjuk meg php kódjainkat. Lehetséges olyan fájl készítése amelyben a nyitó és záró elem a fájl elején és végén van és közte nem szakítjuk meg a kódot. Olyan programot készíthetünk így amely a html elemeket külső forrásból olvassa be. Ezt a megközelítést nagy és/(vagy) profi portálrendszereknél, fórum és blogmotoroknál vagy más tartalomkezelőknél használják. Úgy is kódolhatunk, hogy a .php fájlokat is .html fájlokként fogjuk fel és csak ott illesztünk be szkriptet ahol szükséges. Kezdőként talán ez a legcélravezetőbb.

A PHP kódon belül a print vagy az echo utasítást használhatjuk "szöveg kiírására". Azonban fontos megérteni, hogy amit a php kiír azt utána a szerver elküldi a böngészőnek ami az egész anyagot html-ként értelmezi. Lássunk egy példát!

hello.php
1
2
3
4
5
6
7
8
9
10
<html>
<head><title>Helló világ</title></head>
<body>
<?php
print 'Helló világ!';
 
echo '<br>Felfoghatjuk úgy is hogy a html fájlba szúrunk be<br><b>Félkövér</b>';
?>
</body>
</html>

A fő különbség hogy a print rendelkezik visszatérési értékkel így kifejezésekben is használható. Az echo utasítás gyorsabb mint a print. Abban eltérnek a vélemények hogy mennyivel, az biztos hogy ha magunknak készítünk kis példa és próba kódokat, nem fog feltűnni a különbség. Nagy alkalmazások esetében számít ez.

A PHP szintakszisára jellemző még, hogy minden utasítást pontosvessző (;) zár le. Érdemes minden utasítást külön sorba írni. A blokkokat { és } jelek közé kell írni, ezeken belül érdemes egy tabulátor szintet beljebb lépni, hogy áttekinthető maradjon a kód. De erről majd később. Háromféle megjegyzés használható a PHP kódban. A // karakterek után, az egész további sor megjegyzés. Pontosan így működik a ritkábban használt #. Ekkor csak egy # karaktert kell írni a két / jel helyett. Ezeket hívjuk egysoros megjegyzéseknek. A másik lehetőség a /* ... */ használata. Ennek segítségével több soros megjegyzés is készíthető. Hogy ne kövessünk el véletlenül hibát, soha ne írjunk php nyitó és záró cimkét megjegyzésekbe!

Megjegyzések
1
2
3
4
5
6
7
8
9
<?php
// a sor többi része megjegyzés
print 'teszt'; // ez már megjegyzés
 
/* másik típusú megjegyzés */
print 'ezzel a fajtával több soron át tartó kommentek is készíthetők'; /* bizony
mert elkezdem fönt, befejezem
lent*/
?>

Vigyázni kell azonban a /* ... */ típusú megjegyzésekkel, ha a program készítése során valamiért egymásba ágyazzuk ezeket szintaktikai hibához jutunk. Lássuk miért

Hiba
1
2
3
4
5
<?php
/* ez egy hibás kód lesz
 /* beágyazott megjegyzés*/
ajjaj*/
?>

És mint bármilyen valamire való oktatóanyag kezdetén, elkészítjük mi is a helló világ! programunkat. A kód, bár már valószínűleg mindenki kitalálta, a következő:

Helló világ!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
/* fejléc */
print '<html><head><title>Helló</title></head>'; //mindenki számított rá
print '<body>'; // hogy a html kódoknak is szerepelniük kell a programban
// ugye?
 
/* tartalom */
print '<p>Helló világ!</p>';
 
/* lábléc */
print '</body></html>';
 
?>

Remélem mindenki aki arra számított, hogy a kód mindösszesen annyi lesz: print "Helló világ!"; rádöbbent, hogy a php kimenete a böngészőbe jutó forráskód, amit a böngésző html ként dolgoz fel, és megjelenít mint weboldalt.

(Folytatjuk...)

Javítva: 2012.08.25 Köszönet a kommentekért RimEleknek


 Szerző: userGabor Hozzászólások(11) Hozzászólások Megosztás az iWiW-en Megosztás az Facebook-on Megosztás a Google Reader-ben Megosztás az Twitter-en 

1 | 2Előre
Listázás:  Idő szerint:
Webprogramozás arr Tutorialok info PHP gyorstalpaló 1. rész
(#11) RimElek válasza erre: (#10) 111 2013.10.20. 11:00

RimElek
RimElek
VIP

Az azért erős, hogy nem megfelelő. Minimális sebességkülönbség lehet. Főleg, ha nem kell szövegeket összefűzni. De önmagában ettől nem lesz feltűnően lassabb a weblap.

A telefonokhoz pedig semmi köze nincs az echo-nak. Nem a telefonon fut a php, hanem a szerveren. A telefon pedig már a kész kimenetet tölti be, ahogy tudja.

(#10) 111 2013.10.19. 21:50

111
111
Kezdő

Az utolsó példára a sok print nem megfelelő, lassabb, mint az echo. Az echo-nál több dolgot lehet kiírni egyszerre.
pl.: echo '"1. megjegyzés", "2. megjegyzés", "3. megjegyzés"';
Így nyerünk néhány század másodpercet, ez a lassabb telefonoknál hasznos.


123456789
(#9) Gabor válasza erre: (#8) Gabor 2012.11.06. 22:16

Gabor
Gabor
Szerkesztő

Na jó lehet hogy csak péntekre mert csütörtök reggel írok egy ZH-t és muszály arra készülnöm :( de a nagyja már így is meg van a cikknek.

(#8) Gabor válasza erre: (#7) Arthur 2012.11.04. 20:50

Gabor
Gabor
Szerkesztő

Köszönöm. Ezzel most elég erőt adtál, hogy folytassam, el is kezdtem már több mint a fele kész. Holnap fel is rakom a folytatást. Aztán majd sorba a többit. kepSajnálom, hogy egy ideig pihent a projekt.

(#7) Arthur 2012.10.31. 22:57

Arthur
Arthur
Kezdő

ez a talpaló tényleg jó lett volna
kár hogy nem folytatódik

(#6) Saaandor 2012.08.26. 23:08

Saaandor
Saaandor
Kezdő

Nekem is hasznos ez a sorozat, kezdő phps vagyok, de motivált, grafikus programot szeretnék írni egy társasjáték gépre ültetéséhez. Várom a folytatást.

(#5) BaTocska 2012.06.16. 23:30

BaTocska
BaTocska
Kezdő

Jó kis cikksorozatnak ígérkezik, már alig várom a folytatást! Csak így tovább! kep

(#4) Gabor válasza erre: (#3) RimElek 2012.06.05. 21:43

Gabor
Gabor
Szerkesztő

pedig nyugodtan :) A kötekedésnélkül nem nagyon haladna a világ

(#3) RimElek 2012.06.05. 07:05

RimElek
RimElek
VIP

Az echo az csak úgy jött nálam. Nem szándékoztam senkit áttéríteni. Ilyen szempontból lényegtelen, melyiket használja az ember. Habár van különbség. Csak mostanában rászoktam az echo -ra. A lényeg az volt, hogy ha van egy 100 soros html-ed, amibe ki szeretnád írni egy scriptből jövő felhasználó nevét, akkor nem printeled ki az egészet, csak a megfelelő helyen nyitsz egy php blokkot. Ez akkor is így van, ha sablonfájlokat használsz. Sőt, akkor még inkább. Mert még kevesebb a php rész.

De igazad van. Stílusbeli különbségek, hisz a kód működik így is, úgy is. De általában a kezdő könyvek is tárgyalják, mert a a helyes stílus kialakítása sokat számít már az elején is. És sok bosszúságtól óv meg.

No de kitartást, hogy megírd a többi részt is hasonlóan :) Ígérem, nem kötök bele mindenbe. ( Csak majdnem :D )

(#2) Gabor válasza erre: (#1) RimElek 2012.06.04. 21:31

Gabor
Gabor
Szerkesztő

Köszönöm a kritikát, először írok bármilyen tutorialt. A # megjegyzésről tudok elméletben, de szándékosan hagytam ki mivel még soha életemben nem találkoztam olyan kóddal ahol ezt használnák, bár abban igazad van, hogy talán bele kellett volna tenni, említés szinten.
Végülis a blokk megszakítása, vagy print és echo használata elvileg csak stílusbeli különbség. Amit leírtál az igaz, a html hibák jelzése hasznos. Ha hosszabb html blokkokra van szükség, a legjobb külső fájlokból tölteni be őket fájlműveletek segítségével. De mivel egy kezdő nyilván nem fog ilyesmit csinálni, ezért jogos, hogy hasznosabb megszakítania adott esetben a php kódot.
Ezeknek fényében még változtatok néhány dolgot ezen a részen, mielőtt kiraknám a következőt, mégegyszer köszönöm a támogatást :)

Listázás:  Idő szerint:
1 | 2Előre


© 2006-2018 PHP-Script.hu, Minden jog fenntartva!
Design: Rácz Gergely, Oldalmotor: Rácz Gergely
Impresszum - Oldaltörténet - Oldalszabályzat