Uname:
Linux peekpos.com 6.8.0-1060-aws #63~22.04.1-Ubuntu SMP Tue Jun 30 02:32:53 UTC 2026 x86_64
Software:
Apache
PHP version:
8.3.25 [ PHP INFO ] PHP os:
Linux
Server Ip:
47.130.192.226
Your Ip:
10.2.84.82
User:
www (1001) | Group:
www (1001)
Safe Mode:
OFF
Disable Function:
passthru,putenv,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
<?php
/**
* Mockery (https://docs.mockery.io/)
*
* @copyright https://github.com/mockery/mockery/blob/HEAD/COPYRIGHT.md
* @license https://github.com/mockery/mockery/blob/HEAD/LICENSE BSD 3-Clause License
* @link https://github.com/mockery/mockery for the canonical source repository
*/
namespace Mockery\Loader;
use Mockery\Generator\MockDefinition;
use function array_diff;
use function class_exists;
use function file_exists;
use function file_put_contents;
use function glob;
use function realpath;
use function sprintf;
use function sys_get_temp_dir;
use function uniqid;
use function unlink;
use const DIRECTORY_SEPARATOR;
class RequireLoader implements Loader
{
/**
* @var string
*/
protected $lastPath = '';
/**
* @var string
*/
protected $path;
/**
* @param string|null $path
*/
public function __construct($path = null)
{
if ($path === null) {
$path = sys_get_temp_dir();
}
$this->path = realpath($path);
}
public function __destruct()
{
$files = array_diff(glob($this->path . DIRECTORY_SEPARATOR . 'Mockery_*.php') ?: [], [$this->lastPath]);
foreach ($files as $file) {
@unlink($file);
}
}
/**
* Load the given mock definition
*
* @return void
*/
public function load(MockDefinition $definition)
{
if (class_exists($definition->getClassName(), false)) {
return;
}
$this->lastPath = sprintf('%s%s%s.php', $this->path, DIRECTORY_SEPARATOR, uniqid('Mockery_', false));
file_put_contents($this->lastPath, $definition->getCode());
if (file_exists($this->lastPath)) {
require $this->lastPath;
}
}
}