Skip to content

BootServiceTrait

Luis Gustavo Santarosa Pinto edited this page Mar 17, 2025 · 1 revision

A BootServiceTrait é uma trait que adiciona funcionalidades de inicialização e configuração a um serviço no Laravel. Ela permite que você configure e inicialize modelos e outras propriedades de forma automática.

Propriedades

  • protected bool $paginationEnabled = true: Indica se a paginação está habilitada.
  • protected mixed $data = null: Dados a serem utilizados pelo serviço.
  • protected bool $existsData = false: Indica se existem dados.
  • protected bool $sync = false: Indica se a sincronização está habilitada.
  • protected bool $qaTest = false: Indica se o teste de QA está habilitado.
  • protected $authUser: Usuário autenticado.
  • protected $model: Modelo padrão.
  • protected ?Model $defaultModel: Instância do modelo padrão.
  • private ?Builder $customQuery = null: Query personalizada.
  • private ?Builder $query = null: Query padrão.
  • protected array $searchableColumns = []: Colunas pesquisáveis.
  • protected array $searchableRelations = []: Relacionamentos pesquisáveis.
  • protected $initializedAutoDataTrait = ['store', 'update']: Métodos inicializados automaticamente.
  • protected static $booted = []: Modelos inicializados.
  • protected static $traitInitializers = []: Inicializadores de traits.

Métodos

__construct()

Construtor que inicializa a trait e configura o modelo padrão.

bootIfNotBooted(): void

Verifica se o modelo precisa ser inicializado e, se necessário, realiza a inicialização.

initializeTraits(): void

Inicializa qualquer trait inicializável no modelo.

bootTraits(): void

Inicializa todas as traits inicializáveis no modelo.

setModel(string|Model $value): self

Define o modelo padrão.

  • Parâmetros:
    • string|Model $value: O modelo a ser definido.

getModel(): Model

Obtém o modelo padrão.

setExistsData(bool $value): self

Define se existem dados.

  • Parâmetros:
    • bool $value: Valor indicando se existem dados.

setPaginationEnabled(bool $value): self

Define se a paginação está habilitada.

  • Parâmetros:
    • bool $value: Valor indicando se a paginação está habilitada.

setSync(bool $value): self

Define se a sincronização está habilitada.

  • Parâmetros:
    • bool $value: Valor indicando se a sincronização está habilitada.

setAuthUser($value): self

Define o usuário autenticado.

  • Parâmetros:
    • $value: Usuário autenticado.

setQaTest(bool $value): self

Define se o teste de QA está habilitado.

  • Parâmetros:
    • bool $value: Valor indicando se o teste de QA está habilitado.

defaultQuery(): Builder

Obtém a query padrão.

setCustomQuery(Builder $customQuery): void

Define uma query personalizada.

  • Parâmetros:
    • Builder $customQuery: Query personalizada.

setData(array|object $data): self

Define os dados a serem utilizados pelo serviço.

  • Parâmetros:
    • array|object $data: Dados a serem utilizados.

__wakeup()

Método chamado ao desserializar o modelo, verifica se precisa ser inicializado.

Exemplo de Uso

$service->setModel(App\Models\User::class);
$service->setPaginationEnabled(true);
$service->setSync(true);
$service->setAuthUser($authUser);
$service->setQaTest(false);
$service->setData(['key' => 'value']);

Clone this wiki locally