Laravel 5.5 dispose d'une nouvelle fonction de ressources API, et il redirige bien les appels aux attributs de modèle (comme $this->id
). J'utilise ide-helper:models
pour générer des phpdocs pour les modèles qui tapent tous les attributs du modèle. Cependant, cela ne s'applique pas à une ressource et j'obtiens des squigglies "Champ accédé par méthode magique". Existe-t-il un moyen de pointer vers le phpdoc de model sans le copier?Comment activer la saisie semi-automatique pour les ressources Laravel dans PhpStorm?
4
A
Répondre
4
Vous pouvez utiliser le @mixin
est un exemple ici, si vous voulez les propriétés/phpdocs du modèle utilisateur dans votre ressource utilisateur, puis font comme ça
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
/**
* Class User
*
* @mixin \User
* */
class User extends Resource
{
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
}
}
Pourquoi auriez-vous besoin d'obtenir les propriétés d'une ressource dans votre code PHP? Je pense que vous ne comprenez pas à quoi servent les ressources de l'API. Une ressource API est destinée à convertir un modèle en un objet facile à retourner à la réponse HTTP. – PeterBechP
Comment suis-je censé convertir les propriétés sans les obtenir? Ma méthode toArray ressemble à 'return ['id' => $ this-> id, 'name' => $ this-> name];' et je n'ai pas d'auto-complétion sur $ this propriétés – Poma
Ooh désolé. J'ai mal compris votre question alors. J'ai ajouté une réponse. – PeterBechP