Je ne suis pas convaincu que le code soit le meilleur moyen de modéliser des données.
Mais effectivement, si tous tes objets peuvent-être manipulés de façon identique dans l'inventaire, ils devraient faire partie de la même entité de données.
Comme le propose Xenos tu pourras ensuite faire une classe Item, puis pour les bagnoles une classe Voiture qui héritera de la classe Item, puis une classe Lada, etc.
Tu peux également faire des classes différentes mais implémenter une interface Item pour pouvoir être manipulés dans l'inventaire sans hériter d'une classe Item.
Les fonctions use() en PHP sont des fonctions lambda et les variables déclarées dans le use() sont appelées des closures. Par extension, closure désigne aussi les fonction lambda qui contiennent des closures. Mais ça ne te servira pas à grand chose dans ce cas là. De plus tu ne peux pas combiner ça avec les méthodes d'une classe.
Le truc chiant avec ce système c'est que quand tu lis l'inventaire du type, tu te dis, tiens, il a 5 exemplaires de l'objet #45. Et là il te faut aller checher quelque part que l'ID 45 correspond à la classe Lada ...
Comme je le disais il vaut mieux modéliser sur le papier, pas avec du code.
Mais effectivement, si tous tes objets peuvent-être manipulés de façon identique dans l'inventaire, ils devraient faire partie de la même entité de données.
Comme le propose Xenos tu pourras ensuite faire une classe Item, puis pour les bagnoles une classe Voiture qui héritera de la classe Item, puis une classe Lada, etc.
Tu peux également faire des classes différentes mais implémenter une interface Item pour pouvoir être manipulés dans l'inventaire sans hériter d'une classe Item.
Les fonctions use() en PHP sont des fonctions lambda et les variables déclarées dans le use() sont appelées des closures. Par extension, closure désigne aussi les fonction lambda qui contiennent des closures. Mais ça ne te servira pas à grand chose dans ce cas là. De plus tu ne peux pas combiner ça avec les méthodes d'une classe.
Le truc chiant avec ce système c'est que quand tu lis l'inventaire du type, tu te dis, tiens, il a 5 exemplaires de l'objet #45. Et là il te faut aller checher quelque part que l'ID 45 correspond à la classe Lada ...
Comme je le disais il vaut mieux modéliser sur le papier, pas avec du code.