Von Ruby nach PHP

PHP wird häufig für Webanwendungen eingesetzt, aber wenn Sie Ruby on Rails verwenden möchten oder einfach eine Sprache suchen, die besser für allgemeine Zwecke geeignet ist, ist Ruby eine Überlegung wert.

Ähnlichkeiten

Wie in PHP ist in Ruby...

  • Ruby ist dynamisch typisiert, wie in PHP, daher müssen Sie sich keine Gedanken über die Deklaration von Variablen machen.
  • Es gibt Klassen, und Sie können den Zugriff auf sie steuern wie in PHP 5 (public, protected und private).
  • Einige Variablen beginnen mit $, wie in PHP (aber nicht alle).
  • Es gibt auch eval.
  • Sie können String-Interpolation verwenden. Anstatt "$foo ist ein $bar" zu schreiben, können Sie "#{foo} ist ein #{bar}" schreiben – wie in PHP gilt dies nicht für Zeichenketten in einfachen Anführungszeichen.
  • Es gibt Here-Dokumente.
  • Ruby hat Ausnahmen, wie PHP 5.
  • Es gibt eine ziemlich umfangreiche Standardbibliothek.
  • Arrays und Hashes funktionieren wie erwartet, wenn Sie array() durch { und } ersetzen: array('a' => 'b') wird zu {'a' => 'b'}.
  • true und false verhalten sich wie in PHP, aber null heißt nil.

Unterschiede

Anders als in PHP ist in Ruby...

  • Es gibt starke Typisierung. Sie müssen to_s, to_i usw. aufrufen, um zwischen Zeichenketten, Ganzzahlen und so weiter zu konvertieren, anstatt sich darauf zu verlassen, dass die Sprache dies tut.
  • Strings, Zahlen, Arrays, Hashes usw. sind Objekte. Anstatt abs(-1) aufzurufen, schreibt man -1.abs.
  • Klammern sind bei Methodenaufrufen optional, es sei denn, sie dienen zur Klärung, welche Parameter zu welchem Methodenaufruf gehören.
  • Die Standardbibliothek und Erweiterungen sind in Modulen und Klassen organisiert.
  • Reflektion ist eine inhärente Fähigkeit von Objekten, Sie müssen keine Reflection-Klassen wie in PHP 5 verwenden.
  • Variablen sind Referenzen.
  • Es gibt keine abstract Klassen oder interfaces.
  • Hashes und Arrays sind nicht austauschbar.
  • Nur false und nil sind falsch: 0, array() und "" sind in bedingten Anweisungen alle wahr.
  • Fast alles ist ein Methodenaufruf, selbst raise (throw in PHP).