Mit etwas Glück erlauben die Bibliotheksautoren Anpassung durch öffentliche Eigenschaften oder Methoden oder durch Klassenerweiterung oder eine andere Methode.
Ich habe eine PHP-Bibliothek, die ein wenig Personalisierung erfordert, und ich kann dies durch öffentliche Eigenschaften/Methoden tun.
Dies ist ein sehr einfaches Beispiel:
<?php
class Foo {
public $bar = 'big';
public $baz = 'fat';
public $bat = 'mamma';
}
Wenn Sie das Attribut $ bat wollten Sie einen anderen Wert zu haben, dies tun könnte:
$foo = new Foo;
$foo->bat = 'man';
Oder Sie könnten die ursprüngliche Klasse erweitern:
class MyFoo extends Foo
{
public $bat = 'man';
}
$foo = new MyFoo;
Beide Methoden ermöglichen möglicherweise die Aktualisierung der ursprünglichen Klasse, ohne dass dies Auswirkungen hat Code eingeben. Versuchen Sie, die Bearbeitung der Originalbibliothek möglichst zu vermeiden.
Wenn Sie den Bibliothekscode bearbeiten müssen. Und die Bibliothek verwendet Git für die Versionskontrolle, Sie könnten den Originalcode (Git Clone) klonen und einen neuen Zweig für Ihre Änderungen erstellen. Und notieren Sie diese Änderungen (Commit) und wenden Sie diese Änderungen bei Bedarf in einer aktualisierten Codebasis an. Git macht das etwas einfacher als das Verwalten und Anwenden eigener Änderungen (Diffs/Patches) auf den Bibliothekscode.
Wenn Sie die Version der Bibliothek identifizieren können, mit der Sie begonnen haben (vielleicht war es eine markierte Version) und Sie können den Code wie zuvor abrufen, können Sie diesen mit Ihrem geänderten Code vergleichen und eine Änderung erstellen setzen (oder setzt). Sie können möglicherweise eine Version der Bibliothek auschecken, wie sie vor dem Start war, eine neue Verzweigung erstellen (von dort), Ihre Änderungen übernehmen und versuchen, sie wieder in eine aktualisierte Bibliothek einzubinden.
Wie haben Sie den Code von Github heruntergeladen? – Progrock
Ich habe Zip-Datei heruntergeladen. leider kein Git Klon.aber ich würde auch gerne wissen, was der richtige Weg ist, es in Zukunft zu tun. – cybergeek654