web-dev-qa-db-fra.com

ABSPATH ou __FILE__?

Quelqu'un peut-il me dire si l'une ou l'autre de ces méthodes présente un avantage sur l'autre et pourquoi?

$mydir = ABSPATH.'/wp-content/themes/mytheme/images';

$mydir = dirname(__FILE__).'/images';

Ils peuvent tous deux être utilisés pour obtenir un chemin absolu vers le répertoire images de "mytheme", quelle que soit la structure de Wordpress installée sur le répertoire racine ou dans un sous-répertoire de la racine. Dans les deux cas, ils sont appelés à partir du fichier functions.php situé dans le dossier "mytheme".

16
Scott B

Personnellement, je préférerais dirname() car il est toujours garanti que le résultat sera correct, alors que la méthode ABSPATH repose sur un chemin et un nom de thème fixes qui peuvent tous deux changer.

En passant, vous pouvez utiliser __DIR__ au lieu de dirname(__FILE__).

17
Pekka 웃
10
Adam

Je choisirais dirname(__FILE__) pour mes propres projets. Il existe également une nouvelle constante en PHP:

__DIR__ === dirname(__FILE__)
2
Alix Axel

ABSPATH est défini variable -> définir ("ABSPATH", __FILE__); Si j'utilise directement la constante magique __FILE__ .il produira le même résultat. 

Dans CMS, ABSPATH et l'utilisation de framework, BASEPATH est utilisé pour obtenir des informations sur la racine sous forme de variable définie. Finalement, avec l'aide des deux, nous obtenons le même résultat précis.

0
ravs21292