programare web php o prezentare generala4979

38
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/ 1 Tehnologii Web Tehnologii Web 2007 2007 Programare Web Programare Web PHP – prezentare generala PHP – prezentare generala Dr. Sabin-Corneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Upload: amihaesei-ionut

Post on 25-Sep-2015

231 views

Category:

Documents


7 download

DESCRIPTION

Prezentare general pentru Php

TRANSCRIPT

Tehnologii Web*
*
*
PHP 5 (2004)
PHP 6 (in dezvoltare)
*
php | caracterizare
Limbaj de programare de tip script, interpretat, direct accesibil in cadrul documentelor HTML
Procedural, oferind si suport pentru programarea orientata-obiect
Sintaxa inspirata de C/C++ si Perl
(mai nou, si de Java) – case sensitive
Disponibil gratuit (open source) pentru diverse
platforme (UNIX/Linux, Windows, Mac OS X)
si servere Web (Apache, IIS,…)
Paginile incluzind cod PHP au extensia .php
(in trecut .php3, .phtml)
*
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
Suport pentru manipularea bazelor de date (MySQL, ODBC, Oracle, PostgreSQL, SQLite,…)
Procesarea continutului resurselor (tipuri de arhive, PDF, fisiere grafice, certificate digitale,…)
Suport pentru tehnologiile XML (procesari SAX, DOM, simplificate; transformari, validari;
servicii Web etc.)
*
<?php
?>
De folosit
*
Tipuri complexe:
$ani = 33; /* o variabila obisnuita */
$conectat = TRUE; # variabila logica
*
if (!$nume) {
} else {
}
*
// umplem un tablou cu valori de la 1 la 10
for ($contor = 1; $contor <= 10; $contor++) {
$valori[$contor] = $contor;
// pentru a fi trimisa browserului
?>
*
Salvam codul intr-un fisier text .php
valori.php
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
Invocarea (rularea) programului PHP folosind tehnologiile Web:
Plasam fisierul intr-un director al serverului Web
Din browser, indicam URL-ul catre program pentru a-l invoca via HTTP
Rezultatul generat de script
*
php | caracterizare
Constante predefinite:
PHP_VERSION, CHAR_MAX,…
Operatori – ca si cei din limbajul C/Perl (e.g., concatenarea sirurilor cu “.”)
Functii-utilizator:
{
*
return $numar * $numar;
continue; // continuam cu urmatoarea iteratie
// e numar par, deci afisam patratul
echo "<p>$numar la patrat este " . patrat($numar) . "</p>";
} // final de while
*
de prelucrare a tablourilor
de manipulare a bazelor de date
privitoare la conexiunile de retea
pentru accesarea resurselor XML, PDF, JPEG,...
specifice sistemului de operare
*
exp(), log10(), log()
rand(), srand()
*
echo(), print(), printf(), sprintf() etc.
strlen(), chr(), ord(), substr(), strstr(), strpos(),…
strcmp(), strcasecmp(), strnatcmp() etc.
trim(), ltrim(), rtrim()
nl2br(), htmlentities(), htmlspecialchars(), strip_tags(),…
*
*
ctype_alpha(), ctype_alnum(), ctype_lower(), ctype_upper()
*
date(), idate(), gmdate(),…
*
Folosind tipul de date FILE: fopen(), fread(), fscanf(), fgets(), fwrite(), fprintf(), fseek(), ftell(), feof(), fclose(), ftruncate(), fstat(), flock()
file(), copy(), rename(), delete(), move_uploaded_file(), tmpfile()
file_exists(), filesize(), filetype(), fileperms(),…, stat()
is_dir(), is_file(), is_readable(), is_writeable(),…
*
gettype(), settype()
*
php | caracterizare
Alte facilitati:
SPL (Standard PHP Library) – acces la metode standard de prelucrare a datelor
Rularea din linie de comanda: PHP CLI (Command Line Interface) sau ca modul Apache
Crearea de interfete grafice (aplicatii desktop): PHP-GTK – http://gtk.php.net/
Inter-conectivitatea cu alte platforme
(COM, Flash, Java, .NET,)
Suport pentru Internet/Web (FTP, HTTP, IMAP, LDAP, NNTP, POP3, SNMP, SOAP, XML-RPC)
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
se regasesc in tablouri asociative predefinite (si globale):
$_GET[] – datele transmise prin GET
$_POST[] – datele transmise prin POST
$_COOKIE[] – cookie-urile receptate
$_REQUEST[] – datele primite de la client (continutul lui $_GET, $_POST si $_COOKIE)
$_SESSION[] – datele de tip sesiune
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
$_SERVER['PHP_SELF'] numele scriptului PHP
$_ENV[] – datele oferite de mediu (environment)
$_FILES[] – datele despre fisierele primite
prin upload
*
</form>
<?php } else {
}
?>
*
var $an;
var $nume;
var $email;
function furnizeazaAn () { return $this->an; }
}
?>
*
// metode
function furnizeazaNote () { return (array) $this->note; }
}
$alt_stud->seteazaAn (2); // apel de metod din clasa de baz
$alt_stud->seteazaNote ($niste_note);
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
function Student ($a, $n, $e = '') { // constructor
$this->an = $a;
$this->nume = $n;
$this->email = $e;
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
get_class() va returna numele unui obiect,
instan a unei clase
get_parent_class() furnizeaz clasa printe
pentru un anumit obiect specificat
class_exists() testeaz existena unei clase
is_subclass_of() va determina existena
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
Membrii pot fi publici (public), privati (private) sau protejati (protected)
Se permit clase/metode abstracte: abstract
Obiectele pot fi “clonate” via clone
Obiectele pot fi comparate folosind ===
Pot fi declarate si interfete (in stilul Java)
Se permite si introspectia via clasa Reflection
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
private $an; // date-membru (private/publice)
$this->an = $a;
$this->nume = $n;
$this->email = $e;
}
}
*
$clasa = new ReflectionClass ('StudentDestept');
printf("<p>Clasa <em>%s</em> extinde %s si
e declarata in fisierul <tt>%s</tt>.</p>",
$clasa->getName(),
*
Apache2Triad, EasyPHP & XAMPP – medii pre-configurate de dezvoltare Web (Apache, PHP, MySQL,…)
PHPMyAdmin – aplicatie Web scrisa in PHP pentru administrarea facila a bazelor de date MySQL
Smarty – faciliteaza realizarea de template-uri de redare a continutului Web
PEAR (PHP Extension and Application Repository)
– clase/module care extind functionalitatile PHP: http://pear.php.net/
PHP Designer – editor Web avansat
Zend Studio – platforma comerciala de dezvoltare
a aplicatiilor PHP de anvergura
PRADO – framework PHP5 permitind interactiuni Web conduse de evenimente in stilul .NET
JPSpan & Xajax – framework-uri PHP pentru AJAX
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/
*
Polirom, 2005
Polirom, 2003
Polirom, 2004
Polirom, 2006
*
*
*