Bonjour,
Je suis en train de suivre les tutoriel de grafikart mais j'ai un problème à un moment dans la vidéo namespace.
Quand je lui dit d'aller chercher le form.php pour l'initialiser il me dit que la classe form est introuvable alors que quand je fait un var_dump j'ai bien form intialiser, donc j'ai regarder encore et encore la vidéo pour comprendre et toujours rien.
Ce que je fais
Fichier Autoloader.php
class Autoloader
{
static function register()
{
spl_autoload_register(array(__CLASS__ , 'autoload')); //__CLASS__ appelle nom de la classe courante
}
static function autoload($Classe)
{
$Classe = str_replace('Tutoriel\\', '', $Classe); // TUtoriel -> nom de la classe
$Classe = str_replace('\\', '/', $Classe);
var_dump($Classe);
require 'Classe/HTML/'. $Classe .".php";
}
}
?>
fichier Form.php
namespace Tutoriel\HTML;
class Form
{
private $data;
public $surround = 'p';
public $srow = 'br /';
public function __construct($data = array())
{
$this ->data = $data;
}
private function surround($html) //permet de creer un tag exemple <p></p>
{
return "<{$this->surround}>$html<{$this->surround}>";
}
private function getValue($index) //methode pour recuperer valeur tapé
{
if(isset($this->data[$index]))
{
return $this->data[$index];
}
else
{
return null;
}
}
public function input($name) //methode input
{
return $this->surround('<input type="text" name="'.$name.'" value="'.$this->getValue($name).'"/>');
}
public function submit() //methode submit
{
return $this->surround('<button type="submit">Envoyer</button>');
}
public function reset()//methode reset
{
return $this ->surround('<button type="reset">Reinitialiser</button>');
}
public function br() //méthode br : <br />
{
return "<{$this->srow}>";
}
}
?>
fichier index.php
<?php
require('Classe/Autoloader.php');
Autoloader::register();
$form = new Form(array(
'username' => 'fff'
));
?>
<form method="post" action="#">
<?php
echo $form ->input('username');
echo $form ->input('password');
echo $form->submit() . $form -> reset();
echo $form->br();
?>
</form>
Ce que je veux
le formulaire
Ce que j'obtiens
Fatal error: Class 'Form' not found in C:\wamp64\www\POO_php_grafikart\autoloading\index.php on line 7