Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Include Interceptor

Include Interceptor Laravel Package

nikic/include-interceptor

PHP extension and library to intercept and virtualize include/require. Lets you provide custom file contents, rewrite paths, or instrument included code without touching the filesystem—useful for loaders, build tools, testing, and sandboxing.

View on GitHub
Deep Wiki
Context7

Intercept PHP includes

Frequently asked questions about Include Interceptor
Can I use nikic/include-interceptor in a Laravel project for autoloading custom files?
Technically possible, but not recommended. The package hooks into PHP’s include system before Laravel’s Composer autoloader runs, which can disrupt framework bootstrapping. For Laravel-specific autoloading, consider `psr-4` autoloading in `composer.json` or Laravel’s `app/Providers/AppServiceProvider` instead.
How do I initialize include-interceptor in Laravel without breaking the framework?
You’d need to add the interceptor in `public/index.php` *before* `require __DIR__.'/../vendor/autoload.php'`. However, this risks interfering with Laravel’s service container, Blade compilation, and Composer’s class loading. Test thoroughly in a staging environment first.
Will nikic/include-interceptor work with Laravel 10 and PHP 8.2?
Unlikely. The package was last updated in 2021 and lacks explicit PHP 8.1+ support. Laravel 10’s stricter type hints and PHP 8.2’s new features may cause silent failures or runtime errors. Use at your own risk or fork and test.
Can I use this for sandboxing or virtual file systems in Laravel?
Yes, but it’s overkill for Laravel’s ecosystem. For sandboxing, consider Laravel’s built-in `Storage` facade or packages like `spatie/laravel-temporary-filesystem`. Virtual filesystems can often be achieved with `Illuminate/Filesystem` or custom `Filesystem` implementations.
Does include-interceptor support Laravel’s service container or dependency injection?
No. The package operates at the PHP engine level, bypassing Laravel’s service container entirely. If you need DI-aware include handling, build a custom solution using Laravel’s `ServiceProvider` or `BootstrapServiceProvider` instead.
How do I test include-interceptor in a Laravel project?
Test in isolation first by mocking includes in a non-Laravel PHP script. In Laravel, use `php artisan tinker` to manually trigger includes and verify behavior. Avoid testing in production—expect edge cases with Blade, Composer, and framework internals.
Are there alternatives to nikic/include-interceptor for Laravel?
For autoloading, use Composer’s `autoload` config or Laravel’s `ClassLoader`. For sandboxing, try `spatie/laravel-temporary-filesystem` or `league/flysystem`. For code instrumentation, consider PHP’s `runkit` (deprecated) or custom `Trait`-based solutions.
Will this package interfere with Laravel’s Blade templates?
Yes, likely. Blade templates rely on dynamic file includes and Laravel’s autoloader. Intercepting includes may break template compilation, partial loading, or cached views. Test Blade-heavy routes first if you proceed.
How do I handle production deployment with include-interceptor?
Avoid it. The package’s low-level hooks introduce unpredictable risks in production, especially with Laravel’s caching (opcache, route caching). If you must use it, implement rigorous rollback plans and monitor for silent include failures.
Is nikic/include-interceptor actively maintained?
No. The package is a fork with no updates since 2021. The original `icewind1991/interceptor` is also abandoned. Use only for legacy systems or if you’re willing to maintain a custom fork for Laravel compatibility.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport