First domain-driven User entity class
Your class can absolutely be considered like a DDD domain entity.
However, I would suggest some improvements:


DDD likes to use an ObjectValue for the unique identifiers, you could use one instead of a simple integer.
You could separate the validation logic from the entity (not specific to DDD).
You should not have a getPassword() method but a verifyPassword($password) instead. Don't expose the password in plain text.
You could also separate the stringLength() into its own string utility class.
Regarding the use of a Uniw timestamp, keep in mind that DateTime is a better option since it embeds the time zone. Timestamps don't, which is always confusing when handling dates from all over the world...