Skip to content

Instantly share code, notes, and snippets.

View wesllycode's full-sized avatar

wesllycode wesllycode

View GitHub Profile
FROM php:8.0-fpm
# Install system dependencies for build tools and extensions
# Install system dependencies
RUN apt-get update \
&& apt-get -y --no-install-recommends install php-xdebug \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
@wesllycode
wesllycode / index.php
Last active October 6, 2023 15:12
Criando classes com PHP usando OOP com e sem interface, agregação de relacionamento de classes.
<?php
class Pessoa {
public function __construct(
private String $nome,
private String $sobrenome,
private String $endereco)
{
}
@wesllycode
wesllycode / Concert.php
Created August 27, 2023 21:30
Explicando o usado da interface com trait. Se observar, eu declarei o método que interface pedi na trait e como trait é chamado dentro da classe Concert.php, por isso não dar erro de falta de implementação do método getPrice().
<?php
require_once 'src/HasMenu.php';
class Concert implements PricingContract
{
use HasMenu;
public function __construct()
{
$this->itens = [
@wesllycode
wesllycode / MercadoPago.php
Last active August 25, 2023 12:34
Meu service no laravel com Mercadopago para gerar QRCODE.
<?php
namespace App\Services\GatewayPayments;
use App\Models\Company;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Psr7\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Response;

Anti-patterns e código limpo


Conceitos

Quando se fala em desenvolvimento de software é comum ouvirmos sobre design patterns, ou padrão de projeto, que nada mais é do que uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. Assim, um anti-padrão é:

[...] um padrão de projeto de software que pode ser comumente usado, mas é ineficiente e/ou contra-produtivo em prática.

Anti-patterns

@wesllycode
wesllycode / Localizable.strings
Last active July 24, 2023 12:36
Português (Brasil) translation for PHPMon
// MENU ITEMS (MI)
"mi_busy" = "PHP Monitor está em uso...";
"mi_unsure" = "Não temos a certeza de qual a versão do PHP está executando.";
"mi_php_version" = "Versão global: PHP";
"mi_php_switch" = "Mudar para o PHP";
"mi_php_unsupported" = "Algumas versões do PHP instaladas não são exibidas.";
"mi_php_broken_1" = "Ops! Parece que a sua instalação PHP está com problemas...";
"mi_php_broken_2" = "Tente executar `php -v` no seu terminal.";
"mi_php_broken_3" = "Pode tentar mudar para outra versão.";
@wesllycode
wesllycode / ResponseHttpStatusLaravel.php
Last active June 10, 2023 15:07 — forked from jeffochoa/Response.php
Laravel HTTP status code para ser usado no Laravel.
<?php
// This can be found in the Symfony\Component\HttpFoundation\Response class
const HTTP_CONTINUE = 100;
const HTTP_SWITCHING_PROTOCOLS = 101;
const HTTP_PROCESSING = 102; // RFC2518
const HTTP_OK = 200;
const HTTP_CREATED = 201;
const HTTP_ACCEPTED = 202;
@wesllycode
wesllycode / explicandoUsoDoConstruct.php
Created March 31, 2023 13:27
Explicando uso do __construct com PHP
<?php
// Como seria normalmente a criação de um objeto sem o construct.
Class Pessoa
{
public function Nome(String $nome) :String
{
return print $nome;
@wesllycode
wesllycode / operadorDeEscopoDeResolucao.php
Last active March 31, 2023 12:21
Mostrando exemplo de como usar operador de escopo de resolução com métodos estáticos e funções estáticas.
<?php
// Como normalmente se faria, chamando um objeto
/*
* Class Carro
*
* @params String $modelo
* @return string