Claro que es posible que uses $this, si incluyes el archivo dentro del método.
El problema aquí es el contexto, no es lo mismo que definas la función (usando $this) y la llames dentro del método o fuera de él.
Revisa este ejemplo:
Código PHP:
Ver original<?php
class Foo
{
public function bar()
{
echo 'bar';
}
public function sayBar()
{
$this->bar();
}
public function inSayBar()
{
include('test.php');
}
}
$f = new Foo();
$f->sayBar(); // Bien usas $this
$f->inSayBar(); // aca sirve pero no es "lo mejor"
sayBar(); // ups fatal error
test.php
Código PHP:
Ver original<?php
$this->bar();
function sayBar()
{
$this->bar();
}
Como puedes ver $this no se comporta igual aunque lo tengas en el mismo archivo, y el problema es como bien te dijo @pateketrueke, el contexto de donde estas usando $this.
Saludos.