Szerző Téma: [PHP] A PHP alapjai  (Megtekintve 1232 alkalommal)

[PHP] A PHP alapjai
« Dátum: 2015. október 16. - 18:22:36 »
+1 Show voters





Bevezetés


Üdvözlök minden kedves fórumozót! Úgy döntöttem, hogy egy folytatásos tutorial sorozatot fogok készíteni a PHP: Hypertext Preprocessor nevezetű programozási nyelvről. Az utótag mára már elhanyagolható, ugyanis a PHP kinőtte magát: egyre fejlettebb és fejlettebb. Elértünk oda, hogy szinte minden weboldal tartalmaz PHP-t. Milliós nagyságrendhez igazítható a ma PHP-t futtató weblapok száma. Ezek az adatok már csak a JavaScriptet nem múlják felül. Ha szoktuk a kisebb-nagyobb oldalak forráskódját nézegetni (ajánlott, mert sok dolgot megtudhatunk belőle), akkor láthatjuk, hogy szinte az összes tartalmaz egy <script> taget, benne egy language=\"JavaScript\" attribútumot, melyből következtethetünk arra, hogy az oldal használ JS scripteket. Az igények növekedésével a JavaScript használata is elengedhetetlen egy modern weblap elkészítéséhez, azonban ebben a tutorialban csak a PHP-val fogunk foglalkozni... A kettes számrendszerrel való számolás, átváltás (például 10-es számrendszerbeli szám átváltása 2-esbe, vagy éppen fordítva) nem sorozatom tényleges része! Ki fogunk rá térni a továbbiakban!!!
 

Tartalomjegyzék
 
 
  • A kettes számrendszer
  • A memória és típusai
  • A \"Hello, világ!\" program
  • Beépített adattípusok
  • Változók
  • Elágazások
  • ?: műveletek
  • A switch()

 
 
 
A bináris (kettes) számrendszer
- A 20. század közepén, pontosabban 1945-ben egy magyar származású, amerikai matematikus, Neumann (ejtsd.: \'Najman\') János kidolgozta az úgynevezett \'Neumann-elveket\'. A Neumann-elvek egyikét képezi a bináris számrendszer használata a számítógépeknél. Hogy miért kifizetődő a decimális számrendszerrel ellentétben? Nagyon egyszerű a válasz: egyszerű vele dolgozni, hiszen a decimális számrendszerrel ellentétben nem 10, hanem CSAK KÉT lehetőség van: igen vagy nem (1 vagy 0, yes vagy no).
- Egyszerűbben definiálhatjuk úgy is, hogy van feszültség, avagy nincs feszültség (utóbbi primitív példánkat a könnyebb megértés miatt néztük meg).
- A mai számítógépek működése is ezen alapul. Minden karakter kettes számrendszerbeli számok halmaza (pl.: 01010101...)
- Az, hogy egy kettes számrendszerbeli szám pozitív vagy negatív, az ún. előjelbit határozza meg
A memória
1 bájt = 8 bit
- A memória a számítógép adatait, valamint utasításait tartalmazza
Fajták:
 
  • RAM (Random Access Memory) // Írható és olvasható memória

       - Statikus RAM (SRAM, nem igényel frissítést, olcsóbb, lassabb)
       - Dinamikus RAM (DRAM, frissítést igényel, gyorsabb, drágább)
 

  • ROM (Read Only Memory) // Csak olvasható memória
          - Gyárilag programozható, feszültség után is megőrzi az adatokat
          - PROM (A felhasználó által egyszer programozható)
          - EPROM (A felhasználó által programozható, UV fénnyel törölhető)
          - EEPROM (A felhasználó által programozható, elektromosan törölhető)
          - EEPROM-Flash (Írási és olvasási sebességét tekintve hasonlóan működik a RAM-hoz)
    Fontos még:
    • BIOS (Basic Input/Output System)
     
    A \"Hello, világ\" PHP nyelven
    PHP nyelven kétféleképpen meg lehet oldani a kiíratást, echo és print függvénnyel. Alapjáratban minden függvénynek (még az érték nélkülieknek is) zárójelpárt kell tartalmazniuk. Az echo és a print utasítások is használhatók zárójellel, hasonlóan a függvényekhez. A Hello, világ stringet (szöveget) idézőjelek vagy aposztrófokkal írathatjuk ki. A lényeges különbség az aposztróf és az idézőjel között, hogy az idézőjel kiértékeli a változókat (miket???! később rájössz!), az aposztróf azonban nem.
    Ez is helyes:
     

 

echo(\"Hello, világ!\");
echo(\'Hello, világ!\');
 
és ez is:
 

echo \"Helló, világ!\";
echo \'Helló, világ!\';
 
Beépített adattípusok
- string (karakter vagy karakterlánc, pl.: $a = \"Szia!\"; )
- integer (egész szám, pl.: $a = 4;)
- float (lebegőpontos szám, pl.: $a = 4.5)
- double (duplapontosságő lebegőpontos szám, pl.: $a = 4.5556
- boolean (logikai érték, pl.: $a = true;
Változók
A változók tulajdonképpen ideiglenes tárolók, melyekben tárolhatunk karakterláncokat, számokat (float, double, integer), logikai értékeket, tömböket, tömbök elemeit. Változókat $ jellel tudunk definiálni. A változók neve tartalmazhat betűket, számokat, aláhúzás jelet, viszont számmal a változó neve nem kezdődhet! Elviekben lehetnek a változókban ékezetes karakterek, azonban nem szoktuk használni.
 

$valtozo = \"Ez egy változó\"; // String
$valtozo = 4; // Int
$valtozo = true; // Bool
$valtozo = 5.6; // Float
 
Ha kétszer vagy többször definiáljuk a változót különböző értékkel, akkor a legutóbbi definiálás értékét veszi fel, tekintve arra, hogy a PHP interpreter (soronként értelmező).
A PHP megkülönbözteti a kis- és nagybetűket, ezért ezzel vigyázzunk!
Az if-else elágazás
A C nyelvhez hasonlóan lehetőségünk van aszerint kiíratni valamit, hogy az milyen értéket vesz fel. Erre szolgál az if-else elágazás.
Pl.:
 

$valtozo = 34;
if ( $valtozo == 34 )
{
       echo \"Létezik a változó, és értéke $valtozo\";
}
else
{
      echo \"Nem létezik a változó\"!;
}
 
Lehetőségünk van további vizsgálatokat hozzárendelni az elseif ág segítségével!
 
$valtozo = 34;
if ( $valtozo == 34 )
{
       echo \"Létezik a változó, és értéke $valtozo\";
}
elseif ( $valtozo == 35 )
{
     echo \"Létezik a változó, és értéke $valtozo\";
}
else
{
      echo \"Nem létezik a változó\"!;
}

 

A ?: műveletek
Amennyiben nem kívánjuk használni az elseif ágat, úgy lehetőségünk van használni egy rövidített if-else elágazásnak megfelelő műveletsort.
 

$valtozo = 34;
$tarolo = ( $valtozo == 34 ) ? \"A változó értéke $valtozo\" : \"A változ értéke nem 34, hanem $valtozo\";
echo $tarolo;
 
Létrehoztunk egy változót, melynek az értéke 34. Ezen felül létrehoztunk egy $tarolo nevű változót, mely tartalmazza a műveletsort.
A ? (kérdőjel) utáni művelet akkor hajtódik végre, ha az előtte lévő zárójelpárba írt feltétel igaznak bizonyul.
Ha a visszatérése false, vagyis üres a változó, a változó értéke 0 (ez lehet stringbe írt 0 is), esetleg az értéke eltér 34-től, akkor a kettőspont után írt művelet hajtódik végre.
Természetesen nem muszáj változóban tárolni a műveletet, ki is írathatjuk egyből!
 

$valtozo = 34;
echo ( $valtozo == 34 ) ? \"A változó értéke $valtozo\" : \"A változó értéke nem 34, hanem $valtozo\";
 
Ezzel a lehetőséggel egy sorban megoldhatjuk azt, amit a sima if-else elágazással 4-5 sorral oldanánk meg.
A switch \"kapcsoló\"
A PHP (a C nyelv mintájára) biztosít számunkra egy switch() \"kapcsolót\", amely megvizsgál egy változót, és annak megfelelően hajt végre valamit.
 

$nev = \"Géza\";
switch ( $nev )
{
   case \"Géza\":
      echo \"Szóval a neved $nev!\";
   break;
   case \"Péter\";
      echo \"Szóval a neved $nev\";
   break;
   case \"Balázs\";
      echo \"Szóval a neved $nev\";
   break;
   case \"Jonatán\";
      echo \"Szóval a neved $nev\";
   break;
   default:
      echo \"Nincs ilyen lehetőség\";
   break;
}
 
Definiáltuk a $nev változót, majd a switch() utasítás paramétereként megadtuk a $nev változót. Ezáltal a switch() azt a a változót vizsgálja meg.
case érték: // Egy lehetőséget ad meg. Amennyiben az érték helyére beírt szöveg vagy szám van a változóban, az alá írt utasításokat kapjuk kimenetként.
break; // Amennyiben az adott case igaz, a fordító a break; utáni sorokat már nem veszi figyelembe! Ha ezt kifelejtjük, akkor a többi sor is végre fog hajtódni!
default: // Akkor hajtódik végre, ha egyik case se tartalmazza azt, ami a változóban definiálva van.
Természetesen össze lehet vonni az ágakat, és akkor egy lehetőség alkalmával több ág fog végrehajtódni.
Folyamatos frissítés alatt áll!
« Utoljára szerkesztve: 2015. október 17. - 17:44:44 írta ReSIk »

Nem elérhető EnterR

  • Globális moderátor
  • 4223
  • dawg
    • Profil megtekintése
[PHP] A PHP alapjai
« Válasz #1 Dátum: 2015. október 16. - 21:07:25 »
+1 Show voters
EEPROM-Flash (Írási és olvasási sebességét tekintve hasonlóan működik a RAM-hoz)[/quote]
Ez hülyeség. A DRAM 200GB/s sávszélességet biztosít átlagos körülmények között, a flash pedig 50-200MB/s-ot produkál, ezen felül még skálázható egy plusz egységgel. A flash memória NAND chip és van egy független kontroller, a RAM meg blokkokból áll és külön van az adatbusz.

[PHP] A PHP alapjai
« Válasz #2 Dátum: 2015. október 16. - 21:19:13 »
0 Show voters
Idézetet írta: EnterR date=1445022445\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58166\" data-ipsquote-contentclass=\"forums_Topic

EEPROM-Flash (Írási és olvasási sebességét tekintve hasonlóan működik a RAM-hoz)
Ez hülyeség. A DRAM 200GB/s sávszélességet biztosít átlagos körülmények között, a flash pedig 50-200MB/s-ot produkál, ezen felül még skálázható egy plusz egységgel. A flash memória NAND chip és van egy független kontroller, a RAM meg blokkokból áll és külön van az adatbusz.
 
[/quote]
Suliban így tanultuk  :shurg: Bár neked elhiszem, hogy nem helyes, amit leírtam. Szerkesztem valahogy!
« Utoljára szerkesztve: 2015. október 16. - 21:24:47 írta ReSIk »

[PHP] A PHP alapjai
« Válasz #3 Dátum: 2015. október 17. - 05:17:44 »
+3 Show voters
Idézetet írta: ReSIk date=1445012556\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58166\" data-ipsquote-contentclass=\"forums_Topic
Alapjáratban minden függvénynek (még az érték nélkülieknek is) zárójelpárt kell tartalmazniuk. Az echo és a print kivételek!
 
Ez azért van mert az echo és a print nem függvények ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal