Laravel Package上线之概述

为什么要开发Package

我们可能会遇到这样的情况:希望在其他应用程序中重用应用程序的某些功能,将特定功能开源,或者将相关代码放在一起,但将其与主应用程序分开。在这种情况下,将部分功能提取到package中是有意义的。Package或“libraries”提供了一种简单的方法,可以向现有应用程序添加额外的功能,并专注于单个功能或业务的开发。

文章的思路

在本文档中,我们将通过逐个介绍列出的功能来构建一个演示包(称为“资源包”)。主要的功能是获取网络上各大资源平台的m3u8播放地址,以及视频信息等。

Composer & Packagist

Packagist 是主要的Composer仓库。它集合了与Composer一起安装的公开 PHP 软件包。Packagist上有近240,000个包。我们日常开发都离不开它。Package使用Composer下载安装Package ,Composer是PHP的包管理软件- 管理项目中的依赖关系。

辅助工具

虽然很好理解一般Package的结构,但是通过一些有用的工具可以很方便的搭建好Package开发的脚手架。

  • Package Skeleton by Spatie 。这个包框架为从头开始搭建Laravel包提供了一个很好的起点。除了Laravel包的基本组件之外,该框架还附带了一个GitHub特定的配置,包括一组用于GitHub操作的工作流。
  • Laravel Package Boilerplate。Marcel Pociot的这个工具允许您为Laravel特定和通用的PHP包生成一个基本模板,可以作为. zip文件下载。
  • Laravel Packager。这个包提供了一个CLI工具,可以在现有的Laravel应用程序中快速构建包。
  • Laravel Packager Hermes。DelveFore的这个包是Laravel Packager包的扩展,允许在该包中使用Artisan命令来快速生成Laravel特定的类。目前,它只支持Controller的脚手架。
  • Laravel Package Tools。像前面提到的包一样,Marcel Pociot的包旨在从Laravel包中提供Artisan命令,以快速构建Command、Request、Job、Event等。
  • Orchestral Canvas。这个包提供代码生成器,并复制基本Laravel应用程序中的所有make artisan命令。
  • Yeoman Laravel Package Scaffolder 。这个Package提供了一个独立的生成器来快速脚手架Laravel包。它将生成一个骨架结构、一个现成的composer. json文件和一个完全配置的ServiceProvider。只需取消您需要的注释并开始开发。
  • Laravel Packer。一个PHP包,提供一个命令行工具来构建基本的包目录结构和composer. json文件,并在包中提供make artisan命令。
  • Laravel Package Maker。一个PHP包,它提供所有用于包开发的Laravel make命令。它使用Composer的存储库功能将您的测试应用程序与包进行符号链接,以使测试尽可能简单。

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容