github.com/anchore/syft@v1.38.2/syft/pkg/cataloger/php/cataloger.go (about) 1 /* 2 Package php provides a concrete Cataloger implementation relating to packages within the PHP language ecosystem. 3 */ 4 package php 5 6 import ( 7 "github.com/anchore/syft/syft/pkg" 8 "github.com/anchore/syft/syft/pkg/cataloger/generic" 9 ) 10 11 // Note about the distinction between composer.lock and installed.json: composer.lock and installed.json have different 12 // semantic meanings. The lock file represents what should be installed, whereas the installed file represents what is installed. 13 14 // NewComposerInstalledCataloger returns a new cataloger for PHP installed.json files. 15 func NewComposerInstalledCataloger() pkg.Cataloger { 16 return generic.NewCataloger("php-composer-installed-cataloger"). 17 WithParserByGlobs(parseInstalledJSON, "**/installed.json") 18 } 19 20 // NewComposerLockCataloger returns a new cataloger for PHP composer.lock files. 21 func NewComposerLockCataloger() pkg.Cataloger { 22 return generic.NewCataloger("php-composer-lock-cataloger"). 23 WithParserByGlobs(parseComposerLock, "**/composer.lock") 24 } 25 26 // NewPearCataloger returns a new cataloger for PHP Pear metadata (including Pecl metadata). 27 func NewPearCataloger() pkg.Cataloger { 28 return generic.NewCataloger("php-pear-serialized-cataloger"). 29 WithParserByGlobs(parsePear, "**/php/.registry/**/*.reg") 30 } 31 32 // NewPeclCataloger returns a new cataloger for PHP Pecl metadata. Note: this will also catalog Pear metadata so should 33 // not be used in conjunction with the Pear Cataloger. 34 // 35 // Deprecated: please use NewPearCataloger instead. 36 func NewPeclCataloger() pkg.Cataloger { 37 return generic.NewCataloger("php-pecl-serialized-cataloger"). 38 WithParserByGlobs(parsePecl, "**/php/.registry/.channel.*/*.reg") 39 }