SlideShare uma empresa Scribd logo
1 de 13
Comment appelle-t-on une variable dans une classe ? Et une fonction ?


                 Une variable est une méthode et une fonction est un attribut

                 Une variable est un attribut et une fonction est une méthode

Quelle est la différence entre classe et objet ?


                Une classe est un ensemble de fonctions et variables et un objet est une instance
           de cette classe

                Un objet est un ensemble de fonctions et variables et une classe est une instance
           de cet objet

Par quel mot-clé déclare-t-on une classe ?


                 classe

                 class

                 object

                 objet




Qu'est-ce qui ne va pas dans ce code ?


Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4      private $texte;
 5
 6      public function changerTexte ($nouveauTexte)
 7      {
 8        $this->texte = $nouveauTexte;
 9      }
10
11      public function afficherTexte()
12      {
13        echo $this->$texte;
14      }
15   }
16 ?>

                 Il manque un $ juste avant "texte" à la ligne 8

                 Il y a un $ en trop juste avant "texte" à la ligne 13
Tout est bien

Ce code est correct, mais ne doit jamais être créé. Pourquoi ?


Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4      public $attribut = 'Hello world !';
 5
 6      public function afficherAttribut()
 7      {
 8        echo $this->attribut;
 9      }
10   }
11 ?>

                 L'attribut est public, il devrait être privé

                 La méthode est publique, elle devrait être privée

                 L'attribut et la méthode sont publiques, ils devraient être privés

                 Tout semble bon

Le code suivant est-il bon ?


Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4      private $attribut;
 5
 6      public function changerAttribut (int $valeur)
 7      {
 8        $this->attribut = $valeur;
 9      }
10   }
11 ?>

                 Oui

                 Non

J'ai une erreur fatale, pourquoi ?


Code : PHP - Sélectionner

1    <?php
2   class MaClasse
 3   {
 4      private $attribut;
 5
 6      public function __construct()
 7      {
 8        $this->attribut = 'Hello world !';
 9      }
10   }
11
12   $objet = new MaClasse();
13
14   $objet->attribut = 'Bonjour tout le monde !';
15 ?>

                 Ligne 8 : tu accèdes à un attribut privé depuis l'intérieur de la classe


                 Ligne 14 : tu accèdes à un attribut privé depuis l'extérieur de l'objet créé




Laquelle de ces déclarations de constantes est correcte ?


                 constant $MA_CONSTANTE = 1;


                 const $MA_CONSTANTE = 1;


                 constant MA_CONSTANTE = 1;


                 const MA_CONSTANTE = 1;

Quelle est l'erreur dans ce code ?


Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4      public function methode()
 5      {
 6        echo 'Hello world !';
 7      }
 8   }
 9
10   MaClasse::methode();
11 ?>
Il n'y a pas d'attribut dans la classe

                 La méthode "methode" n'a pas été déclarée avec le mot-clé "static"

                 Il n'y en a pas

Une autre erreur s'est glissée dans ce code légèrement modifié non ?


Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4      private static $texte;
 5
 6      public function __construct ($texte)
 7      {
 8        self::texte = $texte;
 9      }
10
11      public static function afficherTexte()
12      {
13        echo self::texte;
14      }
15   }
16 ?>

                 Ligne 8 et 13 : il faut utiliser $this-> et pas self::

                 Lignes 8 et 13 : il manque un $ avant le nom de l'attribut

                 Non, tout est correct




Qu'affichera le code suivant à l'écran ?


Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4      private $attribut = 'Hello';
 5
 6      public function getAttribut()
 7      {
 8        return $this->attribut;
 9      }
10
11      public function setAttribut ($valeur)
12     {
13        $this->attribut = $valeur;
14     }
15   }
16
17   $a = new MaClasse;
18   $b = $a;
19   $c = $b;
20
21   $c->setAttribut ('Salut');
22
23   echo $a->getAttribut();
24 ?>

                 "Hello"

                 "Salut"

                 Rien

Quel(s) opérateur(s) de comparaison vérifie(nt) si les deux objets comparés sont des instances de la
même classe ?


                 L'opérateur ==

                 L'opérateur ===

                 Les deux

Quels sont les types d'attributs que ce code affichera ?


Code : PHP - Sélectionner

 1 <?php
 2   class Mere
 3   {
 4      public $attributPublic = 'Attribut public';
 5      protected $attributProtege = 'Attribut protégé';
 6      private $attributPrive = 'Attribut privé';
 7
 8      public function listeAttributs()
 9      {
10        foreach ($this as $valeur)
11           echo $valeur . '<br />';
12      }
13   }
14
15   class Enfant extends Mere
16   {
17
18   }
19
20   $objet = new Enfant;
21   $objet->listeAttributs();
22 ?>

                  Les attributs publics

                  Les attributs publics et protégés

                  Les attributs publics, protégés et privés




Qu'est-ce qu'une interface ?


                  Une classe complètement abstraite

                  Une application

Ce code est-il fonctionnel ?


Code : PHP - Sélectionner

 1 <?php
 2   interface A
 3   {
 4      public function test();
 5   }
 6
 7   class A implements A
 8   {
 9      public function test()
10      {
11
12      }
13   }
14 ?>

                  Oui

                  Non

Et celui-ci, fonctionnera-t-il ?


Code : PHP - Sélectionner

1    <?php
2      interface iA
3      {
4         protected function test1();
5      abstract public function test2();
 6   }
 7
 8   class A implements iA
 9   {
10      protected function test1()
11      {
12
13      }
14
15      abstract public function test2();
16   }
17 ?>

                 Oui

                 Non, l'interface comporte une méthode protégée

                 Non, l'interface comporte une méthode abstraite

                 Non, pour les deux raisons ci-dessus

Une interface héritant d'une autre peut-elle écraser ses méthodes ? Et ses constantes ?


                 Oui

                 Elle ne peut écraser les méthodes

                 Elle ne peut écraser les constantes

                 Elle ne peut écraser ni les méthodes, ni les constantes

Quelle interface hérite de Iterator ?


                 SeekableIterator

                 ArrayAccess

                 Countable




Quelle est la classe de base pour créer une exception ?


                 Exception

                 ErrorException

Quel type d'erreur est lancé lorsqu'on n'intercepte pas une exception ?


                 Une erreur d'analyse
Une erreur fatale

                 Une alerte

                 Une notice

Sur les trois paramètres demandés par le constructeur de la classe Exception, combien sont
obligatoires ?


                 aucun

                 1

                 2

                 3

Quelles sont les deux méthodes que je peux réécrire si j'hérite de la classe Exception ?


                 getMessage() et getCode()

                 getFile() et getLine()

                 __construct() et __toString()

Quelle fonction permet d'enregistrer une autre fonction en callback qui sera appelée à chaque fois
qu'une telle erreur est rencontrée ?


                 set_error_function

                 set_error_callback

                 set_error_handler

Si j'exécute ce code, qu'est-ce qui s'affichera à l'écran ?


Code : PHP - Sélectionner

 1 <?php
 2   function additionner ($a, $b)
 3   {
 4      if (!is_numeric ($a) OR !is_numeric ($b))
 5          throw new Exception ('Les deux paramètres doivent être des nombres');
 6
 7      return $a + $b;
 8   }
 9
10   try // On va essayer d'effectuer les instructions situées dans ce bloc
11   {
12      echo additionner (12, 3);
13      echo additionner ('azerty', 54);
14      echo additionner (4, 8);
15   }
16
17   catch (Exception $e) // On va attraper les exceptions "Exception" s'il y en a une qui est levée
18   {
19     echo 'Exception lancée. Message : ' . $e->getMessage();
20   }
21 ?>

                 Exception lancée. Message : Les deux paramètres doivent être des nombres

                 15Exception lancée. Message : Les deux paramètres doivent être des nombres

                 15Exception lancée. Message : Les deux paramètres doivent être des nombres12




Quelle classe nous permettra d'obtenir des informations concernant d'autres classes ?


                 AboutClass

                 ReflectionClass

                 ClassReflection

Quelle méthode de la classe évoquée en première question permet de savoir si notre classe est la
fille de telle autre classe ?


                 isChild()

                 isSubclass()

                 isSubclassOf()

Quelle classe nous permet d'obtenir des informations à propos des attributs d'une autre classe ?


                 ReflectionAttribute

                 ReflectionProperty

Est-il possible, grâce à cette classe, de pouvoir modifier les attributs privés de nos objets ?


                 Oui

                 Non

Quelle classe permet d'obtenir des informations à propos des méthodes de nos classes ?


                 ReflectionMethod

                 ReflectionFunction

Que m'affichera ce code ?
Code : PHP - Sélectionner

 1 <?php
 2   class MaClasse
 3   {
 4       public function MaClasse()
 5       {
 6         echo 'Hello world !';
 7       }
 8   }
 9
10   $methode = new ReflectionMethod('MaClasse', 'MaClasse');
11
12   if ($methode->isConstructor())
13       echo 'Constructeur';
14   else
15       echo 'Non constructeur';
16 ?>

                 « Constructeur »

                 « Non constructeur »

                 Le code plantera




Que vérifie l'opérateur instanceof ?


                 Que tel objet instancie telle classe

                 Que tel objet instancie une classe fille de telle classe

                 Que tel objet implémente telle interface

                 Que tel objet implémente une interface fille de telle interface

                 Tous ces points

Qu'est-ce qui s'affichera à l'écran lors de l'exécution de ce code ?


Code : PHP - Sélectionner

1    <?php
2      class A { }
3      class B { }
4
5       $a = new A;
6
7       if ($a instanceof 'A')
8      echo 'Vrai';
 9   else
10      echo 'Faux';
11 ?>

                 Vrai

                 Faux

                 Une erreur

Qu'est-ce qui s'affichera à l'écran lors de l'exécution de ce code ?


Code : PHP - Sélectionner

 1 <?php
 2   interface iA { }
 3   interface iB extends iA { }
 4
 5   class A implements iB { }
 6   class B extends A { }
 7
 8   $monObjet = new B;
 9
10   if ($monObjet instanceof iA)
11       echo 'Vrai';
12   else
13       echo 'Faux';
14 ?>

                 Vrai

                 Faux

                 Une erreur




Une fois qu'une classe a été définie, combien est-il possible de créer d'objets basés sur cette classe
?


                 0

                 1

                 2

                 Une infinité

Qu'est-ce qu'on ne trouve pas à l'intérieur d'une classe ?
Des variables

                Des fichiers

                Des fonctions

Lequel de ces éléments correspond à un objet ?


Code : PHP - Sélectionner

1    <?php
2    $jerry = new Souris();
3    ?>

                $jerry

                new

                Souris

Laquelle de ces fonctions est une fonction dite "magique" ?


                --get

                __destruct

                ./construct

Quand est appelé le constructeur d'une classe ?


                Lorsqu'on crée un nouvel objet

                Lorsqu'on modifie un objet

                Lorsqu'on supprime un objet

Laquelle de ces phrases ne respecte pas le principe d'encapsulation ?


                Certaines fonctions membres sont privées ou protégées

                Toutes les variables membres sont protégées

                Certaines variables membres sont publiques

Laquelle de ces phrases correspondrait vraiment à un héritage ?


                Table hérite de Meuble

                Meuble hérite de Tabouret

                Chaise hérite de Table
test doc

Mais conteúdo relacionado

Mais procurados

Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflectionEric Toguem
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage CAbdoulaye Dieng
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIJihenHedhli1
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
Eléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIEléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIJihenHedhli1
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objetsAbdoulaye Dieng
 
Formation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetFormation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetkemenaran
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)Mahfoud EL HOUDAIGUI
 

Mais procurados (20)

Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflection
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Chap2fonctionscpp
Chap2fonctionscppChap2fonctionscpp
Chap2fonctionscpp
 
POO
POOPOO
POO
 
Les fondamentaux du langage C
Les fondamentaux du langage CLes fondamentaux du langage C
Les fondamentaux du langage C
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
 
Héritage et redéfinition de méthode
Héritage et redéfinition de méthodeHéritage et redéfinition de méthode
Héritage et redéfinition de méthode
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Tests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnitTests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnit
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Eléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLIEléments syntaxiques du langage java-Jihen HEDHLI
Eléments syntaxiques du langage java-Jihen HEDHLI
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Formation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetFormation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objet
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)
 

Destaque

Destination audit jersey destination audit
Destination audit   jersey destination auditDestination audit   jersey destination audit
Destination audit jersey destination auditcalvinmanboy
 
Le fonctionnement d'une mémoire
Le fonctionnement d'une mémoireLe fonctionnement d'une mémoire
Le fonctionnement d'une mémoireOndernemersschool
 
L’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 mai
L’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 maiL’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 mai
L’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 maiacsmmtl
 
Alimentation en-courant-continu
Alimentation en-courant-continuAlimentation en-courant-continu
Alimentation en-courant-continuOndernemersschool
 
Powerpoint chapitre 6, dossier 1
Powerpoint  chapitre 6, dossier 1Powerpoint  chapitre 6, dossier 1
Powerpoint chapitre 6, dossier 1rachelle4578
 
Plaquette formation 2013
Plaquette formation 2013Plaquette formation 2013
Plaquette formation 2013SERENALISGroupe
 
Presentation on well point system
Presentation on well point systemPresentation on well point system
Presentation on well point systemAnshuman Tyagi
 
Thermal Power Plant Basic to Knowledge
Thermal Power Plant Basic to KnowledgeThermal Power Plant Basic to Knowledge
Thermal Power Plant Basic to KnowledgeAnshuman Tyagi
 

Destaque (9)

Destination audit jersey destination audit
Destination audit   jersey destination auditDestination audit   jersey destination audit
Destination audit jersey destination audit
 
Le fonctionnement d'une mémoire
Le fonctionnement d'une mémoireLe fonctionnement d'une mémoire
Le fonctionnement d'une mémoire
 
L’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 mai
L’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 maiL’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 mai
L’épreuve dépressive et le monde du travail - Marcelo Otero - ACSM 4 mai
 
Alimentation en-courant-continu
Alimentation en-courant-continuAlimentation en-courant-continu
Alimentation en-courant-continu
 
Powerpoint chapitre 6, dossier 1
Powerpoint  chapitre 6, dossier 1Powerpoint  chapitre 6, dossier 1
Powerpoint chapitre 6, dossier 1
 
Diaporama Kif-Days 2012
Diaporama Kif-Days 2012Diaporama Kif-Days 2012
Diaporama Kif-Days 2012
 
Plaquette formation 2013
Plaquette formation 2013Plaquette formation 2013
Plaquette formation 2013
 
Presentation on well point system
Presentation on well point systemPresentation on well point system
Presentation on well point system
 
Thermal Power Plant Basic to Knowledge
Thermal Power Plant Basic to KnowledgeThermal Power Plant Basic to Knowledge
Thermal Power Plant Basic to Knowledge
 

Semelhante a test doc

PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3Eddy RICHARD
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partiekadzaki
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logiciellecyrilgandon
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
Les principes de base de PHP
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP EL JAOUARI Ahmed
 
Comment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguerComment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguerDamien Seguy
 
Traits : de la théorie à la pratique
Traits : de la théorie à la pratiqueTraits : de la théorie à la pratique
Traits : de la théorie à la pratiqueFrederic Hardy
 
Cours php -partie 1.pdf
Cours php -partie 1.pdfCours php -partie 1.pdf
Cours php -partie 1.pdfssuserc46a93
 
Cours Programmation web en PHP Cours Programmation web en PHP
Cours Programmation web en PHP Cours Programmation web en PHPCours Programmation web en PHP Cours Programmation web en PHP
Cours Programmation web en PHP Cours Programmation web en PHPBassim ELKHATTABY
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !Paris Salesforce Developer Group
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web5pidou
 

Semelhante a test doc (20)

PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3
 
Cours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partieCours php & Mysql - 5éme partie
Cours php & Mysql - 5éme partie
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
 
Cours php
Cours php Cours php
Cours php
 
Php1
Php1Php1
Php1
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 
Les principes de base de PHP
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP
 
Php cours
Php coursPhp cours
Php cours
 
POO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdfPOO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdf
 
Comment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguerComment relire du code pourri sans se fatiguer
Comment relire du code pourri sans se fatiguer
 
Traits : de la théorie à la pratique
Traits : de la théorie à la pratiqueTraits : de la théorie à la pratique
Traits : de la théorie à la pratique
 
Cours php -partie 1.pdf
Cours php -partie 1.pdfCours php -partie 1.pdf
Cours php -partie 1.pdf
 
Cours Programmation web en PHP Cours Programmation web en PHP
Cours Programmation web en PHP Cours Programmation web en PHPCours Programmation web en PHP Cours Programmation web en PHP
Cours Programmation web en PHP Cours Programmation web en PHP
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
 
Nouveautés php 7
Nouveautés php 7Nouveautés php 7
Nouveautés php 7
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
PHP.pptx
PHP.pptxPHP.pptx
PHP.pptx
 
De legacy à symfony
De legacy à symfonyDe legacy à symfony
De legacy à symfony
 

Mais de kottiVididev

Mais de kottiVididev (9)

gfghgj
gfghgjgfghgj
gfghgj
 
ggg
gggggg
ggg
 
test
testtest
test
 
test doc
test doctest doc
test doc
 
aaa
aaaaaa
aaa
 
SWEEP-Net - May 2012 - Marrakech Declaration
SWEEP-Net - May 2012 - Marrakech DeclarationSWEEP-Net - May 2012 - Marrakech Declaration
SWEEP-Net - May 2012 - Marrakech Declaration
 
CV doc
CV docCV doc
CV doc
 
forum agenda
forum agendaforum agenda
forum agenda
 
SWEEP-Net Forum Agenda
SWEEP-Net Forum AgendaSWEEP-Net Forum Agenda
SWEEP-Net Forum Agenda
 

test doc

  • 1. Comment appelle-t-on une variable dans une classe ? Et une fonction ? Une variable est une méthode et une fonction est un attribut Une variable est un attribut et une fonction est une méthode Quelle est la différence entre classe et objet ? Une classe est un ensemble de fonctions et variables et un objet est une instance de cette classe Un objet est un ensemble de fonctions et variables et une classe est une instance de cet objet Par quel mot-clé déclare-t-on une classe ? classe class object objet Qu'est-ce qui ne va pas dans ce code ? Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private $texte; 5 6 public function changerTexte ($nouveauTexte) 7 { 8 $this->texte = $nouveauTexte; 9 } 10 11 public function afficherTexte() 12 { 13 echo $this->$texte; 14 } 15 } 16 ?> Il manque un $ juste avant "texte" à la ligne 8 Il y a un $ en trop juste avant "texte" à la ligne 13
  • 2. Tout est bien Ce code est correct, mais ne doit jamais être créé. Pourquoi ? Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 public $attribut = 'Hello world !'; 5 6 public function afficherAttribut() 7 { 8 echo $this->attribut; 9 } 10 } 11 ?> L'attribut est public, il devrait être privé La méthode est publique, elle devrait être privée L'attribut et la méthode sont publiques, ils devraient être privés Tout semble bon Le code suivant est-il bon ? Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private $attribut; 5 6 public function changerAttribut (int $valeur) 7 { 8 $this->attribut = $valeur; 9 } 10 } 11 ?> Oui Non J'ai une erreur fatale, pourquoi ? Code : PHP - Sélectionner 1 <?php
  • 3. 2 class MaClasse 3 { 4 private $attribut; 5 6 public function __construct() 7 { 8 $this->attribut = 'Hello world !'; 9 } 10 } 11 12 $objet = new MaClasse(); 13 14 $objet->attribut = 'Bonjour tout le monde !'; 15 ?> Ligne 8 : tu accèdes à un attribut privé depuis l'intérieur de la classe Ligne 14 : tu accèdes à un attribut privé depuis l'extérieur de l'objet créé Laquelle de ces déclarations de constantes est correcte ? constant $MA_CONSTANTE = 1; const $MA_CONSTANTE = 1; constant MA_CONSTANTE = 1; const MA_CONSTANTE = 1; Quelle est l'erreur dans ce code ? Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 public function methode() 5 { 6 echo 'Hello world !'; 7 } 8 } 9 10 MaClasse::methode(); 11 ?>
  • 4. Il n'y a pas d'attribut dans la classe La méthode "methode" n'a pas été déclarée avec le mot-clé "static" Il n'y en a pas Une autre erreur s'est glissée dans ce code légèrement modifié non ? Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private static $texte; 5 6 public function __construct ($texte) 7 { 8 self::texte = $texte; 9 } 10 11 public static function afficherTexte() 12 { 13 echo self::texte; 14 } 15 } 16 ?> Ligne 8 et 13 : il faut utiliser $this-> et pas self:: Lignes 8 et 13 : il manque un $ avant le nom de l'attribut Non, tout est correct Qu'affichera le code suivant à l'écran ? Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 private $attribut = 'Hello'; 5 6 public function getAttribut() 7 { 8 return $this->attribut; 9 } 10 11 public function setAttribut ($valeur)
  • 5. 12 { 13 $this->attribut = $valeur; 14 } 15 } 16 17 $a = new MaClasse; 18 $b = $a; 19 $c = $b; 20 21 $c->setAttribut ('Salut'); 22 23 echo $a->getAttribut(); 24 ?> "Hello" "Salut" Rien Quel(s) opérateur(s) de comparaison vérifie(nt) si les deux objets comparés sont des instances de la même classe ? L'opérateur == L'opérateur === Les deux Quels sont les types d'attributs que ce code affichera ? Code : PHP - Sélectionner 1 <?php 2 class Mere 3 { 4 public $attributPublic = 'Attribut public'; 5 protected $attributProtege = 'Attribut protégé'; 6 private $attributPrive = 'Attribut privé'; 7 8 public function listeAttributs() 9 { 10 foreach ($this as $valeur) 11 echo $valeur . '<br />'; 12 } 13 } 14 15 class Enfant extends Mere 16 { 17 18 } 19
  • 6. 20 $objet = new Enfant; 21 $objet->listeAttributs(); 22 ?> Les attributs publics Les attributs publics et protégés Les attributs publics, protégés et privés Qu'est-ce qu'une interface ? Une classe complètement abstraite Une application Ce code est-il fonctionnel ? Code : PHP - Sélectionner 1 <?php 2 interface A 3 { 4 public function test(); 5 } 6 7 class A implements A 8 { 9 public function test() 10 { 11 12 } 13 } 14 ?> Oui Non Et celui-ci, fonctionnera-t-il ? Code : PHP - Sélectionner 1 <?php 2 interface iA 3 { 4 protected function test1();
  • 7. 5 abstract public function test2(); 6 } 7 8 class A implements iA 9 { 10 protected function test1() 11 { 12 13 } 14 15 abstract public function test2(); 16 } 17 ?> Oui Non, l'interface comporte une méthode protégée Non, l'interface comporte une méthode abstraite Non, pour les deux raisons ci-dessus Une interface héritant d'une autre peut-elle écraser ses méthodes ? Et ses constantes ? Oui Elle ne peut écraser les méthodes Elle ne peut écraser les constantes Elle ne peut écraser ni les méthodes, ni les constantes Quelle interface hérite de Iterator ? SeekableIterator ArrayAccess Countable Quelle est la classe de base pour créer une exception ? Exception ErrorException Quel type d'erreur est lancé lorsqu'on n'intercepte pas une exception ? Une erreur d'analyse
  • 8. Une erreur fatale Une alerte Une notice Sur les trois paramètres demandés par le constructeur de la classe Exception, combien sont obligatoires ? aucun 1 2 3 Quelles sont les deux méthodes que je peux réécrire si j'hérite de la classe Exception ? getMessage() et getCode() getFile() et getLine() __construct() et __toString() Quelle fonction permet d'enregistrer une autre fonction en callback qui sera appelée à chaque fois qu'une telle erreur est rencontrée ? set_error_function set_error_callback set_error_handler Si j'exécute ce code, qu'est-ce qui s'affichera à l'écran ? Code : PHP - Sélectionner 1 <?php 2 function additionner ($a, $b) 3 { 4 if (!is_numeric ($a) OR !is_numeric ($b)) 5 throw new Exception ('Les deux paramètres doivent être des nombres'); 6 7 return $a + $b; 8 } 9 10 try // On va essayer d'effectuer les instructions situées dans ce bloc 11 { 12 echo additionner (12, 3); 13 echo additionner ('azerty', 54); 14 echo additionner (4, 8); 15 } 16
  • 9. 17 catch (Exception $e) // On va attraper les exceptions "Exception" s'il y en a une qui est levée 18 { 19 echo 'Exception lancée. Message : ' . $e->getMessage(); 20 } 21 ?> Exception lancée. Message : Les deux paramètres doivent être des nombres 15Exception lancée. Message : Les deux paramètres doivent être des nombres 15Exception lancée. Message : Les deux paramètres doivent être des nombres12 Quelle classe nous permettra d'obtenir des informations concernant d'autres classes ? AboutClass ReflectionClass ClassReflection Quelle méthode de la classe évoquée en première question permet de savoir si notre classe est la fille de telle autre classe ? isChild() isSubclass() isSubclassOf() Quelle classe nous permet d'obtenir des informations à propos des attributs d'une autre classe ? ReflectionAttribute ReflectionProperty Est-il possible, grâce à cette classe, de pouvoir modifier les attributs privés de nos objets ? Oui Non Quelle classe permet d'obtenir des informations à propos des méthodes de nos classes ? ReflectionMethod ReflectionFunction Que m'affichera ce code ?
  • 10. Code : PHP - Sélectionner 1 <?php 2 class MaClasse 3 { 4 public function MaClasse() 5 { 6 echo 'Hello world !'; 7 } 8 } 9 10 $methode = new ReflectionMethod('MaClasse', 'MaClasse'); 11 12 if ($methode->isConstructor()) 13 echo 'Constructeur'; 14 else 15 echo 'Non constructeur'; 16 ?> « Constructeur » « Non constructeur » Le code plantera Que vérifie l'opérateur instanceof ? Que tel objet instancie telle classe Que tel objet instancie une classe fille de telle classe Que tel objet implémente telle interface Que tel objet implémente une interface fille de telle interface Tous ces points Qu'est-ce qui s'affichera à l'écran lors de l'exécution de ce code ? Code : PHP - Sélectionner 1 <?php 2 class A { } 3 class B { } 4 5 $a = new A; 6 7 if ($a instanceof 'A')
  • 11. 8 echo 'Vrai'; 9 else 10 echo 'Faux'; 11 ?> Vrai Faux Une erreur Qu'est-ce qui s'affichera à l'écran lors de l'exécution de ce code ? Code : PHP - Sélectionner 1 <?php 2 interface iA { } 3 interface iB extends iA { } 4 5 class A implements iB { } 6 class B extends A { } 7 8 $monObjet = new B; 9 10 if ($monObjet instanceof iA) 11 echo 'Vrai'; 12 else 13 echo 'Faux'; 14 ?> Vrai Faux Une erreur Une fois qu'une classe a été définie, combien est-il possible de créer d'objets basés sur cette classe ? 0 1 2 Une infinité Qu'est-ce qu'on ne trouve pas à l'intérieur d'une classe ?
  • 12. Des variables Des fichiers Des fonctions Lequel de ces éléments correspond à un objet ? Code : PHP - Sélectionner 1 <?php 2 $jerry = new Souris(); 3 ?> $jerry new Souris Laquelle de ces fonctions est une fonction dite "magique" ? --get __destruct ./construct Quand est appelé le constructeur d'une classe ? Lorsqu'on crée un nouvel objet Lorsqu'on modifie un objet Lorsqu'on supprime un objet Laquelle de ces phrases ne respecte pas le principe d'encapsulation ? Certaines fonctions membres sont privées ou protégées Toutes les variables membres sont protégées Certaines variables membres sont publiques Laquelle de ces phrases correspondrait vraiment à un héritage ? Table hérite de Meuble Meuble hérite de Tabouret Chaise hérite de Table