See also this alternative approach: https://gist.github.com/cmtickle/8900629447429126ffd7ff84e56ec780#to-patch-code-in-appcode
If you need to patch an M2 extension that isn't available to be installed via Composer, and you're concerned about losing edits directly to files in app/code/<Vendor>
directory, you can install and then patch the extension locally using these steps:
-
Copy the extension into an arbitrary folder location like
app/code/packages/VendorName/ModuleName
(this assumes this module has acomposer.json
file with the package name ofvendorname/module-modulename
) -
Run this command to add your custom package location to the composer repositories list:
composer config repositories.vendorname/module-modulename path app/packages/VendorName/ModuleName
-
Require the extension:
<?php | |
// Initiate Symfony | |
require_once __DIR__ . '/vendor/autoload.php'; | |
use Symfony\Component\Process\Process; | |
// Basic-Configuration | |
$config = [ | |
'bin' => 'bin/satis', | |
'json' => 'satis.json', |
Devemos explicar o problema claramente e identificar detalhes adicionais que a equipe precise saber. Devemos aqui descrever o contexto, o que foi feito até agora e o estado atual.
A descrição também serve como uma trilha à qual podemos voltar no futuro para entender o raciocínio que tínhamos na época e ver quais restrições e requisitos mudaram.
/** | |
* Esse é um estudo sobre Hashcash que acabou se tornando Proof of Work (POW) | |
* | |
* As semelhança que eu identifiquei: | |
* - Ambos usam da capacidade computacional para resolver um desafio, que é encontrar um quantidade de zeros "0" | |
* em uma hash SHA-256. | |
* | |
* As diferenças que eu identifiquei: | |
* - Hashcash foi inicial feito para enviar spam de email. É um desafio enviado para pelo servidor, parecido com | |
* versão:timestamp_de_validade:nonce:SHA-256:SOLUÇÃO. A solução é o que o cliente (navegador) precisa descobrir. |