Maison >développement back-end >tutoriel php >Comment résoudre les problèmes d'indications de code éloquentes dans Laravel ?

Comment résoudre les problèmes d'indications de code éloquentes dans Laravel ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-22 11:47:03399parcourir

How to Fix Eloquent Code Hinting Issues in Laravel?

Indice de code ORM éloquent

Dans Laravel, les modèles Eloquent fournissent une interface expressive pour interagir avec la base de données. Cependant, certains appels de méthode peuvent ne pas apparaître dans les indications de code de PhpStorm.

Problème du générateur de requêtes

Par exemple, lors de l'utilisation de la méthode User::query(), qui renvoie un objet Eloquent Builder, la complétion du code pour des méthodes comme orderBy() peut être manquante.

Solution : Laravel IDE Helper

Pour résoudre ce problème, installez laravel-ide -package d'aide. Ce package fournit des métadonnées PHP Documentor pour les modèles Laravel.

Génération de la documentation du modèle

Exécutez la commande php artisan ide-helper:models pour générer un fichier PHP séparé avec PHP Documentor annotations pour chaque modèle. Alternativement, vous pouvez écrire les annotations directement dans les fichiers du modèle en utilisant php artisan ide-helper:models -W.

Exemple

La documentation générée pour le modèle utilisateur sera ressemblent à :

namespace App {
/**
 * App\Post
 *
 * @property integer $id
 * @property integer $author_id
 * @property string $title
 * @property string $text
 * @property \Carbon\Carbon $created_at
 * @property \Carbon\Carbon $updated_at
 * @property-read \User $author
 * @property-read \Illuminate\Database\Eloquent\Collection|\Comment[] $comments
 */
class Post {}
}

Intégration avec PhpStorm

Une fois la documentation générée, PhpStorm chargera automatiquement les annotations et fournira une complétion de code précise pour les méthodes Eloquent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn