Domanda

Cosa significa quando un nome di funzione PHP inizia con un trattino basso?

ad esempio: __construct()

So cosa significa il costrutto ma ho visto altri posti in cui la funzione inizia con un carattere di sottolineatura o un doppio carattere di sottolineatura e non sono sicuro del significato.

È stato utile?

Soluzione

Significa che PHP lo chiama implicitamente.

Si chiama "Metodo magico"

Inoltre, sono due trattini bassi, non uno.

Ulteriori informazioni qui: Metodi magici PHP

Altri suggerimenti

In PHP, le funzioni iniziano con due trattini bassi di solito hanno significati speciali. Dal manuale:

  

PHP si riserva tutti i nomi delle funzioni   a partire da __ come magico. È   consigliato di non usare   nomi di funzioni con __ in PHP a meno che   vuoi un po 'di magia documentata   funzionalità.

Ad esempio __construct () è un metodo speciale che viene chiamato automaticamente durante l'inizializzazione di un oggetto.

Vedi anche: http://php.net/manual/en/ language.oop5.magic.php

C'è anche un nome comune " stile di codifica " che utilizza un carattere di sottolineatura iniziale per indicare che metodi o proprietà sono privati ??/ protetti. Penso che sia piuttosto diffuso.

Come notato in altre risposte, il doppio trattino di sottolineatura è usato per "magia" metodi. L'idea è che l'utente non userebbe mai intenzionalmente due caratteri di sottolineatura per un nome di metodo, quindi c'è poco rischio di collisione. La ragione per cui non è un singolo carattere di sottolineatura, credo, è che il singolo carattere di sottolineatura era una convenzione popolare per i metodi privati ??nei vecchi tempi, prima che arrivasse la parola chiave "privata" per imporre la riservatezza OO.

Nel codeigniter, se si avvia un metodo in un controller con un carattere di sottolineatura, il router saprà non consentire l'accesso dall'URL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top