PHP è un linguaggio diffusissimo in ambito di sviluppo di applicazioni web, tuttavia se vuoi utilizzare Ruby on Rails o stai cercando un linguaggio che è stato pensato per un uso più generale, Ruby può fare al caso tuo.
Somiglianze
Come in PHP, in Ruby…
- viene usata una tipizzazione dinamica, come in PHP, quindi non devi preoccuparti di dichiariare variabili.
- Esistono delle classi, delle quali puoi controllare l’accesso come in
PHP (
public,protectedandprivate) - Alcune delle variabili incominciano per $, come in PHP (ma non sempre)
- Esiste il metodo
eval. - Puoi interpolare delle stringhe tra di loro. Invece di scrivere ”$x è un $y”, devi però scrivere ”#{x} è un #{y}”—Come in PHP, questo non vale per le stringhe tra apici.
- È possibile usare la sintassi heredoc
- È possibile gestire le eccezioni, come in PHP5
- Esiste una libreria standard molto completa
- Array e hash si comportano come previsto, se cambi
array()con{and}:array('a' => 'b')diventa{'a' => 'b'}. trueefalsesi comportano come in PHP, manullè chiamatonil
Differenze
A differenza di PHP, in Ruby…
- C’è una forte tipizzazione. Devi chiamare
to_s,to_iecc. per effettuare delle conversioni tra stringhe, numeri interi, e così via, invece di lasciare al linguaggio tale compito - Stringhe, numeri, array, hash ecc. sono degli oggetti. Invece di chiamare abs(-1) si deve chiamare -1.abs
- Le parentesi sono opzionali nelle chiamate ai metodi, eccetto per chiarificare quali parametri si riferiscono a quali metodi.
- Invece di utilizzare convenzioni sui nomi, la libreria standard e le estensioni sono organizzate in moduli e classi.
- La riflessione è una capacità innata degli oggetti, non c’è bisogno di
utilizzare classi
Reflectioncome in PHP5 - Le variabili sono dei riferimenti
- Non esistono classi astratte o interfacce
- Hash e array non sono intercambiabili
- Solo
falseenilritornano falso:0,array()e""ritornano tutti vero. - Quasi ogni cosa è una chiamata ad un metodo, anche
raise(throwin PHP).
