PHPackages                             mazer/rewrite-dagger - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. mazer/rewrite-dagger

ActiveLibrary[Testing &amp; Quality](/categories/testing)

mazer/rewrite-dagger
====================

A php dagger that chisel out the "seam" for testing by rewrite code instead of using any extensions like runkit.

v1.0.0(5y ago)03MITPHPPHP ^7.2CI passing

Since Oct 31Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/avengerandy/RewriteDagger)[ Packagist](https://packagist.org/packages/mazer/rewrite-dagger)[ RSS](/packages/mazer-rewrite-dagger/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

RewriteDagger
=============

[](#rewritedagger)

[![tests](https://github.com/avengerandy/RewriteDagger/workflows/tests/badge.svg)](https://github.com/avengerandy/RewriteDagger/actions?query=workflow%3Atests)[![coding-style](https://github.com/avengerandy/RewriteDagger/workflows/coding-style/badge.svg)](https://github.com/avengerandy/RewriteDagger/actions?query=workflow%3Acoding-style)[![PHP Version Requires](https://camo.githubusercontent.com/629c1c68d5da1c8de119deda72d08289a1f9059afa667666385c90372aa7d66c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d617a65722f726577726974652d646167676572)](https://packagist.org/packages/mazer/rewrite-dagger)[![Latest Stable Version](https://camo.githubusercontent.com/a45f02d01a175ab0440b8a20c72cc0ce1da915f1765db5f66e51acf9e5994975/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d617a65722f726577726974652d646167676572)](https://packagist.org/packages/mazer/rewrite-dagger)[![License](https://camo.githubusercontent.com/db99bc44c7692714e632a9ea425096d38b0287c29a7abf9c85402fb71ffd0133/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d617a65722f726577726974652d646167676572)](https://packagist.org/packages/mazer/rewrite-dagger)

A php test tool that mock **anything** without using any extensions.

Table of content
================

[](#table-of-content)

- [Install](#install)
- [Features](#features)
- [Usage](#usage)
    - [Quick start](#quick-start)
    - [How it works](#how-it-works)
    - [Dagger](#dagger)
    - [CodeRepository](#codeRepository)
        - [FileCodeRepository](#fileCodeRepository)
        - [EvalCodeRepository](#evalCodeRepository)
    - [DaggerFactory](#daggerFactory)
- [Testing](#testing)
- [Disadvantage](#disadvantage)
- [Conclusion](#conclusion)
- [Inspire](#inspire)
- [Related repo](#related-repo)
- [License](#license)

Install
=======

[](#install)

```
composer require mazer/rewrite-dagger

```

Features
========

[](#features)

RewriteDagger can mock **anything** that test target dependened. No matter those function and class is from PHP buildin, third party or your project. By rewriting the test target code before including and evaluating it, RewriteDagger can replace any words and content present in the test target without any extension.

Usage
=====

[](#usage)

Quick start
-----------

[](#quick-start)

There is a PHP function that needs to be tested as follows

- header set
- output json
- exit

```
