Che cos'è un .inc e perché usarlo?


139

Vedo spesso esempi in PHP che includono file.inc. Qual è il significato di .inc? A cosa serve? Quali sono gli svantaggi e i vantaggi del suo utilizzo?

Risposte:


268

Non ha significato, è solo un'estensione di file. È una convenzione di alcune persone nominare i file con estensione .inc se quel file è progettato per essere incluso da altri file PHP, ma è solo una convenzione.

Ha un possibile svantaggio che i server normalmente non sono configurati per analizzare i file .inc come php, quindi se il file si trova nella tua radice web e il tuo server è configurato nel modo predefinito, un utente potrebbe visualizzare il tuo codice sorgente php in il file .inc visitando direttamente l'URL.

Il suo unico vantaggio è che è facile identificare quali file vengono utilizzati come include. Anche se semplicemente dare loro un'estensione .php e metterli in una cartella include ha lo stesso effetto senza lo svantaggio di cui sopra.


8
@domanokz Sì, allora sarà sicuro da usare. Sarà trattato come php solo se usato in una requireo includestruttura e trattato come testo normale per il resto del tempo. Considerarlo come testo sul tuo server non farà male, fa male solo quando il tuo codice viene servito come testo all'utente finale).
Paul

@Paulpro Me lo stavo chiedendo da tempo, grazie per averlo chiarito!
RealDeal_EE'18,

1
Ottima spiegazione Ho appena iniziato un nuovo lavoro e li ho visti disseminati durante l'applicazione. Non avevo idea che fosse puramente una convenzione. Grazie!
Chev,

4
Per quanto riguarda il server non configurato per i file parse.inc come php. In realtà non è necessario che siano letti solo da altri file php in request / include. È sicuro? Come Paulpro indica che non si desidera che l'utente curioso legga il codice, quindi si desidera configurare i file in modo che non possano essere recuperati dall'utente finale con qualcosa come "RedirectMatch 403 /.*\.inc$" nella configurazione di Apache o. htaccess
ClearCrescendo il

Nota: questo non è solo per .phpe .inc. PHP include anche lavorare con altri tipi di file. Includendo un '.html', '.js', '.css', '.txt' o qualsiasi estensione di file personalizzata a cui puoi pensare, farà anche analizzare PHP leggere il codice PHP da esso. Utile quando si desidera creare un database basato su file e si desidera sapere se si tratta di un file di database. come .data. È quindi possibile utilizzare il commento di @ ClearCrescendo sopra per proteggerlo.
Jomar Sevillejo,

71

Se sei preoccupato per il contenuto del file offerto anziché per il suo output. È possibile utilizzare una doppia estensione come: file.inc.php. Serve quindi allo stesso scopo di disponibilità e manutenibilità.

Normalmente ho 2 file php per ogni pagina del mio sito:

  1. Uno chiamato welcome.phpnella cartella principale, contenente tutto il markup HTML.
  2. E un altro chiamato welcome.inc.phpnella inccartella, contenente tutte le funzioni PHP specifiche della welcome.phppagina.

EDIT: un altro vantaggio dell'utilizzo della doppia estensione .inc.php sarebbe che qualsiasi IDE può ancora riconoscere il file come codice PHP.


4
+1 Vale la pena ricordare che l'ho fatto in uno dei miei progetti.
DP il

17

Generalmente significa che è un file che deve essere incluso e non crea script autonomi in sé.

Questa è una convenzione non una tecnica di programmazione.

Anche se il tuo server web non è configurato correttamente, potrebbe esporre file con estensioni come .inc.


12

È solo un modo per lo sviluppatore di identificare facilmente i file che devono essere usati come include. È una convenzione popolare. Non ha alcun significato speciale per PHP e non cambierà il comportamento di PHP o dello script stesso.


4

Questa è una convenzione che il programmatore di solito usa per identificare nomi di file diversi per i file include. In modo che se gli altri sviluppatori stanno lavorando sul loro codice, può facilmente identificare perché questo file è presente e qual è lo scopo di questo file semplicemente vedendo il nome del file.


3

Solo per aggiungere. Un altro svantaggio sarebbe che i file .inc non vengono riconosciuti da IDE, pertanto non è possibile sfruttare le funzionalità di completamento automatico o di previsione del codice.


2

A mio avviso, questi sono stati usati come un modo per trovare rapidamente i file di inclusione durante lo sviluppo. Davvero questi sono stati resi obsoleti con convenzioni e progetti di strutture.


Questo è un commento insignificante. Uso sempre .inc per i file include perché è facile e non ci sono aspetti negativi, ma solo aspetti positivi. Il termine "convenzioni" non ha referenti di cui io sia a conoscenza in questo contesto. E i framework PHP, non ne ho idea, non li tocco mai da solo, scrivo codice, quindi l'idea che i 'framework' abbiano sostituito la codifica PHP è semplicemente sbagliata. Nulla di sbagliato nell'utilizzare le cose se ti piace, ma credere che sia stata sostituita la programmazione standard, negli editor di codice, è semplicemente sbagliato.
Lizardx

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.