【问题标题】:Composer/Laravel: Not update specific folder inside vendorComposer/Laravel:不更新供应商内的特定文件夹
【发布时间】:2016-11-01 06:47:52
【问题描述】:

我已经安装了 laravel 最新版本。在我的应用程序中,我使用了 barryvdh/laravel-dompdf 包。我在 pdf 包中做了一些字体更改..

现在我的问题是在给作曲家更新这个“barryvdh/laravel-dompdf”时没有得到更新..它应该被忽略然后只有我的更改不受影响..

composer update

这是我尝试添加到项目中的包:https://github.com/barryvdh/laravel-dompdf

有什么建议吗?

【问题讨论】:

  • 你做了哪些改变?在comments 中,您提到添加字体,这是您更改的程度吗?

标签: laravel pdf composer-php updates dompdf


【解决方案1】:

您不应该对vendor 中的类进行任何更改。您应该 extend those classes 更改标准功能。

【讨论】:

  • @Trent,不可能用一个答案教你怎么做。我建议您阅读一些好的 OOP 书籍和一些教程以了解它是如何工作的。
【解决方案2】:

@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{

   }

您现在应该能够覆盖这些方法或为您的目的创建新方法。

如果这有帮助,请告诉我。

【讨论】:

  • 我在供应商文件夹内的 dompdf 包中添加了一些字体...如果我给作曲家更新 .. 包是否更新???我无法从另一侧导入字体来更改 pdf 字体 ....
猜你喜欢
  • 1970-01-01
  • 2017-09-24
  • 2017-07-13
  • 2018-02-24
  • 1970-01-01
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
相关资源
最近更新 更多