2016-11-01 8 views
0

Ich habe Laravel neueste Version installiert .. In meiner Anwendung habe ich barryvdh/Laravel-Dompdf-Paket verwendet. Und ich habe einige Änderungen an der Schriftart in den pdf-Paketen ..Composer/Laravel: Nicht spezifische Ordner innerhalb Hersteller

Nun mein Problem ist, während Komponist Update gibt diese „barryvdh/Laravel-dompdf“ nicht bekommen, aktualisieren sollte ..es dann meine Änderungen nur ignorieren werden sind nicht betroffen ..

composer update 

Und hier ist das Paket, das ich zu meinem Projekt hinzuzufügen versucht: https://github.com/barryvdh/laravel-dompdf

Irgendwelche Vorschläge?

+0

Welche Änderungen haben Sie vorgenommen? In [comments] (http://stackoverflow.com/questions/40355301/composer-laravel-not-update-specific-folder-inside-vendor#comment67967133_40355572) erwähnen Sie eine Schrift, ist das der Umfang Ihrer Änderung? – BrianS

Antwort

0

Innerhalb von vendor sollten Sie niemals Änderungen an Klassen vornehmen. Sie sollten stattdessen extend those classes ändern, um die Standardfunktionalität zu ändern.

+0

@wie erweitern? – Trent

+1

@Trent, es ist unmöglich, Ihnen beizubringen, wie man es mit einer Antwort macht. Ich würde dir empfehlen, ein gutes OOP-Buch und einige Tutorials zu lesen, um zu verstehen, wie es funktioniert. –

0

@Trent ist nicht so schwer zu erklären.

Wenn Sie über OOP lesen, erhalten Sie die Idee über die Hierarchie, was bedeutet, dass eine Klasse einen "Vater" haben kann, den sie erweitert.

In diesem Fall werden die Anbieter in Laravel standardmäßig geladen. Nehmen wir an, Sie haben eine Hersteller-Klasse namens "FatherClass". Wenn Sie die Funktionalität erweitern möchten, können Sie eine "ChildClass" -Erweiterung erstellen. Dies ist ein einfaches Beispiel:

<?php 

    Class FatherClass{ 
    public function method_one(){ 

     return "Hi, This is method 1"; 
    } 
    } 

    Class ChildClass extends FatherClass{ 

    public function method_two(){ 
     return "Hi, This is method 2"; 
    } 
    } 
    //So now you can create a child object and will have the father and its own methods. 
    $childObject = new ChildClass(); 
    $childObject->method_one(); // Hi, This is method 1 
    $childObject->method_two(); // Hi, This is method 2 
    ?> 

Wie ist das gut es für die Anbieter zu verstehen?

Nun in Ihrem Fall ist dies die Klasse, die Sie PDF (https://github.com/barryvdh/laravel-dompdf/blob/master/src/PDF.php) erweitern sollten.

So soll es so etwas wie sein:

<?php 
    class NewPdfClass extends PDF{ 

    } 

Sie sollten nun in der Lage sein, die Methoden außer Kraft zu setzen oder neue für Ihre Zwecke zu erstellen.

Lassen Sie mich wissen, ob dies hilft.

+0

Ich habe einige Schriftarten innerhalb des dompdf-Pakets im Herstellerordner hinzugefügt ... Wenn ich Composer-Update gebe ..wird das Paket aktualisiert ??? Ich kann die Schriftarten von anderer Seite nicht importieren, um die pdf-Schriftart zu ändern .... – Trent

Verwandte Themen