CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide pour les array en PHP POO

Pflimlin
Pflimlin
Niveau 9
01 janvier 2013 à 18:17:33

Bonjour,

j'aurais besoin de certains éclaircissement par rapport aux array en php.

Premièrement j'aimerais savoir comment créer une classe en poo qui utilisera des fonctions dotées de méthodes comportant des arrays comme attributs, puis l'instancier en dehors de la page et afficher les arguments que l'on veut qui sont dans l'array. par exemple :
$attribut = new Class
$attribut->methode['string' ou int] (pour récupérer une valeur dans l'array, je sais pas si la syntaxe est bonne j'en doute mais c'est a peu près ce que je cherche à faire donc c'est à corriger).

deuxièmement, je comprend pas bien la syntaxe ni la façon de faire. Si j'instancie une classe par exemple et que j'appelle un array, puis-je faire array($attribut) ou je dois impérativement faire array('string'). Est-ce aussi possible de faire stocker array() dans une variable $array et de faire un $array = $key => $value ?

et troisièmement, quand on fait par exemple array('string' => $attribut->methode('string') ),comme argument d'une instance d'une classe tierce (new \...\Class), que représente la chaîne de caractère ? est-elle nommée indépendamment de la classe dans laquelle elle est instanciée où alors cela représente un élément de cette classe ? (fonction ? methode ? attribut ? ) Parce que c'est en chaine de caractère et il n'y a pas d'extension ou de signe distinctifs comme $ ou () mais par contre cette valeur entre les '' porte souvent les mêmes noms que certains attributs, fonctions, methodes ou même attributs(html). Est-elle donc passé dans l'array en tant qu’élément d'une classe ou en tant qu'élement d'un code html ou encore pour une requete sql ? ou alors n'est-ce qu'une chaîne de caractère quelconque qui est juste créer volontairement, indépendamment de autres classes php ?

merci.

J'ai vraiment besoin d'une réponse détaillée parce que les arrays me gênent beaucoup dans mon apprentissage php et j'ai toujours pas assimilé cette notion.

Pflimlin
Pflimlin
Niveau 9
02 janvier 2013 à 09:05:36

Merci beaucoup,

t'as répondu à pas mal de questions que je me posais , tu m'as appris pas mal de choses aussi.

Je ne savais pas par exemple qu'on ne pouvais pas faire un $class->methode[...]

en fait si je veux afficher l'élément [0] ou [1] ou [2] etc. de l'array je dois faire un foreach si j'ai bien compris ?

et au fait, est-ce qu'on peut faire un $class->__construct(...) :question:

Pour le troisième point, c'est juste que je suis un cours de POO et il y a un moment où dans le cours, il y a :

$comment = new \Library\Entities\Comment(array(
'news' => $request->getData('news'),
'auteur' => $request->postData('pseudo'),
'contenu' => $request->postData('contenu')

or , les fonctions getData et postData (se trouvant dans une classe HTTPRequest) sont composé de cette manière :

public function getData($key)
{
return isset($_GET[$key]) ? $_GET[$key] : null;
}

public function postData($key)
{
return isset($_POST[$key]) ? $_POST[$key]: null;
}

de plus une methode isValid doit rediriger vers ce lien :

$this->app->httpResponse()->redirect('news-'.$requ
est->getData('news').'.html');

Or dans mon fichier de configuration route.xml <route url="news-([0-9]+)\.html" module="News" action="show" vars="id" /> Aucun attribut ne se nomme news mais juste le nom du module.

Ainsi je ne comprend pas ce qu'ira chercher le $_GET['news'] de la methode getData('news') . :(

Je connais les methode $_GET['id'] car il y a souvent des attributs dans les codes html qui se nomment id="" . Mais par contre si j'ai bien compris le principe, dans mon code aucun attributs (en html) ne se nomment news et c'est juste la valeur du module qui se nomme "News" et aussi un attribut $news dans la classe Comment.

il y a aussi une methode setNews dans la class Comment :

public function setNews($news)
{
$this->news = (int)$news;
}

Mais je comprends pas comment l'url suivante est construite avec (int)$news : $this->app->httpResponse()->redirect('news-'.$requ
est->getData('news').'.html');

Comment (int)$news remplace le([0-9]+) dans la route :

<route url="news-([0-9]+)\.html" module="News" action="show" vars="id" /> :question:

:merci:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment