Let's say we extracted some action logic with an embedded include
to a Controller method. The code receives information on a new user, calls an include
to perform some common validation functionality, and then deals with success or failure of validation:
classes/Controller/NewUserPage.php
1 <?php
2 public function __invoke()
3 {
4 // ...
5 $user = $this->request->post['user'];
6 include 'includes/validators/validate_new_user.php';
7 if ($user_is_valid) {
8 $this->user_transactions->addNewUser($user);
9 $this->response->setVars('success' => true);
10 } else {
11 $this->response->setVars(array(
12 'success' => false,
13 'user_messages' => $user_messages
14 ));
15 }
16
17 return $this->response;
18 }
19 ?>
Here is an example of what the included file might look like:
includes/validators/validate_new_user.php 1 <?php 2 $user_messages = array(); 3 $user_is_valid = true; 4 5 if (! Validate::email($user['email'])) { 6 $user_messages...