“Yes, my version requires the most lines of code, but it is also the easiest to maintain and understand.”
No it fucking ain’t. Compare:
login($username, $password, $remember);
with
$authenticationController = new UserAuthenticationController;
$user = new User;
$user->username = $_POST[‘username’];
$user->password = $_POST[‘password’];
$user->rememberMe = true;
$authenticationController->login($user);