PHPackages                             phpoffice/phpproject - 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. phpoffice/phpproject

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

phpoffice/phpproject
====================

PHPProject - Read, Create and Write Project Management documents in PHP

0.2.0(11y ago)20717.4k↓25%103[6 issues](https://github.com/PHPOffice/PhpProject/issues)LGPLPHPPHP &gt;=5.3.0CI failing

Since Aug 13Pushed 7y ago30 watchersCompare

[ Source](https://github.com/PHPOffice/PhpProject)[ Packagist](https://packagist.org/packages/phpoffice/phpproject)[ Docs](http://phpoffice.github.io)[ RSS](/packages/phpoffice-phpproject/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (2)Dependencies (6)Versions (3)Used By (0)

PHPProject
==========

[](#phpproject)

[![Latest Stable Version](https://camo.githubusercontent.com/6793392bfb4358bcecfb2c6a2b0e83673adc49f7346eac4c6f3f6a24baad18f8/68747470733a2f2f706f7365722e707567782e6f72672f7068706f66666963652f70687070726f6a6563742f762f737461626c652e706e67)](https://packagist.org/packages/phpoffice/phpproject)[![Build Status](https://camo.githubusercontent.com/b2d18062884638ee20eb1015cb09ce34ff0e41b375286d5ffe8431a06d4461c6/68747470733a2f2f7472617669732d63692e6f72672f5048504f66666963652f50485050726f6a6563742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/PHPOffice/PHPProject)[![Code Quality](https://camo.githubusercontent.com/65be26af91a69ac819eef5f84cbbddb37624ed40910130178f8b5762215545b6/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5048504f66666963652f50485050726f6a6563742f6261646765732f7175616c6974792d73636f72652e706e673f733d62353939376365353961633238313662343531346633613338646539393030663664343932633164)](https://scrutinizer-ci.com/g/PHPOffice/PHPProject/)[![Code Coverage](https://camo.githubusercontent.com/8f0d8a549436e7ae75a55e4190e228c205c8a2d5b7068452f9fd8cdf800e82f3/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f5048504f66666963652f50485050726f6a6563742f6261646765732f636f7665726167652e706e673f733d37343261393837343537323563353632393535343430656463386432633339643766663561653235)](https://scrutinizer-ci.com/g/PHPOffice/PHPProject/)[![Total Downloads](https://camo.githubusercontent.com/536ac40233842c3e66e50eaf2dbc74c67dfb5dd3d6962bb006f4859d97e63467/68747470733a2f2f706f7365722e707567782e6f72672f7068706f66666963652f70687070726f6a6563742f646f776e6c6f6164732e706e67)](https://packagist.org/packages/phpoffice/phpproject)[![License](https://camo.githubusercontent.com/4d2c6634bb0fd5a2564f542a4c276fb2b0bd14a38c8c1fed753971e0c533a304/68747470733a2f2f706f7365722e707567782e6f72672f7068706f66666963652f70687070726f6a6563742f6c6963656e73652e706e67)](https://packagist.org/packages/phpoffice/phpproject)

PHPProject is a library written in pure PHP that provides a set of classes to write to different project management file formats, i.e. Microsoft [MSProjectExchange](http://support.microsoft.com/kb/270139) (MPX) or [GanttProject](http://www.ganttproject.biz) (GAN). PHPProject is an open source project licensed under the terms of [LGPL version 3](https://github.com/PHPOffice/PHPProject/blob/develop/COPYING.LESSER). PHPProject is aimed to be a high quality software product by incorporating [continuous integration](https://travis-ci.org/PHPOffice/PHPProject) and [unit testing](http://phpoffice.github.io/PHPProject/coverage/develop/). You can learn more about PHPProject by reading the [Developers' Documentation](http://phpproject.readthedocs.org/) and the [API Documentation](http://phpoffice.github.io/PHPProject/docs/develop/).

Read more about PHPProject:

- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Getting started](#getting-started)
- [Known issues](#known-issues)
- [Contributing](#contributing)
- [Developers' Documentation](http://phpproject.readthedocs.org/)
- [API Documentation](http://phpoffice.github.io/PHPProject/docs/master/)

### Features

[](#features)

- Create an in-memory project management representation
- Set file meta data (author, title, description, etc)
- Add resources from scratch or from existing one
- Add tasks from scratch or from existing one
- Output to different file formats: MSProjectExchange (.mpx), GanttProject (.gan)
- ... and lots of other things!

### Requirements

[](#requirements)

PHPProject requires the following:

- PHP 5.3+
- [XML Parser extension](http://www.php.net/manual/en/xml.installation.php)

### Installation

[](#installation)

It is recommended that you install the PHPProject library [through composer](http://getcomposer.org/). To do so, add the following lines to your `composer.json`.

```
{
    "require": {
       "phpoffice/phpproject": "dev-master"
    }
}
```

Alternatively, you can download the latest release from the [releases page](https://github.com/PHPOffice/PHPProject/releases). In this case, you will have to register the autoloader. Register autoloading is required only if you do not use composer in your project.

```
require_once 'path/to/PhpProject/src/PhpProject/Autoloader.php';
\PhpOffice\PhpProject\Autoloader::register();
```

Getting started
---------------

[](#getting-started)

The following is a basic usage example of the PHPProject library.

```
require_once 'src/PhpProject/Autoloader.php';
\PhpOffice\PhpProject\Autoloader::register();

$objPHPProject = new PhpProject();$objPHPProject = new PhpProject();

// Create resource
$objRes1 = $objPHPProject->createResource();
$objRes1->setTitle('UserBoy');

// Create a task
$objTask1 = $objPHPProject->createTask();
$objTask1->setName('Start of the project');
$objTask1->setStartDate('02-01-2012');
$objTask1->setEndDate('03-01-2012');
$objTask1->setProgress(0.5);
$objTask1->addResource($objRes1);

$oWriterGAN = IOFactory::createWriter($objPHPPowerPoint, 'GanttProject');
$oWriterGAN->save(__DIR__ . "/sample.gan");
```

More examples are provided in the [samples folder](samples/). You can also read the [Developers' Documentation](http://phpproject.readthedocs.org/) and the [API Documentation](http://phpoffice.github.io/PHPProject/docs/master/) for more details.

Contributing
------------

[](#contributing)

We welcome everyone to contribute to PHPProject. Below are some of the things that you can do to contribute:

- Read [our contributing guide](https://github.com/PHPOffice/PHPProject/blob/master/CONTRIBUTING.md)
- [Fork us](https://github.com/PHPOffice/PHPProject/fork) and [request a pull](https://github.com/PHPOffice/PHPProject/pulls) to the [develop](https://github.com/PHPOffice/PHPProject/tree/develop) branch
- Submit [bug reports or feature requests](https://github.com/PHPOffice/PHPProject/issues) to GitHub
- Follow [@PHPOffice](https://twitter.com/PHPOffice) on Twitter

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity47

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.7% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4296d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/792895a1976f2be3789d45a658de84d94a901d1137b4417b27840ccaa0dba2e3?d=identicon)[Progi1984](/maintainers/Progi1984)

![](https://www.gravatar.com/avatar/2b8457fa3227a7e8e38f0121f1fe254ec965133df93ae5ea8352c757adb98283?d=identicon)[PHPOffice](/maintainers/PHPOffice)

---

Top Contributors

[![Progi1984](https://avatars.githubusercontent.com/u/1533248?v=4)](https://github.com/Progi1984 "Progi1984 (77 commits)")[![arzurchris](https://avatars.githubusercontent.com/u/25454844?v=4)](https://github.com/arzurchris "arzurchris (1 commits)")

---

Tags

ganmpxmsprojectofficephpprojectphpprojectmpxGanttProjectgan

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/phpoffice-phpproject/health.svg)

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

###  Alternatives

[imanghafoori/laravel-anypass

A minimal yet powerful package to help you in development.

21421.6k](/packages/imanghafoori-laravel-anypass)

PHPackages © 2026

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