承接 tygygydyk/composer-dependency-scanner 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tygygydyk/composer-dependency-scanner

最新稳定版本:1.0.0

Composer 安装命令:

composer require tygygydyk/composer-dependency-scanner

包简介

Composer Dependency Scanner

README 文档

README

Scans Composer dependencies across GitLab projects: lists your projects and returns data from composer.json / composer.lock (PHP version, dependencies, locked versions).

Requirements: PHP 8.2+, ext-curl

composer require tygygydyk/composer-dependency-scanner

Usage

Entry point is Client. Inject a project list provider (e.g. GitLab). getComposerProjects() yields Project objects (id, name, composer with php, dependencies, dependenciesDev).

Plain PHP:

use Tygygydyk\ComposerDependencyScanner\Client;use Tygygydyk\ComposerDependencyScanner\Factory\ComposerFactory;use Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSource;use Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSourceConfig;use Tygygydyk\ComposerDependencyScanner\Transport\Http\GitlabHttpClient;

$http = new GitlabHttpClient('https://gitlab.example.com', 'your-token');
$config = new GitlabSourceConfig(100, true, null);  // null = branch from API
$client = new Client(new GitlabSource($http, new ComposerFactory(), $config));

foreach ($client->getComposerProjects() as $project) {
    echo $project->name . ' — PHP ' . $project->composer->php . "\n";
}

Symfony

Parameters (use .env for secrets):

parameters:
    gitlab.url: '%env(GITLAB_URL)%'
    gitlab.token: '%env(GITLAB_TOKEN)%'
    gitlab.scanner.per_page: 100
    gitlab.scanner.membership: true
    gitlab.scanner.default_branch: null

Services (config/services.yaml):

services:
    Tygygydyk\ComposerDependencyScanner\Transport\Http\GitlabHttpClient:
        arguments: { $url: '%gitlab.url%', $token: '%gitlab.token%' }
    
    # Or just Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSourceConfig: ~
    # for default params.
    Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSourceConfig:
        arguments:
            $perPage: '%gitlab.scanner.per_page%'
            $membership: '%gitlab.scanner.membership%'
            $defaultBranch: '%gitlab.scanner.default_branch%'

    Tygygydyk\ComposerDependencyScanner\Factory\ComposerFactory: ~

    Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSource:
        arguments:
            $httpClient: '@Tygygydyk\ComposerDependencyScanner\Transport\Http\GitlabHttpClient'
            $composerFactory: '@Tygygydyk\ComposerDependencyScanner\Factory\ComposerFactory'
            $config: '@Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSourceConfig'

    Tygygydyk\ComposerDependencyScanner\Client:
        arguments:
            $projectListProvider: '@Tygygydyk\ComposerDependencyScanner\ProjectProvider\Gitlab\GitlabSource'

.env: GITLAB_URL=https://gitlab.example.com, GITLAB_TOKEN=glpat-xxx

Inject Client where needed; use gitlab.scanner.default_branch: 'main' to force one branch for all repos.

Exceptions

  • HttpException — request failed (network or 4xx/5xx). getStatusCode() is 0 when no response was received.
  • InvalidComposerFileException — invalid JSON in composer.json / composer.lock.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2026-02-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固