le seuls cas où l'on peut, dans une classe A, utilisé directement les attributs ou les méthodes d'une autre classe B c'est quand il y a héritage.Dans tous les autres cas il faut passer par l'instanciation (sauf cas des méthodes ou variables static).Les deux class sont lier entre elle, je peux donc logiquement utilisé mes variables dans mon autre class simplement comme si c'était une seule et unique class suivant comment elles sont protégé ?
Je débute un peut avec les class...
<?php
class header
{
function header()
{
$this->path_root_local = '/var/www/admins/dev/documents/class/';
}
}
// ---------- ----------
class date_extends extends header
{
function test()
{
return $this->path_root_local;
}
}
$date_extends = new date_extends();
echo $date_extends->test();
?>
Mais dans mon code, j'ai cette erreur: Fatal error: Using $this when not in object context in /var/www/admins/dev/documents/class/class_menu_extends.php on line 10
Tu peux être plus clair ? Je suis pas sur d'avoir comprit.sans parler du fait que la poo à la php4 style c'est pas top
il faut appeler le constructeur du parent implicitement => http://www.php.net/manual/fr/language.oop5.decon.php![]()
tu as aussi "oublié" de créer la propriété path_root_local dans la classe mère
on parle de méthode et pas de fonction
@+
<?php
class header {
protected $path_root_local;
function __construct() {
$this->path_root_local = '/var/www/admins/dev/documents/class/';
}
}
class date_extends extends header {
function __construct() {
parent::__construct();
}
function test() {
return $this->path_root_local;
}
}
$date_extends = new date_extends();
echo $date_extends->test();
@+<!-- CSS personnalisé -->
<!-- Le CSS `erreur` est inconnue -->
<link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_pagination.css?aleatoire=haut&fontsize=15&unit=px" type="text/css" media="screen"/>
<link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_pagination.css?aleatoire=milieux&fontsize=30&unit=px" type="text/css" media="screen"/>
<link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_pagination.css?aleatoire=bas&fontsize=50&unit=px" type="text/css" media="screen"/>
<link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_progressbar.css?width=250&height=20&unitwidth=px&unitheight=px" type="text/css" media="screen"/>
<!-- Fin CSS personnalisé -->
Le but était d'avoir un fichier css unique que je peut modifier dynamiquement pour être réutilisé sur la même page simplement.
Bah ce sont des tutoriaux qui datent d'il y a dix ans.Donc depuis 10ans on doit utilisé ta technique ? Par que ce moi j'ai fait comme dans les tuto^^.
Non ce sont deux instances de l'objet différentes. Seule une instance de class fille a accès aux composants de sa class mère.Est ce que je peux utilisé des variables d'une autre class: si par exemple j'ai une class 1 et une class 1.1 et 1.2 extends de 1.
Une variable de la class 1.1 pourra être utilisé dans la class 1.2 ? Ou ça sera seulement de la 1 vers 1.1 et 1.2 ?
Cela ne pose aucun souci, leur résultat sera mis en cache comme un fichier css statique.Sinon, j'aimerais savoir si la génération de CSS dynamique est une bonne idée ? En gros je passe en paramètre des variables qui modifie mon fichier php qui contient le css qui grace a l'URL Rewrite est renommé en css^^, ce qui donne:
Le but était d'avoir un fichier css unique que je peut modifier dynamiquement pour être réutilisé sur la même page simplement.<!-- CSS personnalisé --> <!-- Le CSS `erreur` est inconnue --> <link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_pagination.css?aleatoire=haut&fontsize=15&unit=px" type="text/css" media="screen"/> <link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_pagination.css?aleatoire=milieux&fontsize=30&unit=px" type="text/css" media="screen"/> <link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_pagination.css?aleatoire=bas&fontsize=50&unit=px" type="text/css" media="screen"/> <link rel="stylesheet" href="http://domaine.fr/admins/dev/documents/class/css/style_progressbar.css?width=250&height=20&unitwidth=px&unitheight=px" type="text/css" media="screen"/> <!-- Fin CSS personnalisé -->