PHP vs. Ruby
Toto není ani tak článek jak moje osobní pomůcka. Ne nepřecházím na Ruby i když poslední dobou získává mé sympatie, ale pouze potřebuji něco portovat do PHP. Je tomu teprve pár hodin co jsem začal studovat syntaxi ruby takže pokud narazíte na chybu dejte vědět.
Popis | PHP | Ruby |
---|---|---|
proměnná | $var = "a"; |
var = "a" |
globální proměnná | global $var = "a"; |
$var = "a" |
pole | $arr = array("a", "b", "c"); |
arr = ["a","b","c"] |
asociativní pole / hash table | $arr = array('a' => 1, 'b' => 2 'c' => 3); |
arr = {'a' => 1, 'b' => 2, 'c' => 3} |
proměnná uvnitř řetězce | "Ahoj $foo"; |
"Ahoj #{foo}" |
prázdná hodnota | NULL |
nil |
definice funkce | function Foo($bar) { return $bar; } |
def Foo(bar) return bar end musí být asi správně odsazeno |
namespace | namespace Foo; |
Module Foo |
class | class Foo |
class Foo |
dědičnost | class Foo extends Bar |
class Foo<bar |
protected vlastnost | protected $foo; |
@foo |
protected statická vlastnost | protected static $foo; |
@@foo |
řádkový komentář | // |
# |
blokový komentář | /* komentar */ |
=begin komentar =end |
konstanty | define('foo', "bar"); |
FOO = "bar" |
je obsaženo v poli jako hodnota? | in_array("foo", array("aaa", "foo")); |
["aaa","foo"].has_value?("foo") |
je obsaženo v poli jako klíč? | array_key_exists('foo', array('aaa' => 1, 'foo' => 2)); |
{"aaa" => 1,"foo" => 2}.has_key?("foo") |
merge více polí | array_merge(array("a", "b"), array("c", "d")); |
["a","b"]+["c", "d"] |
umazání prvku pole | $foo = array('a' => 1, 'b' => 2); unset($foo['a']); |
{'a' => 1, 'b' => 2}.delete('a') |
rozhodování | if {...} elseif {...} else {} |
if...elsif...else...end |
složitější rozhodování | switch {case: ... default: ...} |
case...when...else...end |
procházení pole | foreach |
for / each (each je chytřejší) |
konstruktor | __constructor |
initialize |
Tento seznam postupně rozšiřuji.