Advertisement
Guest User

Nette Memory usage Class vs ActiveRow

a guest
Aug 2nd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.29 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Model\Managers;
  4.  
  5. use Nette\Database\Context;
  6.  
  7. class Manager{
  8.    
  9.     use \Nette\SmartObject;
  10.    
  11.     /**
  12.      * @var Context
  13.      */
  14.     public $db;
  15.  
  16.     public function __construct(Context $db) {
  17.         $this->db = $db;
  18.     }
  19.    
  20.    
  21.     public function loadUsers() {
  22.         $startMemory = memory_get_usage();
  23.  
  24.         // TEST 1
  25.         /////////////////////////////////////////////////////////////////////////////////////////////////
  26.  
  27.         $users = $this->db->table('user')->fetchAll();
  28.        
  29.         bdump((memory_get_usage(false) - $startMemory), 'Test 1');
  30.        
  31.         // TEST 2
  32.         /////////////////////////////////////////////////////////////////////////////////////////////////
  33.         $resultArray = [];
  34.  
  35.         foreach ($users as $user) {
  36.             $resultArray[] = new Man($user->name, $user->surname, $user->email);
  37.         }
  38.        
  39.         unset($users);
  40.        
  41.         bdump((memory_get_usage(false) - $startMemory), 'Test 2');
  42.  
  43.         unset($resultArray);
  44.     }
  45. }
  46.  
  47. class Man {
  48.     public $name;
  49.     public $surname;
  50.     public $email;
  51.    
  52.     public function __construct($name, $surname, $email) {
  53.         $this->name = $name;
  54.         $this->surname = $surname;
  55.         $this->email = $email;
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement