O que é essa variável de instância na class Widgets

A falta de documentação para a class WP_Widget está me deixando louco. Aqui está o que eu resgatei do códice:

public function form($instance){ ?> <label for="get_field_id('title'); ?>">Title: <input type="text" name="get_field_name('title'); ?>" value="" id="get_field_id('title'); ?>" />  <?php } 

Qual é esta variável $instance ? Os documentos dizem que são The settings for the particular instance of the widget . Mas então, por que não é apenas mais uma propriedade de $this . Por que $this->get_field_name('title') parece saber algo sobre um título e, de repente, quando queremos o maldito título, eu tenho que começar a entrar nesta variável de instance . O que estou perdendo aqui.

Você pode me explicar onde o $title é realizado, o que diabos a $instance é diferente de $this e por que estamos usando o título para obter o nome do campo?

Muito obrigado!

Solutions Collecting From Web of "O que é essa variável de instância na class Widgets"

$instance contém os dados armazenados para esta instância de widget como uma matriz. Você poderia usar o mesmo widget várias vezes, e cada um obteria dados diferentes.

get_field_name() e get_field_id() retorna nome / id atributos para esse widget. Eles são únicos para cada widget, mas não dependem dos dados. É por isso que eles não precisam saber nada sobre a $instance :

 function get_field_name($field_name) { return 'widget-' . $this->id_base . '[' . $this->number . '][' . $field_name . ']'; }