Build your own PSR-4 autoloader
Go to homepage

Build your own PSR-4 autoloader

26th January 2021 | 7 minutes

Deprecated: Return type of Illuminate\View\ComponentAttributeBag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php on line 236

Call Stack: 0.0003 412936 1. {main}() /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:0 0.0004 416176 2. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw') /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:107 0.0620 2823128 3. Symfony\Component\Console\Application->run($input = ???, $output = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw:16 0.0751 2918440 4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:167 0.0755 2938088 5. Symfony\Component\Console\Application->doRunCommand($command = class TightenCo\Jigsaw\Console\BuildCommand { private ${Symfony\Component\Console\Command\Command}application = class Symfony\Component\Console\Application { private $commands = [...]; private $wantHelps = FALSE; private $runningCommand = ...; private $name = 'Jigsaw'; private $version = '1.3.38'; private $commandLoader = NULL; private $catchExceptions = TRUE; private $autoExit = TRUE; private $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private $helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private $dispatcher = NULL; private $terminal = class Symfony\Component\Console\Terminal { ... }; private $defaultCommand = 'list'; private $singleCommand = FALSE; private $initialized = TRUE; private $signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private $signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'build'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = ''; private ${Symfony\Component\Console\Command\Command}description = 'Build your site.'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL }; private $app = class Illuminate\Container\Container { protected $resolved = [...]; protected $bindings = [...]; protected $methodBindings = [...]; protected $instances = [...]; protected $aliases = [...]; protected $abstractAliases = [...]; protected $extenders = [...]; protected $tags = [...]; protected $buildStack = [...]; protected $with = [...]; public $contextual = [...]; protected $reboundCallbacks = [...]; protected $globalResolvingCallbacks = [...]; protected $globalAfterResolvingCallbacks = [...]; protected $resolvingCallbacks = [...]; protected $afterResolvingCallbacks = [...] }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(94) of type (stream); private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = [...]; protected $progressBars = [...]; protected $sections = class Illuminate\Support\Collection { ... } }; public $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; protected $stream = NULL; protected $options = [...]; protected $arguments = [...]; protected $interactive = TRUE; private $tokens = [...]; private $parsed = [...] }; public $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private $consoleSectionOutputs = [...] }; public $console = class TightenCo\Jigsaw\Console\ConsoleSession { protected $input = class Symfony\Component\Console\Input\ArgvInput { ... }; protected $output = class Symfony\Component\Console\Output\ConsoleOutput { ... }; protected $question = class Symfony\Component\Console\Helper\QuestionHelper { ... } } }, $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:295 0.0755 2938088 6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:978 0.0756 2939848 7. TightenCo\Jigsaw\Console\Command->execute($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Command/Command.php:299 0.1866 2954728 8. TightenCo\Jigsaw\Console\BuildCommand->fire() /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/Command.php:21 2.4188 5072192 9. TightenCo\Jigsaw\Jigsaw->build($env = 'production', $useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/BuildCommand.php:60 4.8672 5792944 10. TightenCo\Jigsaw\Jigsaw->buildSite($useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:46 4.8673 5792944 11. TightenCo\Jigsaw\SiteBuilder->build($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $destination = '/Users/pretzelhands/Projects/pretzelhands.com/build_production', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:76 4.8674 5792784 12. TightenCo\Jigsaw\SiteBuilder->generateFiles($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:43 4.8702 5908840 13. Illuminate\Support\Collection->flatMap($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88 4.8702 5908840 14. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Traits/EnumeratesValues.php:311 4.8702 5911456 15. array_map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }, $array = [0 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = class TightenCo\Jigsaw\PageVariable { ... } }, 1 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 2 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 3 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 4 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 5 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 6 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 7 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 8 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 9 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 10 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 11 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 12 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 13 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 14 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 15 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 16 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 17 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 18 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 19 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 20 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 21 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 22 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 23 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 24 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 25 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 26 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 27 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 28 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 29 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 30 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 31 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 32 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 33 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 34 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 35 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 36 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 37 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 38 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 39 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 40 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 41 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 42 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 43 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 44 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 45 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 46 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 47 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 48 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 49 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 50 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 51 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 52 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 53 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 54 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 55 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 56 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 57 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 58 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 59 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 60 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 61 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 62 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 63 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 64 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 65 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }], $arrays = [0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 => 28, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37, 38 => 38, 39 => 39, 40 => 40, 41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45, 46 => 46, 47 => 47, 48 => 48, 49 => 49, 50 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 62 => 62, 63 => 63, 64 => 64, 65 => 65]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 16. TightenCo\Jigsaw\SiteBuilder->TightenCo\Jigsaw{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88-92}($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, 3) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 17. TightenCo\Jigsaw\SiteBuilder->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:91 5.5484 6206088 18. TightenCo\Jigsaw\Handlers\CollectionItemHandler->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:124 5.5485 6205232 19. TightenCo\Jigsaw\Handlers\MarkdownHandler->handleCollectionItem($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/CollectionItemHandler.php:55 5.5485 6205232 20. TightenCo\Jigsaw\Handlers\MarkdownHandler->buildOutput($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:31 5.5485 6206288 21. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49 5.5485 6206504 22. array_map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }, $array = [0 => '_layouts.post'], $arrays = [0 => 0]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6206704 23. TightenCo\Jigsaw\Handlers\MarkdownHandler->TightenCo\Jigsaw\Handlers{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49-64}($extends = '_layouts.post', $templateToExtend = 0) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6207008 24. TightenCo\Jigsaw\Handlers\MarkdownHandler->render($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:61 5.5485 6207168 25. TightenCo\Jigsaw\Handlers\MarkdownHandler->renderBladeMarkdownFile($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $uniqueFileName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md_layouts.post', $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:74 5.5490 6207424 26. TightenCo\Jigsaw\View\ViewRenderer->render($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:100 5.5491 6207584 27. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/ViewRenderer.php:42 5.5491 6207584 28. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5491 6207584 29. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5491 6207960 30. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5497 6208464 31. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5498 6228040 32. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5503 6252424 33. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php:2 5.5503 6252424 34. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5503 6252424 35. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5503 6252800 36. TightenCo\Jigsaw\View\BladeMarkdownEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5503 6252800 37. TightenCo\Jigsaw\View\BladeMarkdownEngine->evaluateBlade($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:23 5.5503 6252800 38. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:31 5.5534 6253976 39. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5536 6292232 40. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5542 6322976 41. Illuminate\View\AnonymousComponent->data() /Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php:13 5.5542 6322976 42. Composer\Autoload\ClassLoader->loadClass($class = 'Illuminate\View\ComponentAttributeBag') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/AnonymousComponent.php:51 5.5542 6323136 43. Composer\Autoload\includeFile($file = '/Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/../illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:428 5.5544 6350008 44. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:571

Deprecated: Return type of Illuminate\View\ComponentAttributeBag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php on line 247

Call Stack: 0.0003 412936 1. {main}() /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:0 0.0004 416176 2. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw') /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:107 0.0620 2823128 3. Symfony\Component\Console\Application->run($input = ???, $output = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw:16 0.0751 2918440 4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:167 0.0755 2938088 5. Symfony\Component\Console\Application->doRunCommand($command = class TightenCo\Jigsaw\Console\BuildCommand { private ${Symfony\Component\Console\Command\Command}application = class Symfony\Component\Console\Application { private $commands = [...]; private $wantHelps = FALSE; private $runningCommand = ...; private $name = 'Jigsaw'; private $version = '1.3.38'; private $commandLoader = NULL; private $catchExceptions = TRUE; private $autoExit = TRUE; private $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private $helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private $dispatcher = NULL; private $terminal = class Symfony\Component\Console\Terminal { ... }; private $defaultCommand = 'list'; private $singleCommand = FALSE; private $initialized = TRUE; private $signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private $signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'build'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = ''; private ${Symfony\Component\Console\Command\Command}description = 'Build your site.'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL }; private $app = class Illuminate\Container\Container { protected $resolved = [...]; protected $bindings = [...]; protected $methodBindings = [...]; protected $instances = [...]; protected $aliases = [...]; protected $abstractAliases = [...]; protected $extenders = [...]; protected $tags = [...]; protected $buildStack = [...]; protected $with = [...]; public $contextual = [...]; protected $reboundCallbacks = [...]; protected $globalResolvingCallbacks = [...]; protected $globalAfterResolvingCallbacks = [...]; protected $resolvingCallbacks = [...]; protected $afterResolvingCallbacks = [...] }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(94) of type (stream); private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = [...]; protected $progressBars = [...]; protected $sections = class Illuminate\Support\Collection { ... } }; public $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; protected $stream = NULL; protected $options = [...]; protected $arguments = [...]; protected $interactive = TRUE; private $tokens = [...]; private $parsed = [...] }; public $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private $consoleSectionOutputs = [...] }; public $console = class TightenCo\Jigsaw\Console\ConsoleSession { protected $input = class Symfony\Component\Console\Input\ArgvInput { ... }; protected $output = class Symfony\Component\Console\Output\ConsoleOutput { ... }; protected $question = class Symfony\Component\Console\Helper\QuestionHelper { ... } } }, $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:295 0.0755 2938088 6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:978 0.0756 2939848 7. TightenCo\Jigsaw\Console\Command->execute($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Command/Command.php:299 0.1866 2954728 8. TightenCo\Jigsaw\Console\BuildCommand->fire() /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/Command.php:21 2.4188 5072192 9. TightenCo\Jigsaw\Jigsaw->build($env = 'production', $useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/BuildCommand.php:60 4.8672 5792944 10. TightenCo\Jigsaw\Jigsaw->buildSite($useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:46 4.8673 5792944 11. TightenCo\Jigsaw\SiteBuilder->build($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $destination = '/Users/pretzelhands/Projects/pretzelhands.com/build_production', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:76 4.8674 5792784 12. TightenCo\Jigsaw\SiteBuilder->generateFiles($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:43 4.8702 5908840 13. Illuminate\Support\Collection->flatMap($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88 4.8702 5908840 14. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Traits/EnumeratesValues.php:311 4.8702 5911456 15. array_map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }, $array = [0 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = class TightenCo\Jigsaw\PageVariable { ... } }, 1 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 2 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 3 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 4 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 5 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 6 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 7 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 8 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 9 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 10 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 11 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 12 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 13 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 14 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 15 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 16 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 17 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 18 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 19 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 20 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 21 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 22 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 23 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 24 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 25 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 26 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 27 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 28 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 29 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 30 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 31 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 32 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 33 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 34 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 35 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 36 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 37 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 38 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 39 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 40 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 41 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 42 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 43 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 44 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 45 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 46 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 47 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 48 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 49 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 50 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 51 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 52 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 53 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 54 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 55 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 56 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 57 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 58 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 59 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 60 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 61 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 62 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 63 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 64 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 65 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }], $arrays = [0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 => 28, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37, 38 => 38, 39 => 39, 40 => 40, 41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45, 46 => 46, 47 => 47, 48 => 48, 49 => 49, 50 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 62 => 62, 63 => 63, 64 => 64, 65 => 65]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 16. TightenCo\Jigsaw\SiteBuilder->TightenCo\Jigsaw{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88-92}($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, 3) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 17. TightenCo\Jigsaw\SiteBuilder->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:91 5.5484 6206088 18. TightenCo\Jigsaw\Handlers\CollectionItemHandler->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:124 5.5485 6205232 19. TightenCo\Jigsaw\Handlers\MarkdownHandler->handleCollectionItem($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/CollectionItemHandler.php:55 5.5485 6205232 20. TightenCo\Jigsaw\Handlers\MarkdownHandler->buildOutput($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:31 5.5485 6206288 21. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49 5.5485 6206504 22. array_map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }, $array = [0 => '_layouts.post'], $arrays = [0 => 0]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6206704 23. TightenCo\Jigsaw\Handlers\MarkdownHandler->TightenCo\Jigsaw\Handlers{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49-64}($extends = '_layouts.post', $templateToExtend = 0) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6207008 24. TightenCo\Jigsaw\Handlers\MarkdownHandler->render($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:61 5.5485 6207168 25. TightenCo\Jigsaw\Handlers\MarkdownHandler->renderBladeMarkdownFile($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $uniqueFileName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md_layouts.post', $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:74 5.5490 6207424 26. TightenCo\Jigsaw\View\ViewRenderer->render($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:100 5.5491 6207584 27. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/ViewRenderer.php:42 5.5491 6207584 28. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5491 6207584 29. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5491 6207960 30. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5497 6208464 31. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5498 6228040 32. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5503 6252424 33. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php:2 5.5503 6252424 34. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5503 6252424 35. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5503 6252800 36. TightenCo\Jigsaw\View\BladeMarkdownEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5503 6252800 37. TightenCo\Jigsaw\View\BladeMarkdownEngine->evaluateBlade($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:23 5.5503 6252800 38. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:31 5.5534 6253976 39. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5536 6292232 40. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5542 6322976 41. Illuminate\View\AnonymousComponent->data() /Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php:13 5.5542 6322976 42. Composer\Autoload\ClassLoader->loadClass($class = 'Illuminate\View\ComponentAttributeBag') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/AnonymousComponent.php:51 5.5542 6323136 43. Composer\Autoload\includeFile($file = '/Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/../illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:428 5.5544 6350008 44. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:571

Deprecated: Return type of Illuminate\View\ComponentAttributeBag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php on line 259

Call Stack: 0.0003 412936 1. {main}() /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:0 0.0004 416176 2. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw') /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:107 0.0620 2823128 3. Symfony\Component\Console\Application->run($input = ???, $output = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw:16 0.0751 2918440 4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:167 0.0755 2938088 5. Symfony\Component\Console\Application->doRunCommand($command = class TightenCo\Jigsaw\Console\BuildCommand { private ${Symfony\Component\Console\Command\Command}application = class Symfony\Component\Console\Application { private $commands = [...]; private $wantHelps = FALSE; private $runningCommand = ...; private $name = 'Jigsaw'; private $version = '1.3.38'; private $commandLoader = NULL; private $catchExceptions = TRUE; private $autoExit = TRUE; private $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private $helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private $dispatcher = NULL; private $terminal = class Symfony\Component\Console\Terminal { ... }; private $defaultCommand = 'list'; private $singleCommand = FALSE; private $initialized = TRUE; private $signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private $signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'build'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = ''; private ${Symfony\Component\Console\Command\Command}description = 'Build your site.'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL }; private $app = class Illuminate\Container\Container { protected $resolved = [...]; protected $bindings = [...]; protected $methodBindings = [...]; protected $instances = [...]; protected $aliases = [...]; protected $abstractAliases = [...]; protected $extenders = [...]; protected $tags = [...]; protected $buildStack = [...]; protected $with = [...]; public $contextual = [...]; protected $reboundCallbacks = [...]; protected $globalResolvingCallbacks = [...]; protected $globalAfterResolvingCallbacks = [...]; protected $resolvingCallbacks = [...]; protected $afterResolvingCallbacks = [...] }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(94) of type (stream); private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = [...]; protected $progressBars = [...]; protected $sections = class Illuminate\Support\Collection { ... } }; public $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; protected $stream = NULL; protected $options = [...]; protected $arguments = [...]; protected $interactive = TRUE; private $tokens = [...]; private $parsed = [...] }; public $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private $consoleSectionOutputs = [...] }; public $console = class TightenCo\Jigsaw\Console\ConsoleSession { protected $input = class Symfony\Component\Console\Input\ArgvInput { ... }; protected $output = class Symfony\Component\Console\Output\ConsoleOutput { ... }; protected $question = class Symfony\Component\Console\Helper\QuestionHelper { ... } } }, $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:295 0.0755 2938088 6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:978 0.0756 2939848 7. TightenCo\Jigsaw\Console\Command->execute($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Command/Command.php:299 0.1866 2954728 8. TightenCo\Jigsaw\Console\BuildCommand->fire() /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/Command.php:21 2.4188 5072192 9. TightenCo\Jigsaw\Jigsaw->build($env = 'production', $useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/BuildCommand.php:60 4.8672 5792944 10. TightenCo\Jigsaw\Jigsaw->buildSite($useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:46 4.8673 5792944 11. TightenCo\Jigsaw\SiteBuilder->build($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $destination = '/Users/pretzelhands/Projects/pretzelhands.com/build_production', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:76 4.8674 5792784 12. TightenCo\Jigsaw\SiteBuilder->generateFiles($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:43 4.8702 5908840 13. Illuminate\Support\Collection->flatMap($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88 4.8702 5908840 14. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Traits/EnumeratesValues.php:311 4.8702 5911456 15. array_map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }, $array = [0 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = class TightenCo\Jigsaw\PageVariable { ... } }, 1 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 2 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 3 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 4 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 5 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 6 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 7 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 8 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 9 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 10 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 11 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 12 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 13 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 14 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 15 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 16 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 17 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 18 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 19 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 20 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 21 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 22 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 23 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 24 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 25 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 26 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 27 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 28 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 29 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 30 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 31 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 32 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 33 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 34 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 35 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 36 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 37 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 38 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 39 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 40 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 41 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 42 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 43 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 44 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 45 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 46 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 47 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 48 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 49 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 50 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 51 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 52 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 53 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 54 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 55 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 56 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 57 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 58 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 59 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 60 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 61 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 62 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 63 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 64 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 65 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }], $arrays = [0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 => 28, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37, 38 => 38, 39 => 39, 40 => 40, 41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45, 46 => 46, 47 => 47, 48 => 48, 49 => 49, 50 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 62 => 62, 63 => 63, 64 => 64, 65 => 65]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 16. TightenCo\Jigsaw\SiteBuilder->TightenCo\Jigsaw{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88-92}($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, 3) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 17. TightenCo\Jigsaw\SiteBuilder->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:91 5.5484 6206088 18. TightenCo\Jigsaw\Handlers\CollectionItemHandler->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:124 5.5485 6205232 19. TightenCo\Jigsaw\Handlers\MarkdownHandler->handleCollectionItem($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/CollectionItemHandler.php:55 5.5485 6205232 20. TightenCo\Jigsaw\Handlers\MarkdownHandler->buildOutput($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:31 5.5485 6206288 21. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49 5.5485 6206504 22. array_map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }, $array = [0 => '_layouts.post'], $arrays = [0 => 0]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6206704 23. TightenCo\Jigsaw\Handlers\MarkdownHandler->TightenCo\Jigsaw\Handlers{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49-64}($extends = '_layouts.post', $templateToExtend = 0) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6207008 24. TightenCo\Jigsaw\Handlers\MarkdownHandler->render($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:61 5.5485 6207168 25. TightenCo\Jigsaw\Handlers\MarkdownHandler->renderBladeMarkdownFile($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $uniqueFileName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md_layouts.post', $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:74 5.5490 6207424 26. TightenCo\Jigsaw\View\ViewRenderer->render($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:100 5.5491 6207584 27. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/ViewRenderer.php:42 5.5491 6207584 28. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5491 6207584 29. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5491 6207960 30. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5497 6208464 31. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5498 6228040 32. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5503 6252424 33. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php:2 5.5503 6252424 34. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5503 6252424 35. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5503 6252800 36. TightenCo\Jigsaw\View\BladeMarkdownEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5503 6252800 37. TightenCo\Jigsaw\View\BladeMarkdownEngine->evaluateBlade($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:23 5.5503 6252800 38. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:31 5.5534 6253976 39. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5536 6292232 40. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5542 6322976 41. Illuminate\View\AnonymousComponent->data() /Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php:13 5.5542 6322976 42. Composer\Autoload\ClassLoader->loadClass($class = 'Illuminate\View\ComponentAttributeBag') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/AnonymousComponent.php:51 5.5542 6323136 43. Composer\Autoload\includeFile($file = '/Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/../illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:428 5.5544 6350008 44. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:571

Deprecated: Return type of Illuminate\View\ComponentAttributeBag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php on line 270

Call Stack: 0.0003 412936 1. {main}() /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:0 0.0004 416176 2. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw') /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:107 0.0620 2823128 3. Symfony\Component\Console\Application->run($input = ???, $output = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw:16 0.0751 2918440 4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:167 0.0755 2938088 5. Symfony\Component\Console\Application->doRunCommand($command = class TightenCo\Jigsaw\Console\BuildCommand { private ${Symfony\Component\Console\Command\Command}application = class Symfony\Component\Console\Application { private $commands = [...]; private $wantHelps = FALSE; private $runningCommand = ...; private $name = 'Jigsaw'; private $version = '1.3.38'; private $commandLoader = NULL; private $catchExceptions = TRUE; private $autoExit = TRUE; private $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private $helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private $dispatcher = NULL; private $terminal = class Symfony\Component\Console\Terminal { ... }; private $defaultCommand = 'list'; private $singleCommand = FALSE; private $initialized = TRUE; private $signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private $signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'build'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = ''; private ${Symfony\Component\Console\Command\Command}description = 'Build your site.'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL }; private $app = class Illuminate\Container\Container { protected $resolved = [...]; protected $bindings = [...]; protected $methodBindings = [...]; protected $instances = [...]; protected $aliases = [...]; protected $abstractAliases = [...]; protected $extenders = [...]; protected $tags = [...]; protected $buildStack = [...]; protected $with = [...]; public $contextual = [...]; protected $reboundCallbacks = [...]; protected $globalResolvingCallbacks = [...]; protected $globalAfterResolvingCallbacks = [...]; protected $resolvingCallbacks = [...]; protected $afterResolvingCallbacks = [...] }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(94) of type (stream); private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = [...]; protected $progressBars = [...]; protected $sections = class Illuminate\Support\Collection { ... } }; public $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; protected $stream = NULL; protected $options = [...]; protected $arguments = [...]; protected $interactive = TRUE; private $tokens = [...]; private $parsed = [...] }; public $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private $consoleSectionOutputs = [...] }; public $console = class TightenCo\Jigsaw\Console\ConsoleSession { protected $input = class Symfony\Component\Console\Input\ArgvInput { ... }; protected $output = class Symfony\Component\Console\Output\ConsoleOutput { ... }; protected $question = class Symfony\Component\Console\Helper\QuestionHelper { ... } } }, $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:295 0.0755 2938088 6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:978 0.0756 2939848 7. TightenCo\Jigsaw\Console\Command->execute($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Command/Command.php:299 0.1866 2954728 8. TightenCo\Jigsaw\Console\BuildCommand->fire() /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/Command.php:21 2.4188 5072192 9. TightenCo\Jigsaw\Jigsaw->build($env = 'production', $useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/BuildCommand.php:60 4.8672 5792944 10. TightenCo\Jigsaw\Jigsaw->buildSite($useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:46 4.8673 5792944 11. TightenCo\Jigsaw\SiteBuilder->build($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $destination = '/Users/pretzelhands/Projects/pretzelhands.com/build_production', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:76 4.8674 5792784 12. TightenCo\Jigsaw\SiteBuilder->generateFiles($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:43 4.8702 5908840 13. Illuminate\Support\Collection->flatMap($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88 4.8702 5908840 14. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Traits/EnumeratesValues.php:311 4.8702 5911456 15. array_map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }, $array = [0 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = class TightenCo\Jigsaw\PageVariable { ... } }, 1 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 2 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 3 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 4 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 5 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 6 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 7 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 8 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 9 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 10 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 11 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 12 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 13 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 14 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 15 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 16 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 17 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 18 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 19 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 20 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 21 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 22 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 23 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 24 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 25 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 26 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 27 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 28 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 29 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 30 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 31 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 32 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 33 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 34 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 35 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 36 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 37 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 38 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 39 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 40 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 41 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 42 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 43 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 44 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 45 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 46 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 47 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 48 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 49 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 50 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 51 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 52 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 53 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 54 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 55 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 56 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 57 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 58 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 59 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 60 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 61 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 62 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 63 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 64 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 65 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }], $arrays = [0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 => 28, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37, 38 => 38, 39 => 39, 40 => 40, 41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45, 46 => 46, 47 => 47, 48 => 48, 49 => 49, 50 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 62 => 62, 63 => 63, 64 => 64, 65 => 65]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 16. TightenCo\Jigsaw\SiteBuilder->TightenCo\Jigsaw{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88-92}($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, 3) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 17. TightenCo\Jigsaw\SiteBuilder->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:91 5.5484 6206088 18. TightenCo\Jigsaw\Handlers\CollectionItemHandler->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:124 5.5485 6205232 19. TightenCo\Jigsaw\Handlers\MarkdownHandler->handleCollectionItem($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/CollectionItemHandler.php:55 5.5485 6205232 20. TightenCo\Jigsaw\Handlers\MarkdownHandler->buildOutput($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:31 5.5485 6206288 21. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49 5.5485 6206504 22. array_map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }, $array = [0 => '_layouts.post'], $arrays = [0 => 0]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6206704 23. TightenCo\Jigsaw\Handlers\MarkdownHandler->TightenCo\Jigsaw\Handlers{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49-64}($extends = '_layouts.post', $templateToExtend = 0) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6207008 24. TightenCo\Jigsaw\Handlers\MarkdownHandler->render($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:61 5.5485 6207168 25. TightenCo\Jigsaw\Handlers\MarkdownHandler->renderBladeMarkdownFile($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $uniqueFileName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md_layouts.post', $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:74 5.5490 6207424 26. TightenCo\Jigsaw\View\ViewRenderer->render($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:100 5.5491 6207584 27. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/ViewRenderer.php:42 5.5491 6207584 28. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5491 6207584 29. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5491 6207960 30. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5497 6208464 31. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5498 6228040 32. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5503 6252424 33. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php:2 5.5503 6252424 34. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5503 6252424 35. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5503 6252800 36. TightenCo\Jigsaw\View\BladeMarkdownEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5503 6252800 37. TightenCo\Jigsaw\View\BladeMarkdownEngine->evaluateBlade($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:23 5.5503 6252800 38. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:31 5.5534 6253976 39. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5536 6292232 40. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5542 6322976 41. Illuminate\View\AnonymousComponent->data() /Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php:13 5.5542 6322976 42. Composer\Autoload\ClassLoader->loadClass($class = 'Illuminate\View\ComponentAttributeBag') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/AnonymousComponent.php:51 5.5542 6323136 43. Composer\Autoload\includeFile($file = '/Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/../illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:428 5.5544 6350008 44. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:571

Deprecated: Return type of Illuminate\View\ComponentAttributeBag::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php on line 280

Call Stack: 0.0003 412936 1. {main}() /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:0 0.0004 416176 2. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw') /Users/pretzelhands/Projects/pretzelhands.com/vendor/bin/jigsaw:107 0.0620 2823128 3. Symfony\Component\Console\Application->run($input = ???, $output = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/jigsaw:16 0.0751 2918440 4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:167 0.0755 2938088 5. Symfony\Component\Console\Application->doRunCommand($command = class TightenCo\Jigsaw\Console\BuildCommand { private ${Symfony\Component\Console\Command\Command}application = class Symfony\Component\Console\Application { private $commands = [...]; private $wantHelps = FALSE; private $runningCommand = ...; private $name = 'Jigsaw'; private $version = '1.3.38'; private $commandLoader = NULL; private $catchExceptions = TRUE; private $autoExit = TRUE; private $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private $helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private $dispatcher = NULL; private $terminal = class Symfony\Component\Console\Terminal { ... }; private $defaultCommand = 'list'; private $singleCommand = FALSE; private $initialized = TRUE; private $signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private $signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'build'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 0; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = ''; private ${Symfony\Component\Console\Command\Command}description = 'Build your site.'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = NULL; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL }; private $app = class Illuminate\Container\Container { protected $resolved = [...]; protected $bindings = [...]; protected $methodBindings = [...]; protected $instances = [...]; protected $aliases = [...]; protected $abstractAliases = [...]; protected $extenders = [...]; protected $tags = [...]; protected $buildStack = [...]; protected $with = [...]; public $contextual = [...]; protected $reboundCallbacks = [...]; protected $globalResolvingCallbacks = [...]; protected $globalAfterResolvingCallbacks = [...]; protected $resolvingCallbacks = [...]; protected $afterResolvingCallbacks = [...] }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(94) of type (stream); private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = [...]; protected $progressBars = [...]; protected $sections = class Illuminate\Support\Collection { ... } }; public $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { ... }; protected $stream = NULL; protected $options = [...]; protected $arguments = [...]; protected $interactive = TRUE; private $tokens = [...]; private $parsed = [...] }; public $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private $consoleSectionOutputs = [...] }; public $console = class TightenCo\Jigsaw\Console\ConsoleSession { protected $input = class Symfony\Component\Console\Input\ArgvInput { ... }; protected $output = class Symfony\Component\Console\Output\ConsoleOutput { ... }; protected $question = class Symfony\Component\Console\Helper\QuestionHelper { ... } } }, $input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:295 0.0755 2938088 6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Application.php:978 0.0756 2939848 7. TightenCo\Jigsaw\Console\Command->execute($input = class Symfony\Component\Console\Input\ArgvInput { protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $lastArrayArgument = NULL; private $lastOptionalArgument = class Symfony\Component\Console\Input\InputArgument { ... }; private $options = [...]; private $negations = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'build', 'env' => 'production']; protected $interactive = TRUE; private $tokens = [0 => 'build', 1 => 'production']; private $parsed = [] }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(112) of type (stream); private $stderr = class Symfony\Component\Console\Output\StreamOutput { private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... }; private $stream = resource(113) of type (stream) }; private $consoleSectionOutputs = [] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/symfony/console/Command/Command.php:299 0.1866 2954728 8. TightenCo\Jigsaw\Console\BuildCommand->fire() /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/Command.php:21 2.4188 5072192 9. TightenCo\Jigsaw\Jigsaw->build($env = 'production', $useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Console/BuildCommand.php:60 4.8672 5792944 10. TightenCo\Jigsaw\Jigsaw->buildSite($useCache = FALSE) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:46 4.8673 5792944 11. TightenCo\Jigsaw\SiteBuilder->build($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $destination = '/Users/pretzelhands/Projects/pretzelhands.com/build_production', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Jigsaw.php:76 4.8674 5792784 12. TightenCo\Jigsaw\SiteBuilder->generateFiles($source = '/Users/pretzelhands/Projects/pretzelhands.com/source', $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:43 4.8702 5908840 13. Illuminate\Support\Collection->flatMap($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88 4.8702 5908840 14. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Traits/EnumeratesValues.php:311 4.8702 5911456 15. array_map($callback = class Closure { public $static = ['siteData' => class TightenCo\Jigsaw\SiteData { ... }]; public $this = class TightenCo\Jigsaw\SiteBuilder { private $cachePath = '/Users/pretzelhands/Projects/pretzelhands.com/cache'; private $files = class TightenCo\Jigsaw\File\Filesystem { ... }; private $handlers = [...]; private $outputPathResolver = class TightenCo\Jigsaw\PathResolvers\PrettyOutputPathResolver { ... }; private $consoleOutput = class TightenCo\Jigsaw\Console\ConsoleOutput { ... }; private $useCache = FALSE }; public $parameter = ['$file' => ''] }, $array = [0 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = class TightenCo\Jigsaw\PageVariable { ... } }, 1 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 2 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 3 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 4 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 5 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 6 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 7 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 8 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 9 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 10 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 11 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 12 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 13 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 14 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 15 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 16 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 17 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 18 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 19 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 20 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 21 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 22 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 23 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 24 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 25 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 26 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 27 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 28 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 29 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 30 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 31 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 32 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 33 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 34 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 35 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 36 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 37 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 38 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 39 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 40 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 41 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 42 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 43 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 44 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 45 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 46 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 47 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 48 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 49 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 50 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 51 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 52 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 53 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 54 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 55 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 56 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 57 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 58 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 59 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 60 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 61 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 62 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 63 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 64 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }, 65 => class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { ... }; protected $extraBladeExtensions = [...]; protected $pageData = NULL }], $arrays = [0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 14 => 14, 15 => 15, 16 => 16, 17 => 17, 18 => 18, 19 => 19, 20 => 20, 21 => 21, 22 => 22, 23 => 23, 24 => 24, 25 => 25, 26 => 26, 27 => 27, 28 => 28, 29 => 29, 30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37, 38 => 38, 39 => 39, 40 => 40, 41 => 41, 42 => 42, 43 => 43, 44 => 44, 45 => 45, 46 => 46, 47 => 47, 48 => 48, 49 => 49, 50 => 50, 51 => 51, 52 => 52, 53 => 53, 54 => 54, 55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 62 => 62, 63 => 63, 64 => 64, 65 => 65]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 16. TightenCo\Jigsaw\SiteBuilder->TightenCo\Jigsaw{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:88-92}($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, 3) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5483 6205968 17. TightenCo\Jigsaw\SiteBuilder->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $siteData = class TightenCo\Jigsaw\SiteData { protected $items = ['page' => class TightenCo\Jigsaw\IterableObject { ... }, 'posts' => class TightenCo\Jigsaw\PageVariable { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:91 5.5484 6206088 18. TightenCo\Jigsaw\Handlers\CollectionItemHandler->handle($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/SiteBuilder.php:124 5.5485 6205232 19. TightenCo\Jigsaw\Handlers\MarkdownHandler->handleCollectionItem($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/CollectionItemHandler.php:55 5.5485 6205232 20. TightenCo\Jigsaw\Handlers\MarkdownHandler->buildOutput($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:31 5.5485 6206288 21. Illuminate\Support\Collection->map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49 5.5485 6206504 22. array_map($callback = class Closure { public $static = ['file' => class TightenCo\Jigsaw\File\InputFile { ... }, 'pageData' => class TightenCo\Jigsaw\PageData { ... }]; public $this = class TightenCo\Jigsaw\Handlers\MarkdownHandler { private $temporaryFilesystem = class TightenCo\Jigsaw\File\TemporaryFilesystem { ... }; private $parser = class TightenCo\Jigsaw\Parsers\FrontMatterParser { ... }; private $view = class TightenCo\Jigsaw\View\ViewRenderer { ... } }; public $parameter = ['$extends' => '', '$templateToExtend' => ''] }, $array = [0 => '_layouts.post'], $arrays = [0 => 0]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6206704 23. TightenCo\Jigsaw\Handlers\MarkdownHandler->TightenCo\Jigsaw\Handlers{closure:/Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:49-64}($extends = '_layouts.post', $templateToExtend = 0) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/support/Collection.php:638 5.5485 6207008 24. TightenCo\Jigsaw\Handlers\MarkdownHandler->render($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:61 5.5485 6207168 25. TightenCo\Jigsaw\Handlers\MarkdownHandler->renderBladeMarkdownFile($file = class TightenCo\Jigsaw\File\InputFile { protected $file = class Symfony\Component\Finder\SplFileInfo { private $relativePath = '_posts'; private $relativePathname = '_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}pathName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md'; private ${SplFileInfo}fileName = '2021-01-26-build-your-own-psr-4-autoloader.blade.md' }; protected $extraBladeExtensions = [0 => 'js', 1 => 'json', 2 => 'xml', 3 => 'yaml', 4 => 'yml', 5 => 'rss', 6 => 'atom', 7 => 'txt', 8 => 'text', 9 => 'html']; protected $pageData = NULL }, $uniqueFileName = '/Users/pretzelhands/Projects/pretzelhands.com/source/_posts/2021-01-26-build-your-own-psr-4-autoloader.blade.md_layouts.post', $pageData = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }, $extends = '_layouts.post') /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:74 5.5490 6207424 26. TightenCo\Jigsaw\View\ViewRenderer->render($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = class TightenCo\Jigsaw\PageData { protected $items = ['posts' => class TightenCo\Jigsaw\PageVariable { ... }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { ... }] }) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/Handlers/MarkdownHandler.php:100 5.5491 6207584 27. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/ViewRenderer.php:42 5.5491 6207584 28. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5491 6207584 29. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5491 6207960 30. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/5e83d1e3b85c58533d35bc99d3547462a2e542ef.blade.php', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5497 6208464 31. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5498 6228040 32. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5503 6252424 33. Illuminate\View\View->render($callback = ???) /Users/pretzelhands/Projects/pretzelhands.com/cache/41098a4489e2ff6e7b3a745d6451293772516b2e.php:2 5.5503 6252424 34. Illuminate\View\View->renderContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:91 5.5503 6252424 35. Illuminate\View\View->getContents() /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:122 5.5503 6252800 36. TightenCo\Jigsaw\View\BladeMarkdownEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/View.php:139 5.5503 6252800 37. TightenCo\Jigsaw\View\BladeMarkdownEngine->evaluateBlade($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:23 5.5503 6252800 38. Illuminate\View\Engines\CompilerEngine->get($path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/60d23ed81c219cbbc8f625909fcdc93ff9081ce4.blade.md', $data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/tightenco/jigsaw/src/View/BladeMarkdownEngine.php:31 5.5534 6253976 39. Illuminate\View\Engines\PhpEngine->evaluatePath($__path = '/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php', $__data = ['__env' => class Illuminate\View\Factory { protected $engines = class Illuminate\View\Engines\EngineResolver { ... }; protected $finder = class Illuminate\View\FileViewFinder { ... }; protected $events = class TightenCo\Jigsaw\Events\FakeDispatcher { ... }; protected $container = class Illuminate\Container\Container { ... }; protected $shared = [...]; protected $extensions = [...]; protected $composers = [...]; protected $renderCount = 2; protected $renderedOnce = [...]; protected $componentStack = [...]; protected $componentData = [...]; protected $slots = [...]; protected $slotStack = [...]; protected $sections = [...]; protected $sectionStack = [...]; protected $loopsStack = [...]; protected $pushes = [...]; protected $prepends = [...]; protected $pushStack = [...]; protected $translationReplacements = [...] }, 'obLevel' => 0, 'posts' => class TightenCo\Jigsaw\PageVariable { protected $items = [...] }, 'page' => class TightenCo\Jigsaw\Collection\CollectionItem { protected $items = [...]; public $collection = class TightenCo\Jigsaw\Collection\Collection { ... }; public $_content = class Closure { ... } }]) /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/CompilerEngine.php:57 5.5536 6292232 40. include('/Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/Engines/PhpEngine.php:41 5.5542 6322976 41. Illuminate\View\AnonymousComponent->data() /Users/pretzelhands/Projects/pretzelhands.com/cache/26887af9992d474fa9a02d559fac7763937ce6b6.php:13 5.5542 6322976 42. Composer\Autoload\ClassLoader->loadClass($class = 'Illuminate\View\ComponentAttributeBag') /Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/AnonymousComponent.php:51 5.5542 6323136 43. Composer\Autoload\includeFile($file = '/Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/../illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:428 5.5544 6350008 44. include('/Users/pretzelhands/Projects/pretzelhands.com/vendor/illuminate/view/ComponentAttributeBag.php') /Users/pretzelhands/Projects/pretzelhands.com/vendor/composer/ClassLoader.php:571

You can find the repository for this project on GitHub

If you're anything like me, you've probably wondered before: "What kind of magic makes Composer go?" - You look at the source code of vendor/autoload.php and see it links to yet another autoloader that's called autoload_real.php Then there's a bunch of hashes and it's confusing and eventually you just accept that Composer is magic and you aren't worthy of its secrets.

Today, let's look at how you can build your own Composer. At least the autoloading part. We won't talk about the seven million other features that Composer provides to us aside from that.

Setting up the project

This time, all you need to bring is any kind of PHP installation. Technically it needs to be at least PHP 5.3, but I very much hope that you aren't running anything that old.

As always, we'll start with what we want our project structure to look like

psr-4/
├─ autoloader.php
├─ app.php
├─ src/
│  ├─ Pretzel/
│  │  ├─ RandomClass.php

autoloader.php is going to be what it says. This file will be roughly equivalent to vendor/autoload.php when using Composer.

app.php is going to be our test file where we include the autoloader and try to use our classes.

src/ will contain our application-specific code. The folder doesn't have to be Pretzel. You pick whatever makes you happy.

Our stated goal is to load every class that is located in src/Pretzel. Each subdirectory constitutes a new namespace. So any file in src/Pretzel/Factory has a namespace of Pretzel\Factory.

The magic spice: spl_autoload_register

All we really need to create an autoloader is that function: spl_autoload_register. You can read more details about it in the PHP documentation.

You call it like this

<?php

spl_autoload_register(function(string $class) {
    // Perform unknowable magic here
});

All you need to pass in is a callable of some kind that receives one argument: a string with a class name. You can register multiple of these callbacks too. This is useful if you want to have a few logically different ways to load classes.

After your function is registered, PHP will call it every time a class is used for the first time. This is usually either when you call new on it, or when you use a static function on it. Let's see that in action.

Interacting with spl_autoload_register

I'll set up my autoloader.php like this:

// autoloader.php

<?php

spl_autoload_register(function(string $class) {
    die($class)
}

For now we'll just print the class name that was desired and exit. We also need a class to load, so let's build a quick PretzelFactory. It returns a pretzel emoji from a static method. It's very fancy.

// src/Pretzel/Factory/PretzelFactory

<?php

namespace Pretzel\Factory;

class PretzelFactory {
    public static function getPretzel(): string
    {
        return '🥨';
    }
}

We need to use that class somewhere. This is what our app.php file is for. We'll have to include our autoloader, pull the class in and then call the static method. Something like this.

// app.php

<?php

require __DIR__ . '/autoloader.php';

use Pretzel\Factory\PretzelFactory;

echo PretzelFactory::getPretzel();

When we run our app.php file, this is the result.

$ php app.php
Pretzel\Factory\PretzelFactory

So we get the fully-qualified class name (FQCN) passed to us. Now PSR-4 states that a FQCN name consists of:

  • A namespace prefix (e.g. Pretzel) that corresponds to a base directory (e.g. src/Pretzel)
  • Zero or more sub-namespaces (e.g. Factory) that correspond to a directory (e.g. src/Pretzel/Factory)
  • One class name corresponding to a PHP file with that same name (e.g. PretzelFactory.php)

Some of you might have realized by now, that our FQCN is essentially a direct path to the file we need to load. How convenient!

Loading the appropriate files

To load our file, first we need to turn our FQCN into an actual path. This can be done by replacing every backslash with a forward slash and appending .php at the end. With that, we can already autoload files from a hard-coded base path!

Let's try it out!

// autoloader.php

<?php

function fqcnToPath(string $fqcn) {
    return str_replace('\\', '/', $fqcn) . '.php';
}

spl_autoload_register(function (string $class) {
    $path = fqcnToPath($class);

    require __DIR__ . '/src/' . $path;
});

After adding this, we can just run our app.php script again

$ php app.php
🥨

Great success! This shows you what autoloading boils down to: A fancy way to require a PHP file just in time when it's needed. But if we want to be (reasonably) spec-compliant, we still have work to do.

Enjoying the read?

Then we should totally keep in touch! Every time I do something interesting, you'll be the first to know

Right now the path we load from is hard-coded to be src/ but according to PSR-4, every package is free to define its own namespace prefix that maps to a path. This is essentially what you do every time you set up autoloading in Composer

{
    "autoload": {
        "psr-4": {
            "Pretzel\\": "src/Pretzel"
        }
    }
}

So let's try to parse this JSON snippet and use it to load our classes. I'll call it conductor.json, because that's what the logo of Composer depicts, and we're basically a cheap knock-off. 🤪

Autoloading according to configuration

The first thing we have to do is to grab our JSON file and turn it into something we can actually work with (i.e. an associative array). Luckily, PHP has native functions for both of those things.

// autoloader.php

<?php

$configuration = json_decode(
    file_get_contents('conductor.json'),
    true
);

$namespaces = $configuration['autoload']['psr-4'];

// .. SNIP ..

Now, the user is free to specify as many namespaces and base directories as she wants, so we need to check if the prefixed/first namespace is available in our psr-4 associative array. We could use a foreach loop, but we can also make it a bit more efficient using a function called strtok().

// autoloader.php

<?php
// .. SNIP ..

spl_autoload_register(function (string $class) use ($namespaces) {
    $prefix = strtok($class, '\\') . '\\';

    // We don't handle that namespace.
    // Return and hope some other autoloader handles it.
    if (!array_key_exists($prefix, $namespaces)) return;

    $baseDirectory = $namespaces[$prefix];
});

What strtok does is tokenize the string according to a separator. If we pass in the backslash, it will return us everything up to the first backslash, excluding that. To correctly match our configuration, we just add it again ourselves.

For the performance nerds among you this makes sure that we find the proper base directory in O(1) time.

Then we check if this namespace prefix maps to a path in our configuration. If it does, great! If it doesn't, we just return from the function and hope that someone else handles this case. We can't do anything else with it.

The next step is to remove the prefixed namespace from our class name. This is because we know exactly what directory the prefix maps to, and we want to start building our final path from that. We can do this in our fqcnToPath function.

// autoloader.php

<?php
// .. SNIP ..

function fqcnToPath(string $fqcn, string $prefix) {
    $relativeClass = ltrim($fqcn, $prefix);

    return str_replace('\\', '/', $relativeClass) . '.php';
}

spl_autoload_register(function (string $class) use ($namespaces) {
    $prefix = strtok($class, '\\') . '\\';

    // We don't handle that namespace.
    // Return and hope some other autoloader handles it.
    if (!array_key_exists($prefix, $namespaces)) return;

    $baseDirectory = $namespaces[$prefix];
    $path = fqcnToPath($class, $prefix);
});

Once again PHP has our back! We use ltrim to remove the main namespace from the beginning of our FQCN. This gives us the "relative" class, in the same sense as having a relative path. The rest of the function stays the same.

At this point we have a base directory and a relative path going out from that base directory. So the final piece that's missing is trying to require the appropriate file!

// autoloader.php

<?php
// .. SNIP ..

spl_autoload_register(function (string $class) use ($namespaces) {
    $prefix = strtok($class, '\\') . '\\';

    // We don't handle that namespace.
    // Return and hope some other autoloader handles it.
    if (!array_key_exists($prefix, $namespaces)) return;

    $baseDirectory = $namespaces[$prefix];
    $path = fqcnToPath($class, $prefix);

    require $baseDirectory . '/' . $path;
});

At this point we can run our app.php again and see if it works as advertised.

$ php app.php
🥨

Great! So now we can add PSR-4 autoloading configuration to our JSON file just as if it were Composer. Of course, one should probably add some more input validation to this code. Users could forget to specify a \ in their namespace. Or they could accidentally add a / in the base directory. But I'll leave that part to you, dear reader.

Closing thoughts

While this is a simplified example of what Composer does internally, it still shows you the general principles of PSR-4 autoloading and what goes into it. Once you break it down, it's really not as complex as it seems!

The main reason I even got the idea was due to a side project I'm silently hacking away on. I needed a simple way to load in PHP classes that define plugins, and well, here we are.

As always, the entire code for this blog post is available on GitHub.

Go to homepage