Bonjour

Dans une class j'ai un méthode toto

Est ce que je dois obligatoirement la déclarer static ?

Si je l'appelle depuis une autre fonction de la class dois-je l'appeller

ou
ou
En local les 3 semblent marcher parfaitement bien mais chez mon hebergeur self::toto() ou $this::toto semble provoquer une erreur interne (500) !

(je n'ai pas déclaré la fonction static)


ex

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
Class Montruc  {
 
 
protected $_champs1;
protected $_champs2;
 
function getChamps1 () {
return $this->$champs1;
}
 
function getChamps2Ameliore () {
 
return self::ameliore($this->_champs2);
}
 
 
function private ameliore($texte) {
return uc($texte);
}
 
}

Est ce que dans cet exemple je DOIS déclarer ameliore en static ?
Est ce que je dois l'appeller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self::ameliore($this->_champs2);
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->ameliore($this->_champs2);
Merci d'avance de m'éclairer