Comment inclure une lame de modèle seulement si il existe?

Comment @inclure une lame de modèle seulement si elle existe ?
Je pourrais faire quelque chose comme ça :

@if (File::exists('great/path/to/blade/template.blade.php'))
   @include('path.to.blade.template')
@endif

Mais ce n'est pas vraiment élégant et efficace.

Je pourrais l'inclure, sans s'états, catch & masquer les erreurs si le fichier n'est pas ici, mais qui est un peu sale, si ce n'est de la barbarie.

Ce qui serait génial c'est quelque chose comme ça :

@includeifexists('path.to.blade.template')

(pseudo-code, mais cette lame de commande n'existe pas)

Vous pourriez certainement étendre la Lame en ajoutant une fonction personnalisée pour masquer la if déclarations, mais je suppose que c'est seulement valable si vous avez beaucoup de ces cas à l'utiliser.
Je me demandais simplement pourquoi voudriez-vous d'inclure quelque chose qui n'existe pas ou ce qui pourrait être le scénario que vous essayez de résoudre?
J'ai des centaines de page, avec la même structure. Certains ont des partiels fichiers. - Je inclure seulement partielle pour les pages qui en ont besoin. Je pourrais utiliser deux modèles : l'un qui une directive d'inclusion pour les pages qui en ont besoin, et l'autre sans. Mais la logique est plus simple dans la première voie.
Avertissement : utilisez Uniquement l'décrit chose si vous avez absolument besoin. Deux inconvénients à ce sujet : tout d'abord, comme il n'est pas une approche standard, vos collègues vont se confondre dans la première place - ce qui n'est pas conforme avec KISS principes. Deuxièmement, je pense que ce sera un peu plus lentement pages, comme PHP, vérifier si un fichier existe pas à l'inclure (je suppose).

OriginalL'auteur Cedric | 2015-08-19