PHPackages                             dankempster/template-php-component - 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. dankempster/template-php-component

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

dankempster/template-php-component
==================================

A template workspace for developing a new component/package. Includes configuration for travis-ci.org, Scrutinizer.com and Coveralls.io.

06PHP

Since Jan 2Pushed 11y ago1 watchersCompare

[ Source](https://github.com/dankempster/template-php-component)[ Packagist](https://packagist.org/packages/dankempster/template-php-component)[ RSS](/packages/dankempster-template-php-component/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

Workspace Template for a PHP Component
======================================

[](#workspace-template-for-a-php-component)

Usage
-----

[](#usage)

Install the template using composer

```
$ composer create-project dankempster/workspace-component myvendor-mycomponent/
$ cd myvendor-mycomponent/

```

Replace distribtion files

```
$ rm composer.json readme.md
$ mv composer.json.dist composer.json
$ touch readme.md

```

The template uses the example package name Acme\\Component. Replace that with your package name by performing search and replace on the following files:

- composer.json :
    - acme/component - my-vendor/my-component
    - Acme\\\\Component\\\\ - MyVendor\\\\MyComponent\\\\
- phpunit.xml.dist
    - Acme/Component - MyVendor/MyComponent

Now write your own readme.md file.

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

[](#directory-structure)

Fairly simple and self explanatory structure:

```
|- docs/
|- src/
|- tests/
|- .gitignore.yml
|- .composer.json
|- phpunit.xml.dist
`- Readme.md

```

CI and SaaS
-----------

[](#ci-and-saas)

This template also includes configuration files for:

- Travis CI
- Scrutinizr
- Coveralls

All of which are free for Open Source projects.

**Tip**: Also check out SensionInsight - no configuration required.

### Travis CI

[](#travis-ci)

Travis CI is a hosted continuous integration service with Github integration. So when the hosted repo revies pull requests or pushes, Travis CI will start a build and run your projects tests.

### Scrutinizer

[](#scrutinizer)

Is a code quality analysis tool, in fact it's many tools in one. Like Travis CI, Scrutiinizer integrates with Github and so will perform an "inspection" when the hosted repo recieves any pushes or pull requests. This workspace doesn't include any default configuration for Scrutinizer (I like to use global configuratoins in my account), but Travis is configured (.travis.yml) to send code coverage reports (clover.xml) to Scrutiinizer.

### Coveralls

[](#coveralls)

Coveralls is an only code coverage visualisation aid. This repo uses the satooshi/php-coveralls as a dev-dependancy to upload cover coverage reports to Coveralls after a Travis build.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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/083ef19db61f77b0448c713af97c328180fc7609794a3f9b7e467b8a993f6b93?d=identicon)[dankempster](/maintainers/dankempster)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/dankempster-template-php-component/health.svg)

```
[![Health](https://phpackages.com/badges/dankempster-template-php-component/health.svg)](https://phpackages.com/packages/dankempster-template-php-component)
```

###  Alternatives

[roots/bedrock-disallow-indexing

Disallow indexing of your site on non-production environments

134.5M34](/packages/roots-bedrock-disallow-indexing)[waterhole/core

Waterhole core

2234.7k4](/packages/waterhole-core)

PHPackages © 2026

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