[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Roberto Noya
Criador Roberto Noya 16/08/2019

Olá Equipe Especializa TI,

Tenho um sistema que possui variáveis compartilhadas em Controllers diferentes.

Por exemplo:

private $tipopessoa = ['PF', 'PJ'];

 

Qual o procedimento correto de definir essas variáveis em comum em um arquivo que permita ser compartilhado por varios Controllers?

 

Agradeço o costumeiro apoio.

Manager Carlos Ferreira 16/08/2019

Olá, Roberto!
Tudo bem amigo?

Um controller não pode utilizar recurso disponível em outro controller, jamais.

Por que você precisa dessa variável em dois controllers diferentes?
Se o objetivo é apenas passar para as views através dos controllers, você pode criar um view composer.

Dependendo, pode criar um atributo (public) no model e puxar esses valores. Mas, ainda sim precisa ter um motivo claro, um real benefício por trás disso.

Me passa mais detalhes que te oriento melhor no caminho mais correto.

Carlos Ferreira
Criador Roberto Noya 16/08/2019

olá Carlos,

Meu caso se trata de variáveis que apenas são declaradas no Controller e exibidas na View.

Essas váriaveis não são manipuladas nos Controllers e possuem a exibição em views diferentes.

Por exemplo:

Tenho um cadastro de clientes e um cadastro de parceiros. Tanto o cliente como o parceiro poderão ter no cadastro a informação se é pessoa física ou juridica. Outro exemplo de variável comum é o tratamento (senhor, senhora, senhorita...)

Com intuído de declarar essas variáveis em comum em apenas um arquivo que postei essa dúvida.

Nesse caso se aplica o viewcomposer?

 

 

 

 

 

 

Roberto Noya
Criador Roberto Noya 16/08/2019

Só acrescentando o comentário acima. No momento eu declaro duas vezes a mesma vairável em Controllers diferentes.

Segue o trecho do codigo:

 

class ClientController extends Controller

{

   private $tipos = ['PF', 'PJ'];

 

 

class PartnerController extends Controller

{

   private $tipos = ['PF', 'PJ'];   

Roberto Noya
Manager Carlos Ferreira 16/08/2019

Olá, Roberto!

Sim, nesse caso trabalhar com View Composer é o correto.

Se tiver dúvidas de como fazer isso, basta me retornar, que eu te ajudo.

Carlos Ferreira
Criador Roberto Noya 16/08/2019

Olá Carlos,

Vou estudar sobre view composer e agradeço sua ajuda.

 

Roberto Noya
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!