PHP vs. Ruby

Patrik Votoček

alt text

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.

« »