Este pacote oferece uma função invade
que permitirá ler/escrever propriedades privadas de um objeto. Também permitirá que você ligue para métodos privados.
Investimos muitos recursos para criar os melhores pacotes de código aberto de classe. Você pode nos apoiar comprando um de nossos produtos pagos.
Agradecemos muito por você nos enviar um cartão postal da sua cidade natal, mencionando qual dos nossos pacotes você está usando. Você encontrará nosso endereço em nossa página de contato. Publicamos todos os cartões postais recebidos em nossa parede virtual de cartão postal.
Você pode instalar o pacote via compositor:
O compositor requer spatie/Invade
Imagine que você tenha essa classe definida, que possui uma propriedade e método privados.
classe myclass {private string $ privateproperty = 'valor privado'; função privada privatemethod (): string {return 'private Return Value'; } } $ myclass = new myClass ();
É assim que você pode obter o valor da propriedade privada usando a função invade
.
Invade ($ myclass)-> PrivateProperty; // Retorna 'Valor Privado'
A função invade
também permite alterar valores privados.
Invade ($ myclass)-> privateProperty = 'Valor alterado'; Invade ($ myclass)-> privateProperty; // Retorna o valor alterado
Usando invade
você também pode chamar funções privadas.
Invade ($ myclass)-> privatemethod (); // Retorna 'Valor de devolução Privada'
Além disso, você também pode obter e definir propriedades privadas de classe estática e chamar métodos estáticos privados. Imagine ter esta aula:
classe myclass {string estática privada $ privatticaticProperty = 'privateValue'; função estática privada privatticaticMethod (string $ string, int $ int): string {return 'private Return Value'. $ string. ''. $ int; } }
Aqui está como você obtém e define propriedades de classe privada:
Invade (MyClass :: Class)-> Get ('PrivatestaticProperty'); // Retorna 'Private Value'invade (MyClass :: Class)-> set (' PrivateStaticProperty ',' AlternValue '); Invade (MyClass :: Class)-> Get (' PrivatestaticProperty '); // Retorna 'Alteração'
E é assim que você chama métodos estáticos privados:
Invade (MyClass :: Class) -> Método ('Privatestaticmethod') -> Call ('Foo', 123); // Retorna 'Valor de devolução privada Foo 123'
Teste do compositor
Consulte Changelog para obter mais informações sobre o que mudou recentemente.
Por favor, consulte a contribuição para obter detalhes.
Revise nossa política de segurança sobre como relatar vulnerabilidades de segurança.
Freek van der Herten
Todos os colaboradores
E um agradecimento especial ao Caneco pelo logotipo
A idéia original para a função invade
veio de Caleb "String King" Porzio. Policamos um pouco o código que ele criou nesse compromisso no LiveWire.
A licença do MIT (MIT). Consulte o arquivo de licença para obter mais informações.