O comando tinker do Artisan é uma ótima maneira de mexer em seu aplicativo no terminal. Infelizmente, executar algumas linhas de código, fazer edições e copiar/colar código pode ser incômodo. Não seria ótimo mexer no navegador?
Este pacote adicionará uma rota ao seu aplicativo onde você poderá mexer o quanto quiser.
Caso a luz machuque seus olhos, também existe um modo escuro.
Investimos muitos recursos na criação dos melhores pacotes de código aberto. Você pode nos apoiar comprando um de nossos produtos pagos.
Agradecemos muito que você nos envie um cartão postal de sua cidade natal, mencionando qual(is) de nossos pacotes você está usando. Você encontrará nosso endereço em nossa página de contato. Publicamos todos os cartões postais recebidos em nosso mural virtual de cartões postais.
Este pacote pode executar código arbitrário. A menos que você saiba o que está fazendo, você nunca deve instalar ou usar isso em um ambiente de produção ou em qualquer ambiente onde você lide com dados do mundo real.
Você pode instalar o pacote via compositor:
composer require spatie/laravel-web-tinker --dev
Em seguida, você deve publicar os ativos deste pacote executando este comando.
php artisan web-tinker:install
Opcionalmente, você pode publicar o arquivo de configuração do pacote.
php artisan vendor:publish --provider= " SpatieWebTinkerWebTinkerServiceProvider " --tag= " config "
Este é o conteúdo que será publicado em config/web-tinker.php
return [
/*
* The web tinker page will be available on this path.
*/
' path ' => ' /tinker ' ,
/*
* Possible values are 'auto', 'light' and 'dark'.
*/
' theme ' => ' auto ' ,
/*
* By default this package will only run in local development.
* Do not change this, unless you know what your are doing.
*/
' enabled ' => env ( ' APP_ENV ' ) === ' local ' ,
/*
* This class can modify the output returned by Tinker. You can replace this with
* any class that implements SpatieWebTinkerOutputModifiersOutputModifier.
*/
' output_modifier ' => Spatie WebTinker OutputModifiers PrefixDateTime::class,
/*
* These middleware will be assigned to every WebTinker route, giving you the chance
* to add your own middlewares to this list or change any of the existing middleware.
*/
' middleware ' => [
Illuminate Cookie Middleware EncryptCookies::class,
Illuminate Session Middleware StartSession::class,
Spatie WebTinker Http Middleware Authorize::class,
],
/*
* If you want to fine-tune PsySH configuration specify
* configuration file name, relative to the root of your
* application directory.
*/
' config_file ' => env ( ' PSYSH_CONFIG ' , null ),
];
Por padrão, este pacote só será executado em um ambiente local.
Visite /tinker
no ambiente local do seu aplicativo para visualizar a página do tinker.
Caso queira executar isso em outro ambiente (não recomendamos isso), há duas etapas que você deve executar.
viewWebTinker
. Um bom lugar para fazer isso é no AuthServiceProvider
que acompanha o Laravel. public function boot ()
{
$ this -> registerPolicies ();
Gate:: define ( ' viewWebTinker ' , function ( $ user = null ) {
// return true if access to web tinker is allowed
});
}
enabled
no arquivo de configuração web-tinker
como true
. Você pode modificar a saída do tinker especificando um modificador de saída na chave output_modifier
do arquivo de configuração web-tinker
. Um modificador de saída é qualquer classe que implemente SpatieWebTinkerOutputModifiersOutputModifier
.
É assim que essa interface se parece.
namespace Spatie WebTinker OutputModifiers ;
interface OutputModifier
{
public function modify ( string $ output = '' ): string ;
}
A instalação padrão deste pacote usará o modificador de saída PrefixDataTime
que prefixa a saída do Tinker com a data e hora atual.
composer test
Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.
Consulte CONTRIBUINDO para obter detalhes.
Se você encontrou um bug relacionado à segurança, envie um email para [email protected] em vez de usar o rastreador de problemas.
Este pacote foi inspirado e usa código do pacote nova-tinker-tool de Marcel Pociot.
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.