2016-11-01 9 views
0

私はlaravel最新バージョンをインストールしました。私のアプリケーションではbarryvdh/laravel-dompdfパッケージを使用しました。そして、私は作曲の更新を与えながら私の問題を得ることはありません、この「はbarryvdh/laravel-DOMPDFは」..Itはその後、唯一の私の変更を無視する必要があります更新された今 作者/ Laravel:ベンダー内の特定のフォルダを更新しない

PDFパッケージ内のいくつかのフォントの変更を..作っ..

composer update 

に影響を与えそしてここで私は自分のプロジェクトに追加しようとしたパッケージですされていません。https://github.com/barryvdh/laravel-dompdf

任意の提案?

+0

どのような変更を行いましたか? [コメント](http://stackoverflow.com/questions/40355301/composer-laravel-not-update-specific-folder-inside-vendor#comment67967133_40355572)では、フォントの追加について言及していますが、それは変更の程度ですか? – BrianS

答えて

0

vendorのクラス内で決して変更を加えるべきではありません。標準機能を変更する代わりにextend those classesする必要があります。

+0

@howは拡張しますか? – Trent

+1

@Trent、それは1つの答えでそれを行う方法を教えることは不可能です。どのように動作するかを理解するために、いくつかのチュートリアルと良いOOPの本を読むことをお勧めします。 –

0

@Trentは説明するのが難しくありません。

OOPについて読んでみると、階層についてのアイデアが得られます。つまり、クラスには「父親」が存在することになります。

この場合、Laravelのベンダーがデフォルトで読み込まれます。したがって、 "FatherClass"というベンダークラスがあるとしましょう。その機能を拡張したい場合は、それを拡張した "ChildClass"を作成できます。これは簡単な例です:

<?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 
    ?> 

これはベンダーにとってどのようにわかりますか?

あなたの場合、これはPDF(https://github.com/barryvdh/laravel-dompdf/blob/master/src/PDF.php)を拡張する必要があるクラスです。あなたがメソッドをオーバーライドしたり、あなたの目的のために新しいものを作成することになりましたことができるはず

<?php 
    class NewPdfClass extends PDF{ 

    } 

だから、次のようになります。

これが役立つかどうか教えてください。

+0

私はベンダーのフォルダ内のdompdfパッケージ内にいくつかのフォントを追加しました...もし私がコンポーザーのアップデートを与えるなら、パッケージは更新されますか?私は他の側からPDFフォントを変更するには、フォントをインポートすることはできません.... – Trent

関連する問題