Cosa significano i due punti in PHP? Due punti: dove, quando e perché mettere i due punti Come si scrive.

Se hai analizzato i codici di qualsiasi programma scritto in PHP, probabilmente hai riscontrato cose così speciali nel codice. caratteri:

-> (trattino e segno maggiore)

:: (Doppio punto)

Ad esempio, le costruzioni con queste espressioni potrebbero assomigliare a:

Ciao::ciao_mondo(); q -> ciao_mondo();

Per capire perché sono necessarie queste strutture, consideriamo l'esempio più semplice. Supponiamo di avere un semplice programma "Hello world!".

Creiamo un semplice file php e scriviamo al suo interno il seguente codice:

Classe Ciao ( funzione ciao_mondo () ( echo "Ciao mondo"; ) )

Ora pensa a come eseguire la funzione hello_world().

Se la funzione hello_world() non fosse nella classe Hello, la chiameremmo molto semplicemente:

Ciao mondo();

Di conseguenza, sullo schermo apparirebbero le parole "Hello world". Ma molto probabilmente, se hai provato a risolvere il problema in questo modo, riceverai un errore sullo schermo:

Errore fatale: chiamata alla funzione non definita hello_world() in …/test.php on line…

Tutto è corretto, perché si trova in una classe, quindi devi dire al computer che deve essere cercata nella classe Hello. Se non lo fai, non funzionerà nulla.

Come è possibile comunicare tali informazioni a un computer?

Ci sono diverse opzioni qui. Diamo un'occhiata a ciascuno separatamente.

Opzione 1. Attraverso la creazione di un'istanza di una classe.

$q = nuovo Ciao;

Con questa riga creiamo una cosiddetta istanza della classe Hello. Dopo questa operazione potremo accedere liberamente alla funzione di cui abbiamo bisogno attraverso questa istanza, che in questo caso è memorizzata nella variabile $q.

$q -> ciao_mondo();

La costruzione “->” diventa il collegamento tra l'istanza della classe e la funzione.

Adesso funziona tutto. Evviva! Dovresti vedere "Hello World" apparire sullo schermo.

Opzione 2. Utilizzando la costruzione dei due punti::

Questa opzione è ancora molto più semplice. Non è nemmeno necessario creare istanze qui. Stiamo solo scrivendo.

Ciao::ciao_mondo();

Puoi verificare se la funzione verrà eseguita correttamente.

Spero che dopo aver letto questa nota, ora capisci che “->” e “::” vengono utilizzati per accedere alla funzione desiderata nella classe creata.

Utilizzando gli stessi costrutti, possiamo accedere alle variabili che si trovano nelle classi. L'unica differenza è che non è necessario inserire parentesi alla fine. Per esempio:

Ciao mondo;

Con questa costruzione accediamo alla variabile world, che si trova nella classe Hello.

Molto spesso tali costruzioni possono essere trovate analizzando il codice di vari sistemi di gestione di siti web. Guarda il codice sorgente di sistemi come Joomla, WordPress, ecc. Ora sai a cosa serve tutto questo.

Altri miei tutorial PHP per principianti.

Quindi, i due punti sono un segno di punteggiatura. A differenza del punto, dei punti esclamativi, dei punti interrogativi e dei puntini di sospensione, non ha una funzione di separazione, cioè non separa le frasi del testo l'una dall'altra. I due punti vengono inseriti solo all'interno di una frase e quindi indicano che l'affermazione continuerà dopo di essa.

I due punti possono essere trovati in frasi semplici e complesse. In una frase semplice divide ed evidenzia parti dell'enunciato; in una frase complessa svolge anche un ruolo semantico: indica le relazioni semantiche tra le parti di una frase complessa non sindacale.

Allora come usare correttamente i due punti, senza commettere errori e senza confonderli con gli altri? Vediamo i casi principali.

Due punti in una frase semplice

Regola 1. Due punti in una frase con membri omogenei

Se una parola generalizzante viene prima dei membri omogenei, allora sono necessari i due punti dopo, ad esempio: C'era la neve ovunque: sui tetti delle case, sulle staccionate, sui prati, sulle automobili.

In questa frase la parola ovunque generalizza una serie di circostanze simili. La parola generalizzante si trova prima dei membri omogenei e quindi dopo di essa sono presenti i due punti.

Regola 2. Due punti nelle frasi con parole qualificanti

Quando in una frase si usano parole generalizzanti, è possibile usare parole chiarificatrici: come, ad esempio, così, cioè, preceduto da una virgola e seguito da due punti. Per esempio: C'era la neve ovunque, vale a dire: sui tetti delle case, sulle staccionate, sui prati, sulle automobili.

In questa frase, insieme alla parola generalizzante ovunque è stata utilizzata una costruzione che chiarisce il suo utilizzo "vale a dire" , seguito da una serie di termini omogenei, quindi è seguito dai due punti.

Regola 3. Due punti nelle costruzioni con discorso diretto

Se il discorso diretto segue le parole dell'autore, allora vengono posti due punti davanti ad esso e il discorso diretto stesso è racchiuso tra virgolette e la prima parola del discorso diretto è scritta con una lettera maiuscola: L'insegnante ha detto: "Ciao, bambini!" Inoltre, se il discorso diretto interrompe le parole dell'autore nel testo, davanti ad esso vengono posizionati i due punti, ad esempio: Dicendo: “Ciao bambini!”, l'insegnante è entrata in classe. Dopo il discorso diretto, devi inserire una virgola.

Due punti in una frase complessa

Regola 4. I due punti possono essere inseriti tra le parti di una frase complessa non sindacale (BSP) nei seguenti casi.

  • Seconda parte del BSP spiega quanto detto nella prima (tra le parti della frase si può inserire “ vale a dire"), Per esempio: C'è un tale segno tra la gente: le rondini volano basse quando piove; Katya scrive in modo molto competente: non commette mai errori nelle parole e posiziona correttamente i segni di punteggiatura. In queste frasi complesse non sindacali, la seconda parte fornisce una spiegazione di ciò che viene discusso nella prima. Tra le parti della frase è possibile inserire “ vale a dire": C'è un tale segno tra la gente (vale a dire): le rondini volano basse sull'acqua verso la pioggia. Pertanto, nelle frasi sopra ci sono i due punti.

  • Seconda parte del BSP ne svela il motivo quanto discusso nella prima (è possibile inserire congiunzioni tra le parti della frase: da allora, perché), Per esempio: Katya scrive in modo molto competente: legge molto, impara la poesia a memoria, allena la sua memoria; Presto pioverà: le rondini volano basse sull'acqua. In questi BSP la seconda parte giustifica e motiva quanto detto nella prima. È possibile inserire congiunzioni tra le parti: da allora, perché. Presto pioverà (Perché): le rondini volano basse sull'acqua. Ecco perché in tali frasi vengono utilizzati i due punti.

  • Seconda parte del BSP completa, rivela quanto detto nella prima (tali frasi sono sinonimo di frasi complesse con clausola esplicativa, quindi si può inserire una congiunzione tra le parti del BSP Che cosa). Per esempio: Katya lo sa: leggere libri non è solo interessante, ma anche molto utile per studiare; La gente dice: le rondini volano basse sull'acqua quando piove. I dati BSP nella seconda parte rivelano il significato di quanto discusso nella prima. Se le parti di tale frase sono collegate dalla congiunzione Che cosa, ottieni una frase complessa con una clausola esplicativa: Le persone dicono (Che cosa,): le rondini volano basse sull'acqua verso la pioggia. Le frasi di questo tipo sono precedute da due punti.

  • Nella prima parte della frase si omettono i verbi: e ho visto, ho sentito e sentito, Per esempio: Alzai la testa: un raggio di sole irrompeva tra le nuvole, illuminando la radura di luce intensa; Si voltò: l'eco di passi affrettati si udì molto vicino. Queste frasi sono anche sinonimi di proposizioni subordinate complesse con proposizioni esplicative; nella prima parte, verbi come: e ho visto e ho sentito,È possibile inserire una congiunzione tra le parti Che cosa. Ho alzato la testa (e l'ho visto): un raggio di sole squarciò le nuvole, illuminando la radura di luce intensa.


Due punti contro trattino

La principale difficoltà nell'usare i due punti è che a volte è facile confondere questo segno di punteggiatura con un altro: un trattino. Recentemente, questi segni sono spesso usati in parallelo, cioè negli stessi casi possono essere posizionati sia un trattino che i due punti. Per esempio: E i giudici hanno deciso: se piove la gara sarà annullata; Ho notato la prima pietra, ho deciso che qui c'era un tesoro, quindi ho iniziato a frugare in giro(Tendryakov), Naturalmente luicambiato(: –) curvo, grigio, con rugheagli angoli della bocca; Sto entrando(: ) Tutto è silenzioso; Non dire queste parole davanti a lui.(: ) può essere offeso; Tutti erano interessati a una sola domanda(: ) come uscire da questa situazione il più rapidamente possibile; Significava una cosa(: ) bisogno di separarsi.

Tali opzioni sono considerate uguali; puoi utilizzare sia il trattino che i due punti senza timore di commettere errori. Dobbiamo però ricordare che il trattino, oltre alle funzioni sintattiche, svolge anche quelle emotive ed espressive, cioè indica l'emotività dell'affermazione e ne sottolinea l'espressività. Pertanto, se la frase non ha tali significati ed è neutra, bisogna evitare di usare il trattino e mettere i due punti, seguendo le regole di cui abbiamo parlato.

Probabilmente avrai notato quanto spesso utilizzo questi due pseudo-elementi nelle mie lezioni. Perché mi piacciono? Perché sono così comodi da usare che non hai nemmeno bisogno di aggiungere ulteriori elementi HTML. Tuttavia, questo articolo non riguarda i vantaggi degli pseudo-elementi.

Questo articolo è dedicato a chiarire una volta per tutte tutta la confusione riguardante la sintassi degli pseudo-elementi.

Pseudo-cosa?

Gli pseudo-elementi sono così chiamati perché non sono veri e propri elementi HTML. Ad esempio, l'HTML non ha i tag before e after, ma nei CSS puoi definire lo stile degli elementi :before e :after.

Uno o due due punti?

Non c'è differenza tra :prima e ::prima o tra :dopo e ::dopo. La sintassi dei due punti è specifica dei CSS3.

Su http://www.w3.org/TR/css3-selectors/#pseudo-elements c'è questo paragrafo:

Questo simbolo (::) viene introdotto per distinguere le pseudo-classi dagli pseudo-elementi. Per compatibilità con i fogli di stile esistenti, gli pseudo-elementi nei CSS 1 e 2 possono anche essere specificati con due punti singoli (in particolare :first-line, :first-letter, :before e :after).

Riassumiamo

IE 7 e versioni precedenti non supportano gli pseudoelementi elencati. Ma IE 8 lo supporta, e questo è un buon (e unico) motivo per utilizzare la sintassi a due punti singoli.

Importante!

Ricorda che tutto questo parlare di uno o due due punti riguarda solo pseudo-elementi, non pseudo-classi.

Come scrivi?

Scrivi nei commenti quale sintassi usi e per quali motivi.

Oltre alle risposte riguardanti l'uso dei due punti da parte di PHP come "operatore di risoluzione dell'ambito":

Inoltre, vengono utilizzati i due punti doppi:

    Per convertire un nome di classe non qualificato, qualificato o con alias nella sua forma completa e

    Per chiamare il metodo della classe __callStatic.

Per convertire il nome di una classe nella sua forma completa aggiungendo "::class"

Due due punti seguiti dalla parola chiave "class" dopo il nome della classe forniscono il nome completo di quella classe come stringa. Cioè, "ClassName::class" viene convertito nel nome completo "ClassName". Vedere (A) Manuale: Classi e oggetti: Nozioni di base, (B) Manuale: Classi e oggetti: Costanti di classe e (C) Manuale: Riferimento al linguaggio: Costanti

La sintassi "::class" è utile in uno spazio dei nomi per ottenere un nome di classe completamente qualificato dalla sua forma non qualificata o qualificata, o da un alias del suo nome.

La sintassi "::class" sembra funzionare per risolvere i nomi delle interfacce e dei nomi delle classi, sebbene ciò non sembri essere documentato dalle fonti collegate sopra.

All'interno di una classe, la sintassi funziona anche con "self::class" come menzionato nella RFC "::class" collegata sopra.

Alcuni esempi:

fullName(), PHP_EOL; // output: MyNamespace\TheirClass

Per chiamare "__callStatic"

È possibile utilizzare due punti per "chiamare" un nome di metodo statico che la classe non ha dichiarato. Questo chiama il metodo della classe "__callStatic" se ne ha dichiarato uno. Il metodo __callStatic può quindi scegliere "dinamicamente" come gestire la chiamata. In PHP questo si chiama "sovraccarico" utilizzando il "metodo magico" __callStatic .

handleOrder($argomenti); ) return "Mi dispiace, non possiamo aiutarti con " . lcfirst($elemento) . "."; ) ) spazio dei nomi NostraAzienda\Specialisti; class Car ( funzione pubblica handleOrder($arguments) ( return "Posso aiutarti con un'auto $arguments?"; ) ) class Truck ( funzione pubblica handleOrder($arguments) ( return "Posso aiutarti con un camion $arguments? "; ) ) utilizzare NostraAzienda\Ordini\Assunzione; echo Assunzione::orderCar("rosso"), PHP_EOL; // outputs: Posso aiutarti con una macchina rossa? echo Presa::orderTruck("ritiro"), PHP_EOL; // outputs: Posso aiutarti con un camioncino? echo Intake::orderShoes("camoscio"), PHP_EOL; // output: Mi dispiace, non possiamo aiutarti con le scarpe.

Ultimi materiali nella sezione:

Ciò che viene prima del discorso diretto
Ciò che viene prima del discorso diretto

Letteralmente introdotto nel discorso dell'autore (oratore o scrittore). A differenza del discorso indiretto, conserva caratteristiche individuali e stilistiche...

Due punti: dove, quando e perché mettere i due punti Come si scrive
Due punti: dove, quando e perché mettere i due punti Come si scrive

Se hai analizzato i codici di qualsiasi programma scritto in PHP, probabilmente hai riscontrato cose così speciali nel codice. simboli: ->...

Come viene posta l'enfasi?  Enfasi sulle parole.  Difficoltà ed errori fastidiosi
Come viene posta l'enfasi? Enfasi sulle parole. Difficoltà ed errori fastidiosi

1. I verbi all'infinito nel russo moderno tendono a spostare l'accento all'inizio della parola. Ad esempio, prima la norma...