0% ont trouvé ce document utile (0 vote)
472 vues1 page

PHP Poo

Le document décrit les concepts de base de la programmation orientée objet en PHP tels que les classes, méthodes, propriétés et héritage. Il présente également des architectures d'applications typiques en PHP et les principales structures de fichiers et dossiers.

Transféré par

Alexandre Achain
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
472 vues1 page

PHP Poo

Le document décrit les concepts de base de la programmation orientée objet en PHP tels que les classes, méthodes, propriétés et héritage. Il présente également des architectures d'applications typiques en PHP et les principales structures de fichiers et dossiers.

Transféré par

Alexandre Achain
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Syntaxe & Astuces

+ POO Méthodes
Architecture
Balises
<?php ... ?> ou <? ... ?> Définitions & Déclarations Instanciation globale
<% ... %> require()
<script language="php"> class MaClasse { Instance require_once()
public $variable1; include()
... </script> $objet = new MaClasse();
private $variable2; include_once()
Utilisation d'une variable define(nom, "val") //ctes
Commentaires public static $varClasse = 0;
// ou # : sur 1 ligne $objet -> variable1 = 10; Variables
public function maFonction($v1, &£v2) { set(); unset(); isset();
/* commentaire sur // instructions ;
Appel d'une fonction get();
plusieurs lignes */ /* $v1 ne subit pas de modification en $objet -> maFonction(1, 'ab'); settype(); //conversion
dehors de la fonction, $v2 si!! */ $this : à l'intérieur d'une fonction
Types } POO
RAPPEL : langage -> existence (bool)
faiblement typé, donc type
public static function varGl() { Niveaux de visibilité class_exists("...");
return self::$varClasse;
en fonction du contexte interface_exists("...");
} public : visible de tous method_exists("...");
d'utilisation. } protected : accès private + ss-classes property_exists("...");
-> Simple private : accès interne uniquement
-> liste de ... (array)
bool get_class_methods("...");
int, integer get_class_vars("...");
double, float, real Classes Abstraites & Interfaces get_declared_classes("...");
string get_declared_interfaces("...");
-> Composé Classe abstraite -> instances
array abstract class MaSuperClasse { $obj instanceof MaClasse;
//retourne un bool
object (instances) //fonction abstraite, définie dans les classes héritées, get_class($obj);
-> Spéciaux/Systèmes abstract public function superFonction(); //retourne un string
ressource } is_subclass_of($obj, 'classe
null parent');
/* retourne un bool,
mixed (plusieurs types)
Interface true si c'est l'instance d'une
ss-classe */
Manipulations - Déclaration -> constantes
de variables interface MonInterface [ extends MaSuperInterface] { Nom des classes et méthodes
public function maFonction(); exécutées au moment de l'appel
-> accolades } __CLASS__
$var1 = "valeur"; __METHOD__
$var2 = "var1";
echo "$var1"; //out: "valeur"
- Implémentation
class MaClasse implements MonInterface {
Surcharges de
echo "${var2}"; // "var1"
echo "{$var2}"; // "{var1}" public function maFonction() méthodes
echo "${$var2}"; // "valeur" {...} __construct();
-> copies } __destruct();
alias : $b = &$a; __clone();
clone : $b = clone $a; __get();
classique : $b = $a; Architectures applicatives : dénominations __set();
__unset();
__isset();
Opérations - [Link] : fichier à la racine, exécuteur/controller principal __call();
arithmétiques - [Link] : fichier à la racine, vue principale __callStatic();
-> Arithmétiques - style : dossier de feuilles de styles et des images de design __sleep(); //serialize()
__wakeup(); //unserialize()
+ - * / % - modules/actions : dossiers d'exécution pour les CU
+=1 => ++ __toString();
(chaque module contient plusieurs dossier d'actions)
-=1 => --
- public/admin/install : dossiers d'espaces d'utilisations (facultatif) Extensions de
-> Comparaison
- noyau : dossier d'espace protégé classe
== != < <= >= >
- plugins/templates : dossiers d'addons de l'appli (si prévu) //MaClasse peut être abstraite
-> Logique
- scripts : dossier de scripts javascripts ou non
&& and || or ! not xor
- libs/librarys : dossier des librairies utilisées classe MaClassebis extends MaClasse

-> Concaténation : . - images_data : images du contenu


{ ... }

-> Comparaison de - [class_name].[Link] : fichiers de classes Méthodes


types - [module].[Link] : bibliothèque de fonctions héritées
=== !== - [Link] : fichier pour la gestion de l'aspect dynamique parent ::maFonction();
instanceof (objet/classe) et de l'ergonomie de la page --> appel de la fonction
-> Système - [Link] + [Link] : fichiers pour la gestion d'AJAX de la classe implémentée
self::maFonction();
@ : contrôle d'erreur
-->fonction de la classe actuelle
`...` : commande shell

Vous aimerez peut-être aussi