Php-activerecord-Why are tables expected to be plural? (End in ‘s’ ?)

That is default functionality of the framework. All models are named in a singular form, the tables that they look for are the plural forms of that. If you don’t want this behaviour, you can always specify the table it should use like this:

class User extends ActiveRecord\Model {
# explicit table name since our table is not "users"
static $table_name = 'user';