PHPackages                             elyerr/elyscope - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. elyerr/elyscope

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

elyerr/elyscope
===============

PHP dependency isolation and namespace scoping tool.

00PHP

Since Jun 19Pushed todayCompare

[ Source](https://github.com/elyerrlabs/elyscope)[ Packagist](https://packagist.org/packages/elyerr/elyscope)[ RSS](/packages/elyerr-elyscope/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Elyscope
========

[](#elyscope)

PHP dependency isolation and namespace scoping tool for modular applications.

Elyscope is a core component of the ElyMod ecosystem and works alongside OAuth2 Passport Server to enable true application modularization in PHP.

Why Elyscope?
-------------

[](#why-elyscope)

Traditional Composer projects share a single `vendor` directory. This becomes a problem when building modular systems because modules may:

- Require different versions of the same package.
- Introduce dependency conflicts.
- Pollute the application's global namespace.
- Break compatibility between modules.
- Become difficult to distribute independently.

Elyscope solves these problems by creating isolated and scoped dependencies for each module.

Using PHP-Scoper and an automated Composer workflow, Elyscope generates a dedicated dependency layer that can coexist with the host application without namespace collisions.

### What problems does it solve?

[](#what-problems-does-it-solve)

- Dependency version conflicts.
- Namespace collisions.
- Vendor pollution.
- Package compatibility issues.
- Module portability limitations.
- Shared dependency management problems.

### ElyMod Ecosystem

[](#elymod-ecosystem)

Elyscope is an essential component of:

- ElyMod
- OAuth2 Passport Server

Together they provide the foundation required to build modular PHP and Laravel applications where each module can manage its own dependencies without affecting the host application.

---

Features
--------

[](#features)

- Dependency isolation using PHP-Scoper
- Automatic namespace prefixing
- Clean vendor backup management
- Scoped vendor generation
- Composer command passthrough
- Automatic installed.json synchronization
- Compatible with existing Composer workflows
- Designed for modular PHP applications
- Supports independent module distribution

---

Installation
------------

[](#installation)

### Global Installation

[](#global-installation)

Install ElyScope globally using Composer:

```
composer global require elyerr/elyscope
```

Verify the installation:

```
elyscope --help
```

### Command Not Found?

[](#command-not-found)

If `elyscope` is not recognized, Composer's global bin directory may not be available in your system `PATH`.

Display the Composer global bin directory:

```
composer global config bin-dir --absolute
```

You can run ElyScope directly using the full path returned by the command above:

```
/path/to/composer/bin/elyscope --help
```

Common locations include:

```
~/.config/composer/vendor/bin/elyscope --help
```

or

```
~/.composer/vendor/bin/elyscope --help
```

Alternatively, you can execute ElyScope through PHP without modifying your `PATH`:

```
php "$(composer global config bin-dir --absolute)/elyscope" --help
```

### Add Composer Bin Directory to PATH

[](#add-composer-bin-directory-to-path)

For a permanent solution, add Composer's global bin directory to your system `PATH`.

Example for Bash:

```
export PATH="$(composer global config bin-dir --absolute):$PATH"
```

Add the command above to your `~/.bashrc`, `~/.zshrc`, or shell configuration file.

### Create a Symbolic Link

[](#create-a-symbolic-link)

You can also create a symbolic link to make the command available system-wide:

```
sudo ln -s "$(composer global config bin-dir --absolute)/elyscope" /usr/local/bin/elyscope
```

Verify that the link works:

```
elyscope --help
```

---

Usage
-----

[](#usage)

### Install dependencies

[](#install-dependencies)

```
elyscope install
```

Workflow:

1. Remove existing vendor directory
2. Run Composer install
3. Run PHP-Scoper
4. Create vendor-packsave backup
5. Replace vendor with scoped vendor-build
6. Update installed.json metadata
7. Generate optimized autoload files

---

### Production install

[](#production-install)

```
elyscope install --no-dev
```

---

### Update dependencies

[](#update-dependencies)

```
elyscope update
```

Workflow:

1. Restore vendor from vendor-packsave
2. Run Composer update
3. Refresh vendor-packsave
4. Run PHP-Scoper
5. Replace vendor with scoped vendor-build
6. Update installed.json metadata
7. Generate optimized autoload files

---

### Production update

[](#production-update)

```
elyscope update --no-dev
```

---

Composer Passthrough
--------------------

[](#composer-passthrough)

Commands not handled by Elyscope are automatically forwarded to Composer.

Examples:

```
elyscope require monolog/monolog
```

```
elyscope remove monolog/monolog
```

```
elyscope show
```

```
elyscope outdated
```

```
elyscope validate
```

---

Directory Structure
-------------------

[](#directory-structure)

```
vendor/
vendor-packsave/
vendor-build/

```

### vendor

[](#vendor)

Scoped dependencies used by the module.

### vendor-packsave

[](#vendor-packsave)

Clean backup of the original Composer dependencies before scoping.

### vendor-build

[](#vendor-build)

Temporary PHP-Scoper output directory.

---

Requirements
------------

[](#requirements)

- PHP 8.2+
- Composer
- PHP-Scoper

---

License
-------

[](#license)

Copyright (C) 2026 Elvis Y. Roman C.

Licensed under the GNU Affero General Public License v3.0 or later.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/966b515d3fb063763019b1950c8c9b4891373924e10f6867420525a726e08217?d=identicon)[elyerr](/maintainers/elyerr)

---

Top Contributors

[![elyerr](https://avatars.githubusercontent.com/u/94133542?v=4)](https://github.com/elyerr "elyerr (4 commits)")

### Embed Badge

![Health badge](/badges/elyerr-elyscope/health.svg)

```
[![Health](https://phpackages.com/badges/elyerr-elyscope/health.svg)](https://phpackages.com/packages/elyerr-elyscope)
```

###  Alternatives

[beyondcode/laravel-masked-db-dump

Dump masked information from your database

11345.8k](/packages/beyondcode-laravel-masked-db-dump)[coldtrick/event_manager

Manage events, from a simple appointment to a multi day event with day programs and subscriptions

284.8k](/packages/coldtrick-event-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
