Osnove PHP-a

KSIZ / FFZG

Mario Mikić

Što je PHP?

PHP (Hypertext Preprocessor) je programski jezik koji je specijaliziran za razvoj web sustava.

  • Nastao iz C-a
  • Neovisan je o platformi (Unix, Windows)
  • Dinamički tipiziran (en. dynamic typed)
  • Slabašno tipiziran (en. weekly typed)
  • Ekstenzija .php

Povijest PHP-a

  • Otac PHP-a je Rasmus Lerdorf (Wiki)
  • Originalno je akronim značio Personal Home Page Tools
  • Nastao 1995. godine
  • Trenutna verzija: 5.6.8

Zašto PHP?

  • Dostupnost
  • Jednostavnost
  • Zajednica
  • Razvojni okviri, dodaci

Gdje je PHP?

zahtjev

Sintaksa

<?php
	
$varijablaString = "vrijednost";

$varijablaLista = array('auti', 'motori');

echo "Hello world"; // ispisuje Hello world

echo strtoupper("Hello world"); /* ispisuje HELLO WORLD */

?>

Tipovi podataka

  • String
  • Array
  • Integer, Float
  • Boolean
  • Objects
  • NULL
  • Callbacks

String

Označava niz znakova, gdje je znak ekvivalent byteu.

<?php

$a = "abc";
var_dump($a); // ispisuje: string(3) "abc"

$b = "abč";
var_dump($b); // ispisuje: string(4) "abč"

?>

Array

Označava mapu uparenih ključeva i vrijednosti.

<?php

$a = ["Jedan", "Dva"];
var_dump($a); 
// array(2) { [0]=> string(5) "Jedan" [1]=> string(3) "Dva" }

echo $a[0];
// Jedan

$b = ["kljuc 1" => "vrijednost 1"];
var_dump($b);
// array(1) { ["kljuc 1"]=> string(12) "vrijednost 1" }

echo $b['kljuc 1'];
// vrijednost 1

?>

Ključevi smiju biti tipa integer ili string, a vrijednosti bilo kojeg tipa podataka.

Integer, float

Označava cijele brojeve, odnosno decimalne brojeve.

<?php

$a = 123456;
var_dump($a);
// int(123456)

$b = 123456.789;
var_dump($b);
// float(123456.789)

?>

Boolean, NULL

Boolean označava istinitost (true, false)

NULL je poseban tip podatka koji označava varijable bez vrijednosti

<?php

$a = true;
var_dump($a);
// bool(true)

$b;
var_dump($b);
// NULL

?>

Aritmetički operatori

Izvršavaju se nad tipovima podataka int i float.

<?php

$a = 5;
$b = $a + 5;
var_dump($b);
// int(10)

$c = 10;
$c += 5;
var_dump($c); 
// int(15)

$d = $c / $b;
var_dump($d);
// float(1.5)

?>

Konkatenacija

Stringovi se spajaju pomoću znaka točke.

<?php

$a = "Hello ";
$b = "Goodbye ";
$c = "cruel world";

echo $a.$c;
// Hello cruel world

$b .= $c;
echo $b;
// Goodbye cruel world

?>

Žongliranje tipovima

Type juggling

<?php

$a = "0";
$b = 4;
var_dump($a+$b);
// int(4)

$c = "Vi ste redni broj: ";
$d = 128;
var_dump($c.$d);
// string(22) "Vi ste redni broj: 128"

?>

Kontrolne strukture

Omogućuju uvjetovno izvršavanje kôda. Najpopularnije su if.. else

<?php

$a = true;
if($a) {

	echo "Uvjet je zadovoljen";

}
else {

	echo "Uvjet nije zadovoljen";

}
// Uvjet je zadovoljen

?>

Kontrolne strukture

While izvršava kôd sve dok je uvjet zadovoljen, a koristan je prilikom iteriranja.

<?php

$a = ["Jedan", "Dva"];
$b = 0;

while(sizeof($a) > $b) {
	
	echo $a[$b];
		
	$b++;
	
}
// JedanDva

?>

Kontrolne strukture

For petlja u PHP-u.

<?php

for($i=0; $i<4; $i++) {
	
	echo $i;
	
}
// 123

?>

Kontrolne strukture

Foreach petlja iterira kroz sve elemente arrayja.

<?php

$a = ['Fiat', 'Audi'];
foreach($a as $b) {

	echo $b;

}
// FiatAudi

$a = ['grad' => 'Split', 'zupanija' => 'Splitsko-dalmatinska'];
foreach($a as $b => $c) {

	echo $b; // grad, zupanija
	echo $c; // Split, Splitsko-dalmatinska

}

?>

Funkcije

<?php

function zbroji($a, $b) {

	return $a + $b;

}

var_dump(zbroji(4, 5));
// int(9)

?>

Funkcije

<?php

function zbroji($a, $b = 0) {

	return $a + $b;

}

var_dump(zbroji(4));
// int(4)

?>

Funkcije

<?php

function zbroji($a, $b) {

	return $a + $b;

}

var_dump(zbroji("Kamion", "Vlak"));
// int(0)

var_dump(zbroji(array("Auto", "Kamion"), "Vlak"));
// 

?>

PHP i HTML

Smiju se nalaziti u istoj datoteci, ekstenzija mora biti .php

index.php
<div id="navigacija">
	
	<?php include("navigacija.php"); ?>
	
</div>
navigacija.php
<ul>
	<li><a href="#">Link</a></li>
	<li><a href="#">Link</a></li>
	<li><a href="#">Link</a></li>
</ul>

Superglobalne varijable

$_GET, $_POST, $_REQUEST, $_SESSION, $_COOKIE, ..

Varijable dostupne prilikom svakog pokretanja skripte

index.php?ime=Ivan
<?php

var_dump($_GET);
// array(1) { ["ime"]=> string(4) "Ivan" }

echo $_GET['ime'];
// Ivan

?>

FIN

Zadaci