Illuminate \ View \ ViewException (E_ERROR)
syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)" Stacktrace: #28 Illuminate\View\ViewException in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php:35 #27 Illuminate\View\Engines\CompilerEngine:handleViewException in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php:43 #26 ParseError in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php:35 #25 Composer\Autoload\{closure} in /home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php:31 #22 include in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:576 #21 Composer\Autoload\{closure} in /home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php:56 #18 TOC\MarkupFixer:__construct in /home/forge/dev.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/dev.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/dev.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/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php:226 #12 Illuminate\Events\Dispatcher:dispatch in /home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:120 #10 Illuminate\View\View:renderContents in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:91 #9 Illuminate\View\View:render in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php:3 #8 include in /home/forge/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:139 #5 Illuminate\View\View:getContents in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:122 #4 Illuminate\View\View:renderContents in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:91 #3 Illuminate\View\View:render in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php:4 #2 include in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php:106 #1 require_once in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php:19 #0 require in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php:6
28
Illuminate\View\ViewException
/home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php35
25
Composer\Autoload\{closure}
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php427
24
Composer\Autoload\ClassLoader loadClass
[internal]0
23
spl_autoload_call
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php31
22
include
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php576
21
Composer\Autoload\{closure}
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php427
20
Composer\Autoload\ClassLoader loadClass
[internal]0
19
spl_autoload_call
/home/forge/dev.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/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php106
1
require_once
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php19
0
require
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php6
/home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)"
    
/home/forge/dev.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/dev.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/dev.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/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php"
    
/home/forge/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php ENDPATH**/ ?>
/home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php"
    
/home/forge/dev.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/dev.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/dev.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/dev.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/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php"
    
/home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php"
    
/home/forge/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
    

Environment & details:

Key Value
query_vars
array:3 [
  "page" => ""
  "name" => "video-game-student-leo-li-named-winner-of-codename-shifter-contest"
  "category_name" => "blog"
]
query_string
"name=video-game-student-leo-li-named-winner-of-codename-shifter-contest&category_name=blog"
request
"blog/video-game-student-leo-li-named-winner-of-codename-shifter-contest"
matched_rule
"(.+?)/([^/]+)(?:/([0-9]+))?/?$"
matched_query
"category_name=blog&name=video-game-student-leo-li-named-winner-of-codename-shifter-contest&page="
did_permalink
true
Key Value
query
array:3 [
  "page" => ""
  "name" => "video-game-student-leo-li-named-winner-of-codename-shifter-contest"
  "category_name" => "blog"
]
query_vars
array:66 [
  "page" => 0
  "name" => "video-game-student-leo-li-named-winner-of-codename-shifter-contest"
  "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" => 10
  "nopaging" => false
  "comments_per_page" => "50"
  "no_found_rows" => false
  "order" => "DESC"
]
meta_query
WP_Meta_Query {#2559}
queried_object
WP_Post {#2560}
queried_object_id
20507
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 = 'video-game-student-leo-li-named-winner-of-codename-shifter-contest' 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
20507
post_author
"43"
post_date
"2020-08-25 13:29:50"
post_date_gmt
"2020-08-25 13:29:50"
post_content
"""
From an awkward first encounter with <a href="https://en.wikipedia.org/wiki/Eugene_Levy">Eugene Levy</a>, to cottage plans with <a href="https://en.wikipedia.org/wiki/Catherine_O%27Hara">Catherine O’Hara</a>, to sneaking beers and hotdogs at the Emmys – <a href="https://www.cbc.ca/schittscreek/m_site/"><em>Schitt’s Creek's </em></a><a href="https://en.wikipedia.org/wiki/Annie_Murphy">Annie Murphy</a> recently spilled all the juiciest, behind-the-scenes tea during the latest instalment of Toronto Film School's <em>In Conversation</em> speaker series.\n
\n
&nbsp;\n
\n
The online event served as a mini reunion between Murphy, who just received her first Emmy nomination for playing riches-to-rags socialite Alexis Rose on the CBC hit comedy, and Toronto Film School’s <a href="https://www.torontofilmschool.ca/blog/andrew-barnsley-executive-producer-schitts-creek-joins-toronto-film-school-executive-producer-residence/">Executive Producer in Residence </a> <a href="http://www.project10.ca/about">Andrew Barnsley</a>, who served as one of the show’s executive producers.\n
\n
&nbsp;\n
\n
[embed]https://www.youtube.com/watch?v=7ZuYX2W3sng&feature=youtu.be[/embed]\n
\n
&nbsp;\n
\n
Previous guests of the <em>In Conversation</em> speaker series ­– which is co-hosted by Barnsley and <a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/">Writing for Film &amp; TV</a> Program Director <a href="https://www.imdb.com/name/nm1733337/">Adam Till</a> – have included Academy Award-nominated filmmaker <a href="https://www.torontofilmschool.ca/blog/in-conversation-with-atom-egoyan-event-delves-into-all-facets-of-celebrated-filmmakers-journey/">Atom Egoyan</a>, 30-year veteran stand-up comedian <a href="https://www.torontofilmschool.ca/blog/toronto-film-school-students-crack-up-with-caroline-rhea-during-latest-instalment-of-in-conversation-series/">Caroline Rhea</a>, Oscar- and Golden Globe-nominated writer and actor <a href="https://www.torontofilmschool.ca/blog/nia-vardalos-meteoric-rise-to-fame-and-critical-acclaim-inspires-during-motivational-in-conversation-event/">Nia Vardalos</a>, Beverly Hills 90210 star <a href="https://www.torontofilmschool.ca/blog/jason-priestleys-transformation-from-teen-heartthrob-to-acclaimed-actor-director-impresses-in-conversation-audience/">Jason Priestley</a>, and Emmy-winning actor <a href="https://www.torontofilmschool.ca/blog/orphan-black-star-tatiana-maslany-shares-acting-insights-during-inspirational-in-conversation-event/">Tatiana Maslany</a>.\n
\n
&nbsp;\n
\n
Here’s what Murphy – a Canadian Screen Award-winning actor who will next star in AMC’s upcoming <a href="https://www.amc.com/shows/kevin-can-fk-himself--1010185"><em>Kevin Can F*** Himself</em></a> – had to say during her July 23 chat with Toronto Film School via Zoom:\n
\n
<strong> </strong><strong> </strong>\n
\n
<strong>On her motivation to pursue acting</strong>\n
\n
&nbsp;\n
\n
“I think, for me, (my acting career) wasn’t as motivated by passion as much as it was about, kind of, like, FOMO…This is a super cheesy answer, but I really think this is why: I remember feeling, at a really young age, the anxiety that we’ve only got one shot at this – one life. And I thought the way of cheating that system was to become an actor, because then I could live all of these different lives and have all these different experiences and live in different times. It was more of a wanting to do everything, and that’s kind of why I got into it – to experience as much as I possibly could.”\n
\n
&nbsp;\n
\n
<strong>On her parents’ support of her acting career</strong>\n
\n
&nbsp;\n
\n
“I was lucky enough to have parents, who for some crazy reason, were, like, ‘Go for it! Be an actor! as opposed to saying, ‘This is an insane choice, we’re going to need you to try to go to law school.’ Looking back at it, I wonder what they were thinking letting me do that? I’m their one kid! But, oh god, they’re over the moon now, especially because neither of them come from this world at all. So having them come to set and be amazed by everything going on, and my dad just posted up by the craft table and shooting the shit with Eugene Levy – it’s a pretty special thing to give back to them.”\n
\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-20374 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/07/TFS_ALL_AnnieMurphyGroupScreenshot_0723.jpg" alt="" width="670" height="393" />\n
\n
&nbsp;\n
\n
<strong>On her most uncomfortable audition</strong>\n
\n
&nbsp;\n
\n
“I went in for <em><a href="https://www.imdb.com/title/tt1595680/">Being Human</a></em> – that show about the ghost and the witch and the werewolf. I was auditioning for the role of the ‘hot werewolf,’ and this particular scene was just action, and the action was – I’m literally having heart palpitations right now telling you about it – the action was, ‘You get stuffed into the trunk of a car, the trunk closes, and then, as you’re in the trunk of the car, you turn into a werewolf.’ And that was the whole scene.\n
\n
&nbsp;\n
\n
“So, I walked into the room, and there were four people who were, like, ‘Go ahead, turn into a werewolf in the trunk of a car!’ It was horrible…There was no car, no trunk – you just had to climb onto a chair, pretend you were in a trunk and look like the biggest moron in the history of the world.”\n
\n
&nbsp;\n
\n
<strong>On writing, producing and starring in the CBC digital series <em><a href="https://www.cbc.ca/theplateaus/m_episodes">The Plateaus</a></em> </strong>\n
\n
&nbsp;\n
\n
“I actually think <em><a href="https://www.cbc.ca/theplateaus/m_episodes">The Plateaus</a></em> came to fruition very shortly after the ‘hot werewolf’ experience, when I was, like, ‘I hate this. I hate this so much. This is not what I signed up for.’ My good friend <a href="https://www.imdb.com/name/nm2650072/">Matt Raudsepp</a> was going through the same thing, so we started brainstorming ideas so we could make our own thing…\n
\n
&nbsp;\n
\n
“The idea we came up with was about a band whose lead singer creates this incredible, banger hit and they just soar to the top. They’re at the absolute top of their game, and then the lead singer gets electrocuted and dies, and the three remaining band members are complete morons who are thirsty for fame, but have absolutely zero talent. So it’s about them trying to keep the momentum going and keep the dream alive...\n
\n
&nbsp;\n
\n
“We got an IFC grant to do the show and it was a really, really interesting and important learning experience for me, because it kind of went from Matt and myself to a bunch of other people joining on. It became kind of a lot of cooks in the kitchen, and what we initially started out with and what actually got shot were two very, very, very different things.\n
\n
&nbsp;\n
\n
“For all the ladies out there who may or may not be able to identify with this, it was a situation where I kind of felt, like, ‘Okay, this is my thing, but now there are all these other brains in the room and maybe my brain isn’t as good or as experienced as their brains, and so maybe I won’t speak up as loudly as I should.’ So, I just kind of sat there silently stewing a lot of the time, thinking, ‘This isn’t what I want, this isn’t where I want it to go.’ And, you know, the outcome was really fun and we had such a good time shooting it, but it really was an experience of not knowing how to be, like, ‘This is how I think should happen and here’s why,’ and not feeling like you’re being an asshole, but feeling like you’re asserting yourself and taking charge of the situation.\n
\n
&nbsp;\n
\n
“But it was so much fun and such a confused, stupid premise, and we had all these rad people, like, <a href="https://en.wikipedia.org/wiki/Elisha_Cuthbert">Elisha Cuthbert</a> and <a href="https://en.wikipedia.org/wiki/Jay_Baruchel">Jay Baruchel</a> and <a href="https://en.wikipedia.org/wiki/Sam_Roberts">Sam Roberts</a> and <a href="https://en.wikipedia.org/wiki/Fred_Penner">Fred Penner</a> and <a href="https://en.wikipedia.org/wiki/Dave_Foley">Dave Foley</a>.  It was a really fun group of people we were able to wrangle, and I think everyone had a really good time doing it.”\n
\n
&nbsp;\n
\n
<strong>On her writing process</strong>\n
\n
&nbsp;\n
\n
“Let’s be honest here, I’ve co-written one thing (<em><a href="https://www.cbc.ca/theplateaus/m_site/">The Plateaus</a></em>), so I’m not touting myself as a writer. But I do a shitload of eavesdropping. When the world was normal, I would go and post up at a bar with headphones in, with nothing on them. I’m sorry, this is a lot of information that makes me sound creepy, but I listen to people’s conversations and get ideas from there, and I think that is, like, the most fun way of getting characters.\n
\n
&nbsp;\n
\n
“I also like collaborating very much. I think having someone kind of depending on you to get a script back by a certain date is very good for me. Sitting alone in a room just writing isn’t my ideal environment. I like having someone to bounce ideas around with and use their brain as much as I can.”\n
\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-20375 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/07/TFS_AnnieMurphyScreenshot2_0723.jpg" alt="" width="670" height="393" />\n
\n
&nbsp;\n
\n
<strong>On the importance of networking in school</strong>\n
\n
<strong> </strong>\n
\n
“It really was the (Canadian Film Centre’s <a href="http://cfccreates.com/programs/23-cbc-actors-conservatory">Actors Conservatory</a>) that got me into this community in Toronto – like, <a href="https://en.wikipedia.org/wiki/Rosemary_Dunsmore">Rosemary Dunsmore</a> and so many incredible Canadian icons that were able to impart their knowledge to us. It really was networking through them and having different people come in and talk to us. I’m such a novice, and I was so, so green going in, so it was a really cool opportunity to learn kind of the more technical side of things. <a href="https://en.wikipedia.org/wiki/Giacomo_Gianniotti">Giacomo Gianniotti</a> was in my year, and he’s now Dr. McHotBoy on <em><a href="https://en.wikipedia.org/wiki/Grey%27s_Anatomy">Grey’s Anatomy</a></em>. So, you meet people, and you can keep connecting the dots with those people, so it was a really cool opportunity to have gone there.”\n
\n
&nbsp;\n
\n
<strong>On the disastrous state of her pre-<em>Schitt’s Creek</em> life/career</strong>\n
\n
&nbsp;\n
\n
“Everything had kind of hit the fan: I hadn’t booked a job in almost two years; I was broke; my house had just burnt down. It was a gloomy time and I was really, really discouraged…so it was a boost getting into the (CFC’s <a href="http://cfccreates.com/programs/23-cbc-actors-conservatory">Actors Conservatory</a>) and that was great, and we ended up living in my husband’s parents’ attic while our house was ashes.\n
\n
&nbsp;\n
\n
“When I finished the CFC, I went right to L.A. for pilot season and just as I got there, I got my very first screen test. It was for a big show on NBC – do you guys remember that old classic <em><a href="https://www.imdb.com/title/tt0360486/">Constantine</a></em> with Keanu Reeves? They decided to turn that into a <a href="https://www.imdb.com/title/tt3489184/">TV show</a>, and I got a test for it, and I was, like, ‘This is the best job of my life! I have to get it!’ And then I just shat the bed on my screen test. Like, literally went in with my sides in my hand because I was so nervous, and even with my sides in my hand, I was, like, ‘I don’t know this. I don’t know my words, I don’t know this scene.’ It’s a nightmare to replay.\n
\n
&nbsp;\n
\n
“So that happened, and I was, like, ‘Well, all signs are pointing to the fact that this is not for you, and you need to do some serious reconsideration of your future.’ So I had this big snotty cry in the ocean, and I was trying to weigh my options, but I have no other skills, basically, so I was, like, ‘Well, I’m doomed.’ And then literally the next day, I got an audition for <em>Schitt’s Creek.</em>”\n
\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-16283 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2019/07/TFS_ALL_SchittsCreekCast_0716.jpg" alt="" width="670" height="393" />\n
\n
&nbsp;\n
\n
<strong>On the <em>Schitt’s Creek</em> audition process</strong>\n
\n
<strong> </strong>\n
\n
“I was so excited. I immediately saw <a href="https://en.wikipedia.org/wiki/Eugene_Levy">Eugene (Levy)</a> and <a href="https://en.wikipedia.org/wiki/Catherine_O%27Hara">Catherine (O’Hara)</a> were attached to it, and I was, like…‘These are my comedy idols. These people have been inspirations to me since I was, like, 10 years old’…\n
\n
&nbsp;\n
\n
“So I worked and worked and worked. I never worked so hard on an audition before….And honestly, it was the first and only audition – even to this day – that I walked out of thinking, ‘I did my best. I did everything I wanted to do. If it doesn’t go my way, at least I’m happy with what I did.’\n
\n
&nbsp;\n
\n
“A couple of days later, I got a call from <a href="https://en.wikipedia.org/wiki/Dan_Levy_(Canadian_actor)">Dan (Levy)</a> saying that he wanted me to come in and read for the role of Stevie. So, I flew back to Toronto and I ended up testing for both Stevie and Alexis – and Eugene was there, and that was one of the most wonderful moments of my life. I went into the room and I was so nervous….I had my winter coat and all my stuff, and I really nervously just threw everything down onto the floor. Then I hear Eugene go, like, ‘Ohhh…Uh, wanna hang up that coat?’ And I was, like, ‘No, no, no, it’s all good, don’t worry about it!’ Now, knowing Eugene and how specific he is, I could just see on his face that the audition was not going to happen until my coat was hung up. He actually got up, came around the table, walked to my coat, picked it up, brushed it off for me, then hung it up on the coat rack. And that was my first experience with Eugene Levy.”\n
\n
<strong> </strong>\n
\n
<strong>On taking risks in her audition for the role of Alexis Rose</strong>\n
\n
&nbsp;\n
\n
“The breakdown of the character was super, super helpful to me, because there will all of the stereotypical ‘blonde, ditzy, socialite’ and all those wealthy, rich girl stereotypes, but at the very bottom of the breakdown, it said ‘A young <a href="https://en.wikipedia.org/wiki/Goldie_Hawn">Goldie Hawn</a>’ – and yes, she may be all of those things, but she is also this beautifully effervescent, charming, smart, engaging, multi-layered human, and so it was really important to me to not just play the ditz card with Alexis.\n
\n
&nbsp;\n
\n
“That said, as a young and deeply inexperienced actor at the time, I was like, ‘I guess actors do research. What can my research be?’ So, I got stoned and went on YouTube for hours on end and watched <a href="https://en.wikipedia.org/wiki/Kardashian_family">Kardashian</a> stuff and <a href="https://en.wikipedia.org/wiki/Lindsay_Lohan">Lindsay Lohan</a> and the <a href="https://en.wikipedia.org/wiki/Mary-Kate_and_Ashley_Olsen">Olsens</a> and all of those socialite ladies. And I kind of stole bits and pieces from them: their beautiful vocal fry and the way they hold their purses and their arms.”\n
\n
&nbsp;\n
\n
<strong>On getting the news she’d landed the role </strong>\n
\n
<strong> </strong>\n
\n
“I waited the most excruciating three weeks of my life to hear anything at all, and then finally got the call from Dan (Levy), who was such a dink on the phone. He played such a mean, shitty game. Because after two weeks go by, you think ‘I don’t have the part’ and if you do hear something, it’s going to be someone saying ‘Thanks so much, you’re not it.’\n
\n
&nbsp;\n
\n
“So, he called, and he was, like, ‘Hey, I just wanted to say thanks so much, and we really appreciated you coming in.’ And then he just stopped talking. So, I was going through the emotional array of trying to be fine and trying to thank him for the opportunity, while swallowing the hugest lump in my throat. And then, just before we hung up, he said ‘Hey, just one quick question: How would you like to play my sister on the show?’ And it was truly, as cheesy as it is, it was a genuine, life-changing minute.”\n
\n
&nbsp;\n
\n
<strong>On first day of shooting <em>Schitt’s Creek</em></strong>\n
\n
<strong> </strong>\n
\n
“I think I was riding so high on the fact that I booked a job with my comedy icons, that I coasted on that for such a long time that. Then, literally the day before, one of my friends was, like, ‘Tomorrow you’re acting with Eugene Levy and Catherine O’Hara,’ and I was, like, ‘Oh shit, you’re right.’ I didn’t sleep at all, I was so nervous and so anxious, and just wracking my brain for some excuse as to why I couldn’t come into work the next day. Unfortunately my brain was not creative enough to come up with something, and so I went into work and I was such a mess.\n
\n
&nbsp;\n
\n
“Luckily, at that point in time, I had more experience acting than Dan did, even though he created the show – so he was just as much of a mess as I was, so it was nice to have two trembling bodies together going into the scene…and Eugene and Catherine are two of the most kind and inclusive and welcoming and supportive human beings I’ve ever met in my life, so after getting the first couple of rocky takes out, it felt like a family. They never made me feel like I was the new one. Especially Catherine, who loves so much to be, like, ‘Okay, how about we try this?’ It was so collaborative and fun and full of energy. So, honestly, after that first really spooky-feeling day, it just felt good.”\n
\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-20377 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/07/TFS_AnnieMurphyGroupScreenshot2_0723.jpg" alt="" width="670" height="393" />\n
\n
&nbsp;\n
\n
<strong>On how a little bit of Alexis rubbed off on her</strong>\n
\n
<strong> </strong>\n
\n
“I would often come home and still be talking a bit like (Alexis), until someone would be, like, ‘I need you to just stop.’ But to get into a more cheeseball answer, I’ve tried to take just a little bit of a lesson in confidence from Alexis. She believed in herself far too much – it was insanity the confidence she had – but she did and she had all this belief that she could do it and she did it. So I think I tried to absorb just a little bit of that.”\n
\n
&nbsp;\n
\n
<strong>On how it felt to watch first episode air</strong>\n
\n
&nbsp;\n
\n
“For the premiere, we rented out this deeply sketchy bar on the outskirts of the Junction that was a local haunt, and we just packed it full of drunk friends and family, and <a href="https://www.imdb.com/name/nm2367266/">(Andrew) Barnsley</a> and his parents. So, it was this boisterous thing – there was this one tiny, shitty TV up there and everyone was shushing each other when the show came on, and it was so, so special.”\n
\n
<strong> </strong>\n
\n
<strong>On Eugene Levy</strong>\n
\n
&nbsp;\n
\n
“Eugene is a really serious dude. I mean, he loves a good laugh, loves to tell a story, loves to break out in harmony with Catherine on set, but he’s not a joke crackin’ cross-eyed goofball. He’s not doing his bits…He really is kind of Jim’s dad-ish (from <em><a href="https://www.imdb.com/title/tt0163651/?ref_=fn_al_tt_1">American Pie</a></em>) – he’s just this sweet, earnest man and he wants everyone to be okay.”\n
\n
&nbsp;\n
\n
<strong>On shooting <em>Schitt’s Creek</em> in Canada </strong>\n
\n
&nbsp;\n
\n
“I’ve only ever worked in Canada, and I have loved every second of it. Having the opportunity to work with so many incredibly talented Canadians on such a special, wonderful show has been incredible…especially going to <a href="https://www.cbc.ca/news/entertainment/goodwood-schitts-creek-tourism-1.5192063">Goodwood</a>, where our Schitt’s Creek was, and being so accepted by the people of Goodwood. They were so proud to be Schitt’s Creekers and so welcoming, and would, like, bring out lawn chairs and watch us shoot. I remember at one point, one of my favourite moments was this shirtless dude, who had just been cutting these lawns, came over and he stood with his beer behind the monitor and just watched, and then we got the take and he was, like, ‘Yep, that’s the one.’ Then he flip-flopped back across to his garden. Somehow that feels like a uniquely Canadian experience.”\n
\n
&nbsp;\n
\n
<strong>On attending the Emmy Awards with her Schitt’s Creek castmates</strong>\n
\n
&nbsp;\n
\n
“It was just wild. It’s something you dream about as an actor, and once you’re actually there, it’s all chaos and noise. You see all the behind-the-scenes stuff – people running around in a panic and, like, celebrities sweating on a carpet trying to look beautiful.\n
\n
&nbsp;\n
\n
“I think most of us (on <em>Schitt’s Creek</em> cast) have very little chill – like, I think we’re all very Canadian in the sense that we all felt like we didn’t belong there…<a href="https://en.wikipedia.org/wiki/Nicole_Kidman">Nicole Kidman</a> would walk by, and we’d all be, like ‘Agh!’ and Dan (Levy) would be the only one going, ‘Guys, stop it. Just chill, okay?’ Meanwhile, Dustin Milligan and I would be punching each other under the table. It is a very cool experience, but you still kind of feel like it’s so surreal that you’re still just at home watching it on TV.\n
\n
&nbsp;\n
\n
“I was with <a href="https://en.wikipedia.org/wiki/Emily_Hampshire">Emily (Hampshire)</a>, <a href="https://en.wikipedia.org/wiki/Noah_Reid">Noah (Reid)</a> and <a href="https://en.wikipedia.org/wiki/Dustin_Milligan">Dustin (Milligan),</a> and we were sooo hungry and so in need of a drink, so we walked out on a commercial break, and the only things that they had to offer were, like, $15 hotdogs, and $30 double-tall cans. So, we ended up standing in the lobby with a tall can and a hotdog…and that was our kind of classy/non-classy Emmy experience.”\n
\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-20370 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/07/TFS_AnnieMurphyScreenshot4_0723.jpg" alt="" width="670" height="392" />\n
\n
&nbsp;\n
\n
<strong>On the lasting connection between <em>Schitt’s Creek</em> cast members</strong>\n
\n
<strong> </strong>\n
\n
“I’m texting with everyone all the time, and I have it on my list of to-dos to invite myself up to Catherine’s cottage this summer, whether she likes it or not. But we genuinely love each other so much, and have created – I’m full of cheesy shit today – lasting, life-long friendships.”\n
\n
&nbsp;\n
\n
<strong>On what’s next in her career</strong>\n
\n
&nbsp;\n
\n
“I think the most important thing to me is continuing to either create or be a part of fun, interesting projects with cool people with great brains. I want to do as much as possible. I’d love to do theatre again, and I’d love to do voice work, and I’d love to do super, low-budget indies in a weird place on the planet. I have no end goal, really, I just want to do as much as I can.”\n
\n
&nbsp;\n
\n
<strong>On her upcoming lead role in AMC’s <em><a href="https://www.imdb.com/title/tt9257258/">Kevin Can F*** Himself</a></em></strong>\n
\n
&nbsp;\n
\n
“It’s kind of from the perspective of the sitcom wife who is so often ignored and passed over and the butt of the jokes. The series is an hourlong dark comedy and it’s from her perspective more or less, but what’s really cool is it goes back and forth between a multi-cam set up, but when she’s on her own, we go to this gritty, beautiful single cam, like kind of more dramatic. So it’s going to be fun and it’s so different from Alexis, because I’m a hard-livin’ Bostonian, so I have an accent, which is really interesting and we’re shooting just outside of Quincy in Massachusetts sometime, who knows when, but I’m super excited and just the cast is so cool and I’m scared shitless and I can’t wait to see what happens.”\n
\n
&nbsp;\n
\n
<strong>On the importance of taking on meaningful projects</strong>\n
\n
&nbsp;\n
\n
“I think if you have the opportunity, if you’re fortunate enough to be able to create, why not create something that’s important, something that cheers people up, something that has a positive impact on the world – because we are so desperate for it right now. I think sending messages of goodness and kindness and inclusivity and love are very important things, but I also think that creating opportunities to tell both sides of stories, and letting the bad in with the good and having those conversations is also very important, too.”\n
\n
&nbsp;\n
\n
<strong>On her work with <a href="https://care.ca/">CARE Canada</a></strong>\n
\n
&nbsp;\n
\n
“My <a href="https://care.ca/2019/09/care-canada-ambassador-annie-murphy-travels-with-care-to-jordan/">experience in Jordan</a> was absolutely incredible. I went there for three days and met incredible people and played a small part in raising awareness for CARE, the organization that sent me…It was the wildest trip of my whole life. They took my mom and I around their facilities. They do work from educating kids and doing after-school programs, to finding people housing, to finding people doctors, to finding women jobs in the community – and most of the people they’re helping are Syrian refugees…and incredible human beings who are making the absolute most out of a very, very hard life.\n
\n
&nbsp;\n
\n
“On the very last day, my mom and I went to the <a href="https://en.wikipedia.org/wiki/Azraq_refugee_camp">Azraq refugee camp</a>, which is almost entirely Syrian refugees there in the middle of the dessert. We met a few families there and saw what CARE is doing there, and it was just, like – it was a really weird experience coming home. I came home, and then I went to the Emmys right after that, and it really put things in perspective and made me realize what the important things are. It really is as cliché as it sounds, but it’s really only when you see it with your own eyes that you realize what much of the world actually is and how deeply, deeply, deeply privileged we are in our little bubble.\n
\n
&nbsp;\n
\n
“It is so important – especially, especially now, when everything is so fucked up – to stand up for what is right.”\n
\n
&nbsp;\n
\n
<strong>On what she’d tell her 20-year-old self</strong>\n
\n
&nbsp;\n
\n
“Don’t give up, even after that whole werewolf experience. Just keep trying, keep plugging away…Also, I learned a good lesson after coming very, very close to getting a role on <em><a href="https://en.wikipedia.org/wiki/Bomb_Girls">Bomb Girls</a></em>. I wanted it so bad. It was a period piece and I wanted to do period piece so much, and it sounded like such a cool premise. It came down to me and <a href="https://en.wikipedia.org/wiki/Jodi_Balfour">Jodi Balfour</a>, and when Jodi got it, I was so sad, I was heartbroken. But if I had booked <em>Bomb Girls</em>, I wouldn’t have been able to do <em>Schitt’s Creek</em>. So if you’re able to look at in that way, there’s always going to be something coming down the pipes and, ugh, I almost said ‘If one door closes, a window opens,’ but it’s kinda true.”\n
\n
&nbsp;\n
\n
<strong>On how's she coping during the pandemic</strong>\n
\n
&nbsp;\n
\n
“I’m a-okay. I was supposed to start work on <em>Kevin Can F*** Himself</em>…on March 20, so that kind of came to a screeching halt. So yeah, I’m posted up in Toronto just kind of waiting to see when we’re going to get back to work…I wish I could say I was like all those sourdough-making people and people that build canoes now. Instead, I sat dreamily looking at those people for a week and a half going, ‘I’m going to be that person,’ but basically all I’ve accomplished is I’m now on season 4 of<em> <a href="https://www.tlc.com/tv-shows/90-day-fiance-before-the-90-days/">90 Day Fiancé: Before the 90 Days</a>.</em> I mean, it’s something. It shows that I’m a committed audience member and a passionate world traveller from my couch."\n
\n
&nbsp;\n
\n
<strong>On advice to younger generation</strong>\n
\n
<strong> </strong>\n
\n
“Keep creating and entertaining yourself and entertaining your friends, and watching things that make you happy and that challenge and excite you. I know these times are what they are, and it’s really, really tough, but I think it should be a big dose of inspiration to put good out there, however you want to define that.”\n
\n
&nbsp;\n
\n
&nbsp;\n
<p style="text-align: center;"></p>
"""
post_title
"Video Game Student Leo Li Named Winner of Codename: Shifter Contest"
post_excerpt
""
post_status
"publish"
comment_status
"closed"
ping_status
"open"
post_password
""
post_name
"video-game-student-leo-li-named-winner-of-codename-shifter-contest"
to_ping
""
pinged
""
post_modified
"2023-03-27 21:07:53"
post_modified_gmt
"2023-03-27 21:07:53"
post_content_filtered
""
post_parent
0
guid
"https://dev.tfs.staging.poundandgrain.ca/?p=20507"
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/video-game-student-leo-li-named-winner-of-codename-shifter-contest/"
USER
"forge"
HOME
"/home/forge"
HTTP_REFERER
"https://dev.tfs.staging.poundandgrain.ca/blog/video-game-student-leo-li-named-winner-of-codename-shifter-contest"
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
"dev.tfs.staging.poundandgrain.ca"
REDIRECT_STATUS
"200"
HTTPS
"on"
SERVER_NAME
"dev.tfs.staging.poundandgrain.ca"
SERVER_PORT
"443"
SERVER_ADDR
"10.0.1.187"
REMOTE_PORT
"64369"
REMOTE_ADDR
"18.226.226.241"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/2.0"
DOCUMENT_ROOT
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web"
DOCUMENT_URI
"/index.php"
SCRIPT_NAME
"/index.php"
SCRIPT_FILENAME
"/home/forge/dev.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
1731854886.1275
REQUEST_TIME
1731854886
DB_NAME
"tfs_dev"
DB_USER
"***"
DB_PASSWORD
"************"
WP_ENV
"development"
WP_HOME
"https://dev.tfs.staging.poundandgrain.ca"
WP_SITEURL
"https://dev.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"
Key Value
DB_NAME
"tfs_dev"
DB_USER
"***"
DB_PASSWORD
"************"
WP_ENV
"development"
WP_HOME
"https://dev.tfs.staging.poundandgrain.ca"
WP_SITEURL
"https://dev.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"
0. Roots\Acorn\Exceptions\Handler\PrettyPageHandler