<?php
/*
* This file is part of Chevere.
*
* (c) Rodolfo Berrios <rodolfo@chevere.org>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
use function Chevere\Message\message;
use Chevere\Throwable\Exceptions\RuntimeException;
use Chevere\ThrowableHandler\ThrowableHandler;
use function Chevere\Writer\streamFor;
use Chevere\Writer\StreamWriter;
use Chevere\Writer\Writers;
use Chevere\Writer\WritersInstance;
use function Chevere\Xr\registerThrowableHandler;
foreach (['/../', '/../../../../'] as $path) {
$autoload = __DIR__ . $path . 'vendor/autoload.php';
if (stream_resolve_include_path($autoload)) {
require $autoload;
break;
}
}
new WritersInstance(
(new Writers())
->withOutput(
new StreamWriter(
streamFor('php://stdout', 'w')
)
)
->withError(
new StreamWriter(
streamFor('php://stderr', 'w')
)
)
);
set_error_handler(
ThrowableHandler::ERROR_AS_EXCEPTION
);
register_shutdown_function(
ThrowableHandler::SHUTDOWN_ERROR_AS_EXCEPTION
);
set_exception_handler(
ThrowableHandler::CONSOLE
);
registerThrowableHandler(true);
throw new RuntimeException(
message: message("Ch bah puta la güeá"),
code: 12345,
previous: new Exception(
message: "A la chuchesumare",
code: 678,
previous: new LogicException(
message: "Ese conchesumare",
code: 0,
)
)
);
|