Mock class constructor args based on the reflection class

v1.2.1 2023-04-03 13:19 UTC

This package is auto-updated.

Last update: 2024-05-03 15:28:46 UTC


68747470733a2f2f636f6465636f762e696f2f67682f52656563654d2f6d6f636b65722f6272616e63682f6d61737465722f67726170682f62616467652e737667 68747470733a2f2f7472617669732d63692e636f6d2f52656563654d2f6d6f636b65722e7376673f6272616e63683d6d6173746572 Latest Stable Version License Downloads

This package is initially made to for an issue on the MailEclipse package, but improvements are welcome. It currently is probably stupid simple, but deals with the one job of reading a file and mocking it.

Generate a mocked instance of the un-typed params in a __construct() method

This searches the file retrieved from the reflection class and looks for all object like arrow calls; ie:

public function __construct($objectArg, string $arg) 
    $this->value    = $objectArg->value; // this will be picked up
    $this->name     = $arg;


You can install the package via composer:

composer require reecem/mocker


  • Laravel ^5.6 (min)


use ReeceM\ReflectionMockery;

 * The class __construct Method is automatically read and args created
$mock = new ReflectionMockery('\App\User');
// or
$mock = new ReflectionMockery(new \ReflectionClass('\App\User'));

// some time later

 * Use call a variable from the class that don't exist
{{ $mock->get('somethingNotInUser') }}
{{ $mock->somethingNotInUser }}

// both would return 

// if something was set in user
'mock->somethingNotInUser => ["value that set"]'


If you discover any security related issues, please email instead of using the issue tracker.



  • Add functionality to account for $this->internal = $param; searching so it works later on in the code
  • Add a translation file for mocked values when testing to give a translated result for previews


Consider supporting some code if it is useful to you 😄

  • MailEclipse "just a small donation from Laravel mail editor owner, thanks for your contributions"

Buy Me a Coffee at


The MIT License (MIT). Please see License File for more information.