So che sembra una domanda pungente, ma lasciami spiegare da dove vengo.
Fuori dal college ho trovato lavoro in un negozio PHP. Ho lavorato lì per un anno e mezzo e ho pensato di aver imparato tutto ciò che c'era da sapere sulla programmazione.
Poi ho ottenuto un lavoro come negozio di sviluppo interno individuale presso una grande azienda in cui tutto il lavoro era in C #. Nel mio impegno per la posizione ho iniziato a leggere un sacco di blog e libri e ho subito capito quanto mi sbagliavo a pensare di sapere tutto. Ho imparato a conoscere i test unitari, l'iniezione delle dipendenze e i motivi del decoratore, il principio di progettazione dell'accoppiamento libero, la composizione sul dibattito sull'ereditarietà e così via e così via - Sto ancora assorbendo moltissimo tutto. Inutile dire che il mio stile di programmazione è cambiato completamente nell'ultimo anno.
Ora mi ritrovo a raccogliere un progetto php facendo un po 'di codice per lo start-up di un amico e mi sento completamente limitato rispetto alla programmazione in C #. Mi disturba davvero il fatto che tutte le variabili nell'ambito di una classe debbano essere citate aggiungendo '$ this->'. Mi dà fastidio che nessuno degli IDE che ho provato abbia un ottimo intellisense e che i miei metodi di test unitari SimpleTest debbano iniziare con la parola "test". Mi fa impazzire il fatto che la digitazione dinamica mi impedisca di specificare implicitamente quale tipo di parametro si aspetta un metodo e che devi scrivere un'istruzione switch per fare sovraccarichi di metodo. Non sopporto che non puoi avere spazi dei nomi nidificati e che devi usare l'operatore :: per chiamare il costruttore della classe base.
Ora non ho intenzione di iniziare un dibattito tra PHP e C #, ma quello che intendo dire è che sono sicuro che ci sono alcune funzionalità di PHP che non conosco o che conosco ma che non riesco a usare correttamente. Sono ambientato nel mio universo C # e ho problemi a vedere fuori dalla ciotola di vetro.
Quindi ti sto chiedendo, quali sono le tue funzionalità preferite di PHP? Quali sono le cose che puoi fare in esso che non puoi o sono più difficili nelle lingue .Net?