PHP introduces a method that allows you to pick out all public values of an instance. Is there any way to do this in Scala? That is to fetch all values of all public fields
A per Philippe's answer, you can do this for case classes.
More broadly though, the same technique works for any subclass of Product. As well as case classes, Tuples are another obvious example, but the list is far more extensive than that.
Take a look at the "known subclasses", here: http://www.scala-lang.org/api/current/scala/Product.html