2009-07-28 23 views
7

Prima di tutto, ammetto che sono anale per queste cose. (Male, male, io.) Tuttavia, mi chiedo solo cosa sia considerata la migliore pratica in termini di denominazione dei file PHP inclusi.PHP include le migliori pratiche sull'estensione file

Come un caso base ho intenzione di mantenere .php come la finale estensione (per aiutare a prevenire i file non-analizzati essendo inverosimile), ma per aiutare a distinguere tra un file front-end e un file di inclusione Sono o sta per:

  1. Nome tutte i file includere XXX.inc.php

  2. nome generico (non classe) i file di cui sopra e le definizioni di classe come ClassName.class.php (potenzialmente a portata di mano per l'utilizzo del caricatore automatico lungo la linea, anche se non lo sono un grande fan di caricatori automatici.)

Attualmente sto volumizzante per l'opzione 2, ma mi chiedo solo se ci sono altri suggerimenti o piccoli consigli ti sentiresti di raccomandare.

risposta

7

Prima di tutto, sono totalmente d'accordo con te quando dici che tutti i file PHP dovrebbero avere ".php" come estensione finale; due ragioni per questo:

  • come lei ha affermato, aiuta a prevenire i file non-analizzati essendo inverosimile
  • Aiuta anche con IDE/editor che fanno sintassi colorazione in base a nome del file: non si deve configurare per considerare ".inc" come un file PHP.

In alcuni casi, tuttavia, devo fare diversamente; il motivo principale è quando sto usando uno strumento (CMS, Framerwork, library, ...) che ha alcune regole sulla denominazione dei file: tendo a seguirli, anche se non mi piacciono.

Per esempio:

  • Con Drupal, io uso ".inc", ".module", ".install", ...
  • Con Zend Framework, io uso ".phtml" per visualizza script (HTML + PHP)

Per i file che contengono classi, non mi piace ".class.php": Penso che sia un po 'ridondante; Tendo ad usare "MyClassName.php", e uso questo per il caricamento automatico.
(A proposito, questo è quello che framework come Zend Framework o ORM Doctrine raccomandare)

Come sidenote: tu dici che non sei un grande fan di caricatori automatici; perché ?
Io uso quelli da quanto mi è possibile:

  • generalmente migliore per le prestazioni: solo il codice che realmente utilizzano viene caricato/analizzato
  • meno codice da scrivere (non require/include)
+0

Generalmente non sono un fan degli autocaricatori in quanto non sono espliciti come quelli manuali. (Nella mia mente è in qualche modo equivalente alla dichiarazione esplicativa di una variabile.) Detto questo, mi rendo conto che è il modo in cui stanno andando le cose e che il sovraccarico di risorse è in gran parte irrilevante al giorno d'oggi. –

+0

Siamo d'accordo su una cosa: non è esplicito come include manuale :-) (Almeno, quando i nomi di classe sono noti al momento della scrittura del codice) –

+0

Mi rendo conto che questo è un vecchio post, ma cosa fai ora che ci sono Interfacce e Tratti, dal momento che nel tuo file 'ClassName.php',' InterfaceName.php' e 'TraitName.php' sembreranno tutti identici con i nomi reali in atto. –

6

Io uso ClassName.class.php per i file di classe e SomeDescription.lib.php per i file non di classe.

Non è un ventilatore di .inc.php. Sembra in qualche modo sbagliato descrivere il file in termini di come potrebbe essere importato, invece del suo contenuto.

+0

Normalmente utilizzo i file '.inc' per HTML statico che verrà incluso. Quindi, 'login.inc' –

+1

Se guardi i molti framework là fuori, se hai una cartella per le tue classi, non c'è bisogno di mettere un .class.php lì. D'altra parte, se hai solo una cartella "app" con tutti i tuoi file, allora forse, ma dirò semplicemente di ripensare la struttura delle cartelle. – Garrett

+1

Come l'idea di .lib.php e totalmente d'accordo con la logica alla base dell'uso di XXX.inc.php - questo è probabilmente il motivo per cui non mi sembra "giusto" per me. –

Problemi correlati