J'apprends actuellement php, et je suis en train de tester oop et classes.Appels multiples à la fonction - Impossible de redéclasser classe - php
Mon code est:
<?php
require('user.php');
$user = new User($username);
$projects = $user->getProjects();
for ($n = 0; $n<count($projects); $n++) {
echo "<li>";
echo "<a id=\"menu_pages\" href=\"\"><img src=\"../images/types/project.png\"/>" . $projects[$n]->name . "</a>";
echo "<ul>";
$items = $user->getItems($n);
for ($i = 0; $i<count($items); $i++) {
echo "<li><a href=\"../\"><img src=\"../images/types/" . $items[$i]->type . ".png\"/>" . $items[$i]->name . "</a></li>";
}
echo "</ul>";
echo "</li>";
}
?>
et j'obtiens l'erreur: Erreur fatale: Impossible redéclarer classe article en /home/ios/public_html/classes/item.php sur la ligne 2
Je trouve que son parce que je utilise
$items = $user->getItems($n);
dans une boucle. Parce que si je le change en
$items = $user->getItems(1);
cela fonctionne. Je ne peux pas vraiment comprendre de toute façon de contourner l'erreur.
Aidez s'il vous plaît :)
Merci d'avance.
Les méthodes:
function getItems($parent,$type = NULL) {
$items = array();
$username = $this->uname;
$userid = $this->getId($username);
include('classes/config.php');
if ($type != NULL) {
}
require_once('classes/item.php');
foreach ($pdo->query($sql) as $row) {
$instance = new Item();
$instance->name = $row['name'];
$instance->id = $row['id'];
$instance->type = $row['type'];
$instance->parent_id = $row['parent_id'];
$items[] = $instance;
unset($instance);
}
function getProjects() {
$projects = array();
$username = $this->uname;
$userid = $this->getId($username);
include('classes/config.php');
require_once('classes/project.php');
foreach ($pdo->query($sql) as $row) {
$proj = new Project();
$proj->name = $row['name'];
$proj->id = $row['id'];
$projects[] = $proj;
unset($proj);
}
return $projects;
}
modifier:
son ne fonctionne toujours pas avec le changer. Le code passe sans erreurs, mais maintenant ce qui devrait être sous le premier est sous le second et le premier est vide. Voir des problèmes dans ma logique?
a modifié cette publication . Cela ne fonctionne toujours pas avec le changement. Le code passe sans erreurs, mais maintenant ce qui devrait être sous le premier est sous le second et le premier est vide. Voir des problèmes dans ma logique? – willium
Je ne sais pas ce que 'first' et' second' est mais voir la réponse éditée - J'ai corrigé votre 'getItems()' méthode, peut-être maintenant ça va fonctionner comme prévu –
J'ai ajouté vos modifications. J'obtiens une erreur Parse: erreur de syntaxe, inattendue ';', attendant T_FUNCTION dans /home/ios/public_html/classes/user.php sur la ligne 89 (dernière ligne de la classe qui est:?>) – willium