原文 https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-php/
PHP是广泛使用的Web应用程序,但是如果你想使用的Ruby on Rails或只是想要一个更适合于一般用途的语言,Ruby是值得一试。
在php和ruby 中的相似之处:
- Ruby和php一样 ,都是动态语言,所以不用担心声明变量的问题
- 他们拥有类,你可以像php5中一样使用 (public,protected,private)
- 一些变量以$开头,和php中一样(在ruby中不是全部都是)
- 都有eval
- 在php中 是“$foo is a $bar”,在ruby中 "#{foo} is a #{bar}". 只适用于双引号,不是单引号
- ruby 和 php 一样都有异常
- 都有一个相当大的标准库
- 数组和hash差不多一样,如果你把数组转换成成hash,array('a' => 'b') 就变成了{'a' => 'b'}
- true和false和php一样 ,只是null在ruby中是nil
ruby不同于php之处:
- 数据类型明确。你需要 to_s, to_i等去进行字符串,整数之间等转换。而不是单单仅靠语言来完成。
- 字符串,数字,数组,hash等都是对象。abs(-1)表示的是 - 1.ABS。
- 括号中是可选的,除非明确说明哪个方法调用
- 标准库和扩展的模块和类的命名都是有约定的,如下划线
- 对象自带Reflection(反射),而不是像php5中需要用Reflection类(反射类)
- 变量引用的方式。
- 没有抽象类或接口。
- hash和数组是不通用的。
- 只有false和nil是假的:0,array()和 “” 都是true。
- 几乎所有的东西是一个方法,甚至raise(在PHP中的 throw)。