web:php:chap5

Chapitre 5 : PHP Objet

  • $this Référence à l'objet lui-même, celui dans lequel on se trouve
  • $this→member : accès aux membres dans la classe
  • Respect de l'encapsulation (private sur variables, public sur getters/setters)

<?php
namespace models;
class User{

	private $login="";
	private $password="";

	public function getId() {
		return $this->id;
	}

	public function setId($id) {
		$this->id=$id;
		return $this;
	}

	public function getLogin() {
		return $this->login;
	}

	public function setLogin($login) {
		$this->login=$login;
		return $this;
	}

	public function getPassword() {
		return $this->password;
	}
}

  • ne pas oublier d'inclure le fichier de définition de la classe (usage de use).
  • L'opérateur new appelle le constructeur de la classe (constructeur implicite dans ce cas)

use models\User;

	$aUser=new User();

<?php
namespace use models;

class User{

	private $login="";
	private $password="";
	public function __construct($login="",$password=""){
	}
	...

Pas de surcharge, mais paramètres optionnels

<?php
use models\User;

	$user1=new User();
	$user2=new User("fred");
	$user3=new User("fred","azerT1yuiop");

Opérateur →

<?php
use models\User;

	$user=new User("Fred");
	echo $user->getLogin();

Mot clé extends

<?php
class Admin extends User{
 
    ...
}

parent::

<?php
class Admin extends User{
 
    public function __construct(){
        parent::__construct();
        ...
    } 
}

<?php
class Utilitaire{
 
    public static function show($user){
    ...
    }
}

Appel de méthode statique dans la classe

<?php
class Utilitaire{
 
    public function test($user){
    ...self::show($user);
    }
}

Appel de méthode statique en dehors de la classe

<?php
use models\User;

$aUser=new User("fred");
Utilitaire::show($user);

  • web/php/chap5.txt
  • Dernière modification : il y a 6 mois
  • de jcheron