PHP

Podobny obraz

PHP– interpretowany skryptowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.

PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym. Implementacja PHP wraz z serwerem WWW Apache oraz serwerem baz danych MySQL określana jest jako platforma AMP (w środowisku Linux – LAMP, w Windows – WAMP).

Języki back-endowe, takie jak PHP, zajmują się mechaniką działania serwisów internetowych i to właśnie dlatego skrypty te stanowią zawsze tajemnicę twórców witryn. PHP obsłuży na serwerze np. zachowanie algorytmu logowania, koszyk w sklepie internetowym, rejestrację użytkownika w grze przeglądarkowej.

Typy danych i ich zmienne

TypOpis
stringŁańcuch tekstowyObjęty znakami cudzysłowu lub składnią here document
intLiczba całkowitaObsługiwane są stałe całkowite w notacji dziesiętnej, szesnastkowej oraz ósemkowej
floatLiczba zmiennoprzecinkowa
boolTyp logicznyDo fałszu konwertowanych jest wiele postaci zmiennych innych typów
arrayTablicaPrzechowuje dowolną liczbę elementów dowolnego typu. Indeksowana ciągami znaków lub liczbami całkowitymi
objectObiekt
nullZmienna niezdefiniowana
resourceZasób spoza PHPPrzykładowo deskryptor pliku lub połączenie z bazą danych

Rozróżniamy trzy typy komentarzy w PHP : Pierwszym z nich jest wieloliniowy:

<?php
/* To jest komentarz
   wieloliniowy, zamykany znacznikiem:
*/
?>

Kolejnym jest jednoliniowy:

<?php
//to jest komentarz jednoliniowy, który nie potrzebuje zamknięcia
?>

Ostatnim jest jednoliniowy (w innej wersji):

<?php
# to jest komentarz jednoliniowy, który nie potrzebuje zamknięcia
?>

Klasy i obiekty

Elementy programowania obiektowego pojawiły się w PHP 3. W PHP 4 udostępniono statyczne wywoływanie metod. W PHP 5 możliwości zostały rozszerzone między innymi o statyczne zmienne klasy, obsługę interfejsów, kontrolę dostępu, kontrolę typów czy klasy i metody abstrakcyjne. Model PHP wzoruje się na językach C++ i Java. Od wersji 5 PHP posiada mechanizmy refleksyjne, które pozwalają na analizę klas, funkcji oraz rozszerzeń. Bez zainstalowania odpowiedniego rozszerzenia nie umożliwiają one jednak zmiany tych struktur w czasie wykonywania, przykład klasy:

<?php
class Przyklad
{
	public function powiedzCzesc($imie)
	{
		return 'Cześć, ' . $imie;
	}
}

$objPrzyklad = new Przyklad ();
echo $objPrzyklad->powiedzCzesc ( 'Stanislaw' );
?>

Obsługa baz danych

PHP obsługuje większość znanych baz danych: MySQL, PostgreSQL, Oracle, MS SQL, DB2. Poniżej przedstawiono wykonanie zapytania SQL na bazie danych MySQL przy pomocy biblioteki PDO dla PHP5:

<?php
try
{
	$pdo = new PDO ( 'mysql:host=localhost;dbname=articles', 'root', 'root' );
	$pdo->setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

	$stmt = $pdo->query ( 'SELECT id, name, content FROM articles ORDER BY id' );
	echo '<ul>';
	foreach ( $stmt as $row )
	{
		echo '<h1>' . $row ['name'] . '</h1>';
		echo $row ['content'] . '<hr />';
	}
	$stmt->closeCursor ();
	echo '</ul>';
} catch ( PDOException $e )
{
	echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage ();
}
?>

PHP I HTML

Pierwszy skrypt w PHP.

 <html>
 <head>
 <title>Pierwszy skrypt php</title>
 </head>
 <body>
 <?php
 echo "Przykładowy tekst na stronie";
 ?>
 </body>
 </html> 

Stałe i zmienne

<?
define("NR_TEL","666258147");
$nr_tel = "792297792";
 ?>
 <html>
 <head>
 <title>Zmienne i stale</title>
 </head>
 <body> 
<?
echo NR_TEL;
echo $nr_tel;
 ?>
 </body>
 </html> 

Warunek if… else…

<?php
$a = 7; // przypisujemy wartość zmiennej $a
if ($a%2 > 0) // reszta z dzielenia przez 2
{
 echo "Liczba nieparzysta";
}
else // brak reszty z dzielenia przez 2
{
 echo "Liczba parzysta";
}
?>

Bazy danych

<?php
/******************************************************
* connection.php
* konfiguracja połączenia z bazą danych
******************************************************/
function connection() {
 // serwer
 $mysql_server = "localhost";
 // admin
 $mysql_admin = "uzytkownik";
 // hasło
 $mysql_pass = "haslo";
 // nazwa baza
 $mysql_db = "baza_danych";
 // nawiązujemy połączenie z serwerem MySQL
 @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
 or die('Brak połączenia z serwerem MySQL.');
 // łączymy się z bazą danych
 @mysql_select_db($mysql_db)
 or die('Błąd wyboru bazy danych.');
}
?> 

Potem wystarczy taki plik podłączyć za pomocą instrukcji require() i wywołać funkcję connection(), aby mieć aktywne połączenie do serwera i bazy danych.

<?php
// podłączamy plik connection.php
require "connection.php";
// wywołujemy funkcję connection()
connection();