Illuminate \ View \ ViewException (E_ERROR)
syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)
Previous exceptions
  • syntax error, unexpected '|', expecting variable (T_VARIABLE) (0)
Illuminate\View\ViewException thrown with message "syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)" Stacktrace: #28 Illuminate\View\ViewException in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php:35 #27 Illuminate\View\Engines\CompilerEngine:handleViewException in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php:43 #26 ParseError in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php:35 #25 Composer\Autoload\{closure} in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:427 #24 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #23 spl_autoload_call in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php:31 #22 include in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:576 #21 Composer\Autoload\{closure} in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:427 #20 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #19 spl_autoload_call in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php:56 #18 TOC\MarkupFixer:__construct in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/app/View/Composers/BlogPost.php:20 #17 App\View\Composers\BlogPost:override in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php:72 #16 Roots\Acorn\View\Composer:merge in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php:59 #15 Roots\Acorn\View\Composer:compose in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php:124 #14 Illuminate\View\Factory:Illuminate\View\Concerns\{closure} in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php:381 #13 Illuminate\Events\Dispatcher:Illuminate\Events\{closure} in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php:226 #12 Illuminate\Events\Dispatcher:dispatch in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php:177 #11 Illuminate\View\Factory:callComposer in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:120 #10 Illuminate\View\View:renderContents in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:91 #9 Illuminate\View\View:render in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/2bc8d2ea874031e3ddb3a557319b7cad31a2f2d3.php:3 #8 include in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php:41 #7 Illuminate\View\Engines\PhpEngine:evaluatePath in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/CompilerEngine.php:57 #6 Illuminate\View\Engines\CompilerEngine:get in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:139 #5 Illuminate\View\View:getContents in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:122 #4 Illuminate\View\View:renderContents in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:91 #3 Illuminate\View\View:render in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php:4 #2 include in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php:106 #1 require_once in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php:19 #0 require in /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php:6
28
Illuminate\View\ViewException
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php35
27
Illuminate\View\Engines\CompilerEngine handleViewException
/vendor/illuminate/view/Engines/PhpEngine.php43
26
ParseError
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php35
25
Composer\Autoload\{closure}
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php427
24
Composer\Autoload\ClassLoader loadClass
[internal]0
23
spl_autoload_call
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php31
22
include
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php576
21
Composer\Autoload\{closure}
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php427
20
Composer\Autoload\ClassLoader loadClass
[internal]0
19
spl_autoload_call
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php56
18
TOC\MarkupFixer __construct
/app/View/Composers/BlogPost.php20
17
App\View\Composers\BlogPost override
/vendor/roots/acorn/src/Acorn/View/Composer.php72
16
Roots\Acorn\View\Composer merge
/vendor/roots/acorn/src/Acorn/View/Composer.php59
15
Roots\Acorn\View\Composer compose
/vendor/illuminate/view/Concerns/ManagesEvents.php124
14
Illuminate\View\Factory Illuminate\View\Concerns\{closure}
/vendor/illuminate/events/Dispatcher.php381
13
Illuminate\Events\Dispatcher Illuminate\Events\{closure}
/vendor/illuminate/events/Dispatcher.php226
12
Illuminate\Events\Dispatcher dispatch
/vendor/illuminate/view/Concerns/ManagesEvents.php177
11
Illuminate\View\Factory callComposer
/vendor/illuminate/view/View.php120
10
Illuminate\View\View renderContents
/vendor/illuminate/view/View.php91
9
Illuminate\View\View render
/storage/framework/views/2bc8d2ea874031e3ddb3a557319b7cad31a2f2d3.php3
8
include
/vendor/illuminate/view/Engines/PhpEngine.php41
7
Illuminate\View\Engines\PhpEngine evaluatePath
/vendor/illuminate/view/Engines/CompilerEngine.php57
6
Illuminate\View\Engines\CompilerEngine get
/vendor/illuminate/view/View.php139
5
Illuminate\View\View getContents
/vendor/illuminate/view/View.php122
4
Illuminate\View\View renderContents
/vendor/illuminate/view/View.php91
3
Illuminate\View\View render
/index.php4
2
include
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php106
1
require_once
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php19
0
require
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php6
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php
 *
 * @package   org.cocur.slugify
 * @author    Florian Eckerstorfer <florian@eckerstorfer.co>
 * @author    Marchenko Alexandr
 * @copyright 2012-2014 Florian Eckerstorfer
 * @license   http://www.opensource.org/licenses/MIT The MIT License
 */
interface SlugifyInterface
{
    /**
     * Return a URL safe version of a string.
     *
     * @param string            $string
     * @param string|array|null $options
     *
     * @return string
     *
     * @api
     */
    public function slugify(string $string, array|string|null $options = null): string;
}
 
Arguments
  1. "syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)"
    
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php
     *
     * @param  string  $__path
     * @param  array  $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Throwable $e) {
            $this->handleViewException($e, $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Throwable  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Throwable
     */
    protected function handleViewException(Throwable $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
        }
 
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php
 *
 * @package   org.cocur.slugify
 * @author    Florian Eckerstorfer <florian@eckerstorfer.co>
 * @author    Marchenko Alexandr
 * @copyright 2012-2014 Florian Eckerstorfer
 * @license   http://www.opensource.org/licenses/MIT The MIT License
 */
interface SlugifyInterface
{
    /**
     * Return a URL safe version of a string.
     *
     * @param string            $string
     * @param string|array|null $options
     *
     * @return string
     *
     * @api
     */
    public function slugify(string $string, array|string|null $options = null): string;
}
 
Arguments
  1. "syntax error, unexpected '|', expecting variable (T_VARIABLE)"
    
Exception message: syntax error, unexpected '|', expecting variable (T_VARIABLE)
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
 
        if (null !== $this->vendorDir) {
            unset(self::$registeredLoaders[$this->vendorDir]);
        }
    }
 
    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return true|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            $includeFile = self::$includeFile;
            $includeFile($file);
 
            return true;
        }
 
        return null;
    }
 
    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
[internal]
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php
 *
 * For the full copyright and license information, please view the LICENSE.md
 * file that was distributed with this source code.
 *
 * ------------------------------------------------------------------
 */
 
declare(strict_types=1);
 
namespace TOC;
 
use Cocur\Slugify\Slugify;
use Cocur\Slugify\SlugifyInterface;
 
/**
 * UniqueSlugify creates slugs from text without repeating the same slug twice per instance
 *
 * @author Casey McLaughlin <caseyamcl@gmail.com>
 */
class UniqueSlugify implements SlugifyInterface
{
    /**
     * @var SlugifyInterface
     */
    private $slugify;
 
    /**
     * @var array
     */
    private $used;
 
    /**
     * Constructor
     *
     * @param SlugifyInterface|null $slugify
     */
    public function __construct(?SlugifyInterface $slugify = null)
    {
        $this->used = array();
        $this->slugify = $slugify ?: new Slugify();
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php
 
    /**
     * @return void
     */
    private static function initializeIncludeClosure()
    {
        if (self::$includeFile !== null) {
            return;
        }
 
        /**
         * Scope isolated include.
         *
         * Prevents access to $this/self from included files.
         *
         * @param  string $file
         * @return void
         */
        self::$includeFile = \Closure::bind(static function($file) {
            include $file;
        }, null, null);
    }
}
 
Arguments
  1. "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php"
    
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
 
        if (null !== $this->vendorDir) {
            unset(self::$registeredLoaders[$this->vendorDir]);
        }
    }
 
    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return true|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            $includeFile = self::$includeFile;
            $includeFile($file);
 
            return true;
        }
 
        return null;
    }
 
    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
[internal]
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php
    /**
     * @var HTML5
     */
    private $htmlParser;
 
    /**
     * @var SlugifyInterface
     */
    private $slugifier;
 
    /**
     * Constructor
     *
     * @param HTML5|null $htmlParser
     * @param SlugifyInterface|null $slugify
     */
    public function __construct(?HTML5 $htmlParser = null, ?SlugifyInterface $slugify = null)
    {
        $this->htmlParser = $htmlParser ?? new HTML5();
        $this->slugifier = $slugify ?? new UniqueSlugify();
    }
 
    /**
     * Fix markup
     *
     * @param string $markup
     * @param int    $topLevel
     * @param int    $depth
     * @return string Markup with added IDs
     * @throws RuntimeException
     */
    public function fix(string $markup, int $topLevel = 1, int $depth = 6): string
    {
        if (! $this->isFullHtmlDocument($markup)) {
            $partialID = uniqid('toc_generator_');
            $markup = sprintf("<body id='%s'>%s</body>", $partialID, $markup);
        }
 
        $domDocument = $this->htmlParser->loadHTML($markup);
        $domDocument->preserveWhiteSpace = true; // do not clobber whitespace
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/app/View/Composers/BlogPost.php
<?php
 
namespace App\View\Composers;
 
use DOMDocument;
use Roots\Acorn\View\Composer;
 
class BlogPost extends Composer
{
    protected static $views = [
        'partials.content-single',
    ];
 
    public function override()
    {
        $fields = get_fields();
 
        $htmlContent = apply_filters( 'the_content', get_the_content() );
 
        $markupFixer  = new \TOC\MarkupFixer();
        $tocGenerator = new \TOC\TocGenerator();
 
        $htmlContent = $markupFixer->fix($htmlContent);
        $fields['toc'] = $tocGenerator->getOrderedHtmlMenu($htmlContent);
        $fields['the_content'] = $htmlContent;
        $fields['the_category'] = $this->getCategory();
 
        return $fields;
    }
 
    public function getCategory() {
      $category = null;
      if(get_the_terms(get_the_id(), 'category')) {
        foreach(get_the_terms(get_the_id(), 'category') as $term) {
            if($term->name !== "Blog" && $term->name !== "Events" && $term->name !== "News") {
                $category = $term;
                return $category;
            }
        }
      }
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php
     */
    public function compose(View $view)
    {
        $this->view = $view;
        $this->data = new Fluent($view->getData());
 
        $view->with($this->merge());
    }
 
    /**
     * Data to be merged and passed to the view before rendering.
     *
     * @return array
     */
    protected function merge()
    {
        return array_merge(
            $this->with(),
            $this->view->getData(),
            $this->override()
        );
    }
 
    /**
     * Data to be passed to view before rendering
     *
     * @return array
     */
    protected function with()
    {
        return [];
    }
 
    /**
     * Data to be passed to view before rendering
     *
     * @return array
     */
    protected function override()
    {
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php
            return static::$views;
        }
 
        $view = array_slice(explode('\\', static::class), 3);
        $view = array_map([Str::class, 'snake'], $view, array_fill(0, count($view), '-'));
        return implode('/', $view);
    }
 
    /**
     * Compose the view before rendering.
     *
     * @param  \Illuminate\View\View $view
     * @return void
     */
    public function compose(View $view)
    {
        $this->view = $view;
        $this->data = new Fluent($view->getData());
 
        $view->with($this->merge());
    }
 
    /**
     * Data to be merged and passed to the view before rendering.
     *
     * @return array
     */
    protected function merge()
    {
        return array_merge(
            $this->with(),
            $this->view->getData(),
            $this->override()
        );
    }
 
    /**
     * Data to be passed to view before rendering
     *
     * @return array
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php
 
        return $callback;
    }
 
    /**
     * Build a class based container callback Closure.
     *
     * @param  string  $class
     * @param  string  $prefix
     * @return \Closure
     */
    protected function buildClassEventCallback($class, $prefix)
    {
        [$class, $method] = $this->parseClassEvent($class, $prefix);
 
        // Once we have the class and method name, we can build the Closure to resolve
        // the instance out of the IoC container and call the method on it with the
        // given arguments that are passed to the Closure as the composer's data.
        return function () use ($class, $method) {
            return $this->container->make($class)->{$method}(...func_get_args());
        };
    }
 
    /**
     * Parse a class based composer name.
     *
     * @param  string  $class
     * @param  string  $prefix
     * @return array
     */
    protected function parseClassEvent($class, $prefix)
    {
        return Str::parseCallback($class, $this->classEventMethodForPrefix($prefix));
    }
 
    /**
     * Determine the class event method based on the given prefix.
     *
     * @param  string  $prefix
     * @return string
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php
     * @param  \Closure|string  $listener
     * @param  bool  $wildcard
     * @return \Closure
     */
    public function makeListener($listener, $wildcard = false)
    {
        if (is_string($listener)) {
            return $this->createClassListener($listener, $wildcard);
        }
 
        if (is_array($listener) && isset($listener[0]) && is_string($listener[0])) {
            return $this->createClassListener($listener, $wildcard);
        }
 
        return function ($event, $payload) use ($listener, $wildcard) {
            if ($wildcard) {
                return $listener($event, $payload);
            }
 
            return $listener(...array_values($payload));
        };
    }
 
    /**
     * Create a class based listener using the IoC container.
     *
     * @param  string  $listener
     * @param  bool  $wildcard
     * @return \Closure
     */
    public function createClassListener($listener, $wildcard = false)
    {
        return function ($event, $payload) use ($listener, $wildcard) {
            if ($wildcard) {
                return call_user_func($this->createClassCallable($listener), $event, $payload);
            }
 
            $callable = $this->createClassCallable($listener);
 
            return $callable(...array_values($payload));
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php
     * @param  bool  $halt
     * @return array|null
     */
    public function dispatch($event, $payload = [], $halt = false)
    {
        // When the given "event" is actually an object we will assume it is an event
        // object and use the class as the event name and this event itself as the
        // payload to the handler, which makes object based events quite simple.
        [$event, $payload] = $this->parseEventAndPayload(
            $event, $payload
        );
 
        if ($this->shouldBroadcast($payload)) {
            $this->broadcastEvent($payload[0]);
        }
 
        $responses = [];
 
        foreach ($this->getListeners($event) as $listener) {
            $response = $listener($event, $payload);
 
            // If a response is returned from the listener and event halting is enabled
            // we will just return this response, and not call the rest of the event
            // listeners. Otherwise we will add the response on the response list.
            if ($halt && ! is_null($response)) {
                return $response;
            }
 
            // If a boolean false is returned from a listener, we will stop propagating
            // the event to any further listeners down in the chain, else we keep on
            // looping through the listeners and firing every one in our sequence.
            if ($response === false) {
                break;
            }
 
            $responses[] = $response;
        }
 
        return $halt ? null : $responses;
    }
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php
    protected function addEventListener($name, $callback)
    {
        if (Str::contains($name, '*')) {
            $callback = function ($name, array $data) use ($callback) {
                return $callback($data[0]);
            };
        }
 
        $this->events->listen($name, $callback);
    }
 
    /**
     * Call the composer for a given view.
     *
     * @param  \Illuminate\Contracts\View\View  $view
     * @return void
     */
    public function callComposer(ViewContract $view)
    {
        $this->events->dispatch('composing: '.$view->name(), [$view]);
    }
 
    /**
     * Call the creator for a given view.
     *
     * @param  \Illuminate\Contracts\View\View  $view
     * @return void
     */
    public function callCreator(ViewContract $view)
    {
        $this->events->dispatch('creating: '.$view->name(), [$view]);
    }
}
 
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return array|string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? $callback($this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/2bc8d2ea874031e3ddb3a557319b7cad31a2f2d3.php
<?php $__env->startSection('content'); ?>
  <?php while(have_posts()): ?> <?php (the_post()); ?>
    <?php echo $__env->first(['partials.content-single-' . get_post_type(), 'partials.content-single'], \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
  <?php endwhile; ?>
<?php $__env->stopSection(); ?>
 
<?php echo $__env->make('layouts.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php ENDPATH**/ ?>
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array  $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Throwable $e) {
            $this->handleViewException($e, $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Throwable  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Throwable
     */
    protected function handleViewException(Throwable $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
Arguments
  1. "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/2bc8d2ea874031e3ddb3a557319b7cad31a2f2d3.php"
    
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/CompilerEngine.php
     *
     * @param  string  $path
     * @param  array  $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($this->compiler->getCompiledPath($path), $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Throwable  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Throwable
     */
    protected function handleViewException(Throwable $e, $obLevel)
    {
        $e = new ViewException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    public function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return array|string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? $callback($this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php
<!doctype html>
<html <?php language_attributes(); ?>>
 
    <?php echo \Roots\view(\Roots\app('sage.view'), \Roots\app('sage.data'))->render(); ?>
 
</html>
 
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
Arguments
  1. "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php"
    
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
Arguments
  1. "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php"
    
/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php
<?php
/**
 * WordPress View Bootstrapper
 */
define('WP_USE_THEMES', true);
require __DIR__ . '/wp/wp-blog-header.php';
 
Arguments
  1. "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
    

Environment & details:

Key Value
query_vars
array:3 [
  "page" => ""
  "name" => "acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production"
  "category_name" => "blog"
]
query_string
"name=acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production&category_name=blog"
request
"blog/acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production"
matched_rule
"(.+?)/([^/]+)(?:/([0-9]+))?/?$"
matched_query
"category_name=blog&name=acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production&page="
did_permalink
true
Key Value
query
array:3 [
  "page" => ""
  "name" => "acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production"
  "category_name" => "blog"
]
query_vars
array:66 [
  "page" => 0
  "name" => "acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production"
  "category_name" => "blog"
  "error" => ""
  "m" => ""
  "p" => 0
  "post_parent" => ""
  "subpost" => ""
  "subpost_id" => ""
  "attachment" => ""
  "attachment_id" => 0
  "pagename" => ""
  "page_id" => 0
  "second" => ""
  "minute" => ""
  "hour" => ""
  "day" => 0
  "monthnum" => 0
  "year" => 0
  "w" => 0
  "tag" => ""
  "cat" => ""
  "tag_id" => ""
  "author" => ""
  "author_name" => ""
  "feed" => ""
  "tb" => ""
  "paged" => 0
  "meta_key" => ""
  "meta_value" => ""
  "preview" => ""
  "s" => ""
  "sentence" => ""
  "title" => ""
  "fields" => ""
  "menu_order" => ""
  "embed" => ""
  "category__in" => []
  "category__not_in" => []
  "category__and" => []
  "post__in" => []
  "post__not_in" => []
  "post_name__in" => []
  "tag__in" => []
  "tag__not_in" => []
  "tag__and" => []
  "tag_slug__in" => []
  "tag_slug__and" => []
  "post_parent__in" => []
  "post_parent__not_in" => []
  "author__in" => []
  "author__not_in" => []
  "search_columns" => []
  "ignore_sticky_posts" => false
  "suppress_filters" => false
  "cache_results" => true
  "update_post_term_cache" => true
  "update_menu_item_cache" => false
  "lazy_load_term_meta" => true
  "update_post_meta_cache" => true
  "post_type" => ""
  "posts_per_page" => 16
  "nopaging" => false
  "comments_per_page" => "50"
  "no_found_rows" => false
  "order" => "DESC"
]
meta_query
WP_Meta_Query {#2562}
queried_object
WP_Post {#2563}
queried_object_id
29442
request
"""
SELECT   wp_posts.*\n
\t\t\t\t\t FROM wp_posts \n
\t\t\t\t\t WHERE 1=1  AND wp_posts.post_name = 'acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production' AND wp_posts.post_type = 'post'\n
\t\t\t\t\t \n
\t\t\t\t\t ORDER BY wp_posts.post_date DESC\n
\t\t\t\t\t 
"""
post_count
1
in_the_loop
true
current_comment
-1
found_posts
1
is_single
true
is_singular
true
Key Value
ID
29442
post_author
"2"
post_date
"2023-03-07 00:00:00"
post_date_gmt
"2023-03-07 00:00:00"
post_content
"""
Toronto Film School students will tackle William Shakespeare’s greatest work when their upcoming production of <em>Hamlet</em> takes to the virtual stage. \n
</br>\n
Directed by Aaron Willis, the 75-minute tragedy follows Prince Hamlet of Denmark, as he attempts to exact revenge against his murderous uncle, Claudius, who killed his father to seize the throne and marry Hamlet's mother.\n
</br>\n
[caption id="attachment_27842" align="alignnone" width="334"]<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_HamletPosterFULL_0307.jpg" alt="" width="334" height="526" class="size-medium wp-image-27842" /> Artwork by Maria Montiel[/caption]\n
\n
Widely regarded as Shakespeare’s masterpiece, Willis admitted that <em>Hamlet</em> is a play that comes with all kinds of challenges for those who dare tackle it – the fact that it’s so well known; the fact that so many famous actors are judged by how well they played the role; and the fact that it’s one of the greatest plays ever written, just to name a few.\n
</br>\n
Then, of course, there’s the challenge of conquering Shakespeare’s language – an especially daunting task for Willis<span data-mce-type="bookmark" style="width: 0px;overflow: hidden;line-height: 0" class="mce_SELRES_start"></span>’ troupe of fifth-term Acting for Film, TV &amp; the Theatre students. \n
</br>\n
“A far more relevant challenge that came up often in rehearsal was the fact that Shakespeare’s words don’t sound like the words we normally speak and so are more harder to act, harder to lose yourself in, because you hear a voice coming out of your mouth that sounds strange and words that could be a different language,” Willis said, noting that performing Shakespeare makes huge demands of actors that most material doesn’t.\n
</br>\n
“It asks for a relentless level of technical rigor and emotional vulnerability that is both daunting and exhausting…Which, of course, is exactly why it’s worth wrestling with – it will make you a better actor, because it will show you your limitations and challenge you to rise beyond them.”\n
</br>\n
<em>Hamlet</em>, which is stage managed by Kat Anderson, will take to the virtual stage for a three-performance run on March 21, 22 and 23 as follows: \n
\n
<strong>\n
Tuesday, March 21 at 8 p.m.\n
Wednesday, March 22 at 8 p.m.\n
Thursday, March 23 at 5 p.m.</strong>\n
</br>\n
***Click <a href="https://create.torontofilmschool.ca/showcase/hamlet/" rel="noopener" target="_blank"><strong>HERE</strong></a> to livestream any of the above performances***\n
</br>\n
\n
<h1><strong>The Creative Team Behind Hamlet:</strong></h1>\n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_AlishaHenry_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27846" />\n
<strong>Alisha Henry as Ophelia, Gravedigger</strong>\n
Alisha Henry is an actor with 6 years of experience. Some of Alisha’s skills include singing and dancing, both of which she’s been doing for more than 10 years. She also showed off her singing skills in musicals with her high school drama department, where she participated in The Little Mermaid as Aquata and as a chorus member in Mamma Mia. Most recently she has portrayed Alex from the Witches of Eastwick, along with one of the Witches from Macbeth. Alisha is currently studying to receive her diploma in Acting for Film, TV &amp; the Theatre at Toronto Film School. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_AmandaLaBillois_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27847" />\n
<strong>Amanda LaBillois as Hamlet #2</strong>\n
Amanda LaBillois was born and raised in Montréal, Québec. She is currently enrolled in the acting program at Toronto Film School. In Term 3, she wrote, produced, and directed Routine Breakdown and starred in There is Hope as the main character. In 2019, she par- ticipated in a Just for Laughs skit. In her spare time, Amanda enjoys playing video games and collecting dolls. She is currently writing a comedy web series entitled The Awkward Ones and is looking forward to acting in more film, theatre, and TV productions. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_AnikaRogers_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27848" />\n
<strong>Anika Rogers as Hamlet #1</strong>\n
Anika Rogers was born and raised in Toronto, Ontario. She’s in the acting program at Toronto Film School. She has studied various things in the program from directing to pro- ducing. In term 3, she wrote, produced and directed a short film called “The Guide”. She fell in love with acting at a young age. In 2018, Anika starred in a play at Young People’s Theater called “The Confession ‘’ where she played the lead. In High school, she took dra- ma classes where she starred as the lead in a play called “Fidget”. As heading to the next term, Anika hopes to act, write, produce and direct more films/plays. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_JenniferLarabaWali_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27849" />\n
<strong>Jennifer Laraba Wali as King Claudius</strong>\n
As a child, Jennifer Laraba Wali always dreamt of being a Hollywood star. Her earliest (and fondest) movie memories were of watching the iconic Gene Kelly in ‘Singing in The Rain’. She identified strongly with his character, because singing and dancing were cathartic to her while growing up and were part of how she expressed her creative side, until she decided to dabble in drama in high school. Though originally from Nigeria, she moved to Canada in 2018 and began studying at Toronto Film School in 2022. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_JustineBirabwa_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27850" />\n
<strong>Justine Birabwa as Horatio</strong>\n
Justine Birabwa is dedicated to Ending World Hunger. To do that, she knows there are times she’ll have to push through the muddy waters. With 2022 described as The Year of Unprecedented Hunger by the World Food Program, her vision to help make a contribution created sleepless nights. She couldn’t rest until she designed and created something to help do her part. To that end, she recently publihsed two books: Tidal Waves and Karamoja Cry, and  End Global Hunger, both of which are available online. \n
 </br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_KeilyJamesMcguire_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27851" />\n
<strong>Keily James Maguire as Guildenstern, Marcellus, Osric, Priest</strong>\n
Keily James Maguire, 19, was born in Newmarket, Ontario, where she started her acting training with Christopher Healy. After three years of training under Healey, Keily began taking acting classes with Armstrong Acting Studios, where she had the opportunity to train one-on-one and in groups with coaches including Sarah Fisher, Amos Crawley, Sarah Gnocato, Zachery Bennet, and Laura Nordin. Keily started her acting career on the set of “My Paranormal Story” and, in December 2022, wrapped her latest project, which was released at the end of January 2023. Keily is currently studying at Toronto Film School. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_LoraDiakonov_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27852" />\n
<strong>Lora Diakonov as Queen Gertrude</strong>\n
Lora Diakonov was born and raised in Hamilton, Ontario, and is currently enrolled in the Acting program at Toronto Film School. Lora has a passion for people and making them happy through her acting and writing and dancing. She is also a public influencer on social media and an affiliate on Twitch, where she enjoys creating content for her fans and followers. Lora has experience acting and dancing while performing on stage for Club Med, where she performed on the flying trapeze show.\n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_MichaelNesterenko_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27853" />\n
<strong>Michael Nesterenko as Ghost, Player King, Hamlet #3</strong>\n
Michael Nesterenko is an actor, writer and director in training at Toronto Film School, where he’s currently studying towards making his dream of becoming an actor into a reality. Michael has been in several student and independent films, including taking on the roles of ‘Vance Everheart’ in The Heart Felt And Soulless and ‘Cicel Mcferson’ from Abbotsford Creek. Michael also helped produce Trance and Words from the Book of Dante, in which he also played the character Weston. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_NellaJohnson_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27854" />\n
<strong>Nella Johnson as Polonius</strong>\n
Nella Johnson was born in Ontario, Canada and is currently working towards her diploma in acting at Toronto Film School. In her second term at TFS, she performed a piece she wrote called He Mattered. Her showcase impacted many people, including director of the school. Jaynella is a new mom who has been taking care of her infant during her studies. She is very determined to do her best, get good grades, and make it in the film industry. She is passionate about acting and wants to build her future success for her little one. After graduating Toronto Film School, Jaynella hopes to find an agent to help her pursue her acting career. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_SiyaoLiu_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27855" />\n
<strong>Siyao Liu as Barnardo, Player Queen</strong>\n
Siyao Liu was born in China, where she grew up with a passion for the arts, competing alone in off-campus competitions and winning awards in high school. After graduating from the Conservatory of Music in high school, she went on to study acting for a year at the International Academy of Shanghai Theatre Academy in China. She then decided to continue her acting studies in Canada, enrolling in Toronto Film School’s Acting for Film, TV &amp; the Theatre program. In her third term at TFS, Siyao wrote directed and produced her first short film. In her spare time, she enjoys editing videos, photography and music. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_TarekAlHamwi_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27856" />\n
<strong>Tarek Al Hamwi as Laertes, Rosencrantz, Third Player</strong>\n
Born in Damascus and raised in Ottawa, Tarek Al Hamwi developed his passion for acting at a young age. Tarek’s interest in learning about characters and personalities stemmed from losing his dad when he was just two years old. In high school, his friends called him Dan Aykroyd – a nickname he earned for having attended two of the Aykroyd’s former schools (St. Patrick and St. Pius schools) and for his growing obsession with filmmaking. Tarek is currently studying Acting for Film, TV &amp; the Theatre at Toronto Film School. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_KatAnderson_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27857" />\n
<strong>Kat Anderson – Stage Manager</strong>\n
Kat Anderson was born and raised in Sault Ste. Marie, Ontario and currently resides in Goulais River, Ontario. A recent graduate of Toronto Film School’s Acting for Film, TV &amp; the Theatre program, she is a “Jill of All Trades” who is always up for a challenge and has proven herself to go above and beyond any given expectations of her. During her studies at TFS, Kat took on lead roles in numerous student films and got involved in as many projects as possible ¬– including a short film called Neighbourhood Watch. She also wrote, directed and filmed her own short film during her time at TFS. In her free time, Kat has been expanding her artistic abilities in body painting and creating video content on her social media platforms, earning her more than 100,000 followers. Kat cannot only act, dance, and sing, (a triple threat within the acting industry), but is also talented in areas such as building props, costume design and special effects make up. \n
</br>\n
<img src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_AaronWillis_0307.jpg" alt="" width="460" height="526" class="alignnone size-medium wp-image-27858" />\n
<strong>Aaron Willis – Director</strong>\n
Aaron Willis is an actor, director, and co-founding artistic director of Convergence Theatre with Julie Tepperman. Recent directing: Cymbeline (George Brown Theatre School), Athabasca (Convergence/Next Stage Festival), The Preposterous Predicament of Polly Peel (Polly Peel Collective/Fringe), Meet Cute (Roseneath Theatre – Dora Nomination), Stupidhead! (Theatre Passe Muraille), The Unending (Convergence), The Testament of Mary (Soulpepper). Aaron has acted at theatres across the city, including Tarragon, TPM, Factory, and (the original) Shakespeare in the Rough. TV appearances include roles in Flashpoint, Reign, Private Eyes. Aaron was also part of The Stratford Festival’s inaugural Michael Langham Workshop for Classical Theatre Training, was a Metcalf Producing Intern with Canadian Stage, and served as Associate Artistic Director and Head of New Musical Development at The Musical Stage Company. You can see Aaron onstage this summer in High Park in Canadian Stage’s production of A Midsummer Night’s Dream. \n
</br>
"""
post_title
"Acting Students Tackle Shakespeare’s ‘Hamlet’ in Upcoming Virtual Production"
post_excerpt
""
post_status
"publish"
comment_status
"closed"
ping_status
"open"
post_password
""
post_name
"acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production"
to_ping
""
pinged
""
post_modified
"2023-03-27 21:06:47"
post_modified_gmt
"2023-03-27 21:06:47"
post_content_filtered
""
post_parent
0
guid
"https://uat.tfs.staging.poundandgrain.ca/acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production/"
menu_order
0
post_type
"post"
post_mime_type
""
comment_count
"0"
filter
"raw"
empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"nginx/1.22.1"
REQUEST_URI
"/blog/acting-students-tackle-shakespeares-hamlet-in-upcoming-virtual-production/"
USER
"forge"
HOME
"/home/forge"
HTTP_REFERER
"https://uat.tfs.staging.poundandgrain.ca/?p=29442"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"uat.tfs.staging.poundandgrain.ca"
REDIRECT_STATUS
"200"
HTTPS
"on"
SERVER_NAME
"uat.tfs.staging.poundandgrain.ca"
SERVER_PORT
"443"
SERVER_ADDR
"10.0.1.187"
REMOTE_PORT
"14273"
REMOTE_ADDR
"18.227.134.45"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/2.0"
DOCUMENT_ROOT
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web"
DOCUMENT_URI
"/index.php"
SCRIPT_NAME
"/index.php"
SCRIPT_FILENAME
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1731820375.5425
REQUEST_TIME
1731820375
DB_NAME
"tfs_uat"
DB_USER
"***"
DB_PASSWORD
"************"
WP_ENV
"development"
WP_HOME
"https://uat.tfs.staging.poundandgrain.ca"
WP_SITEURL
"https://uat.tfs.staging.poundandgrain.ca/wp"
WP_DEBUG_LOG
"/path/to/debug.log"
AUTH_KEY
"****************************************************************"
SECURE_AUTH_KEY
"****************************************************************"
LOGGED_IN_KEY
"****************************************************************"
NONCE_KEY
"****************************************************************"
AUTH_SALT
"****************************************************************"
SECURE_AUTH_SALT
"****************************************************************"
LOGGED_IN_SALT
"****************************************************************"
NONCE_SALT
"****************************************************************"
ACF_PRO_KEY
"b3JkZXJfaWQ9NDQxMjV8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTExLTEyIDA2OjA0OjE3"
MIRROR_URL
"https://dev.tfs.staging.poundandgrain.ca"
SOURCE_OF_TRUTH
"false;"
BLOG_URL
"https://dev.tfs.staging.poundandgrain.ca"
Key Value
DB_NAME
"tfs_uat"
DB_USER
"***"
DB_PASSWORD
"************"
WP_ENV
"development"
WP_HOME
"https://uat.tfs.staging.poundandgrain.ca"
WP_SITEURL
"https://uat.tfs.staging.poundandgrain.ca/wp"
WP_DEBUG_LOG
"/path/to/debug.log"
AUTH_KEY
"****************************************************************"
SECURE_AUTH_KEY
"****************************************************************"
LOGGED_IN_KEY
"****************************************************************"
NONCE_KEY
"****************************************************************"
AUTH_SALT
"****************************************************************"
SECURE_AUTH_SALT
"****************************************************************"
LOGGED_IN_SALT
"****************************************************************"
NONCE_SALT
"****************************************************************"
ACF_PRO_KEY
"b3JkZXJfaWQ9NDQxMjV8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTExLTEyIDA2OjA0OjE3"
MIRROR_URL
"https://dev.tfs.staging.poundandgrain.ca"
SOURCE_OF_TRUTH
"false;"
BLOG_URL
"https://dev.tfs.staging.poundandgrain.ca"
0. Roots\Acorn\Exceptions\Handler\PrettyPageHandler