{"id":13793072,"url":"https://github.com/PHPOffice/PHPProject","last_synced_at":"2025-05-12T17:31:40.644Z","repository":{"id":52953625,"uuid":"3708021","full_name":"PHPOffice/PhpProject","owner":"PHPOffice","description":"A pure PHP library for reading and writing project management files ","archived":false,"fork":false,"pushed_at":"2018-10-29T10:17:10.000Z","size":2565,"stargazers_count":207,"open_issues_count":6,"forks_count":104,"subscribers_count":33,"default_branch":"develop","last_synced_at":"2025-05-09T11:03:51.260Z","etag":null,"topics":["gan","mpx","msproject","office","php","project"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PHPOffice.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-03-13T15:30:14.000Z","updated_at":"2025-05-09T10:53:59.000Z","dependencies_parsed_at":"2022-08-23T23:30:41.243Z","dependency_job_id":null,"html_url":"https://github.com/PHPOffice/PhpProject","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPOffice%2FPhpProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPOffice%2FPhpProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPOffice%2FPhpProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PHPOffice%2FPhpProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PHPOffice","download_url":"https://codeload.github.com/PHPOffice/PhpProject/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253787339,"owners_count":21964313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gan","mpx","msproject","office","php","project"],"created_at":"2024-08-03T22:01:21.477Z","updated_at":"2025-05-12T17:31:40.294Z","avatar_url":"https://github.com/PHPOffice.png","language":"PHP","funding_links":[],"categories":["类库"],"sub_categories":["Office"],"readme":"# PHPProject\n\n[![Latest Stable Version](https://poser.pugx.org/phpoffice/phpproject/v/stable.png)](https://packagist.org/packages/phpoffice/phpproject)\n[![Build Status](https://travis-ci.org/PHPOffice/PHPProject.svg?branch=master)](https://travis-ci.org/PHPOffice/PHPProject)\n[![Code Quality](https://scrutinizer-ci.com/g/PHPOffice/PHPProject/badges/quality-score.png?s=b5997ce59ac2816b4514f3a38de9900f6d492c1d)](https://scrutinizer-ci.com/g/PHPOffice/PHPProject/)\n[![Code Coverage](https://scrutinizer-ci.com/g/PHPOffice/PHPProject/badges/coverage.png?s=742a98745725c562955440edc8d2c39d7ff5ae25)](https://scrutinizer-ci.com/g/PHPOffice/PHPProject/)\n[![Total Downloads](https://poser.pugx.org/phpoffice/phpproject/downloads.png)](https://packagist.org/packages/phpoffice/phpproject)\n[![License](https://poser.pugx.org/phpoffice/phpproject/license.png)](https://packagist.org/packages/phpoffice/phpproject)\n\n\nPHPProject 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). \nPHPProject 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/).\n\nRead more about PHPProject:\n\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Getting started](#getting-started)\n- [Known issues](#known-issues)\n- [Contributing](#contributing)\n- [Developers' Documentation](http://phpproject.readthedocs.org/)\n- [API Documentation](http://phpoffice.github.io/PHPProject/docs/master/)\n\n### Features\n\n- Create an in-memory project management representation\n- Set file meta data (author, title, description, etc)\n- Add resources from scratch or from existing one\n- Add tasks from scratch or from existing one\n- Output to different file formats: MSProjectExchange (.mpx), GanttProject (.gan)\n- ... and lots of other things!\n\n### Requirements\n\nPHPProject requires the following:\n\n- PHP 5.3+\n- [XML Parser extension](http://www.php.net/manual/en/xml.installation.php)\n\n### Installation\n\nIt is recommended that you install the PHPProject library [through composer](http://getcomposer.org/). To do so, add\nthe following lines to your ``composer.json``.\n\n```json\n{\n    \"require\": {\n       \"phpoffice/phpproject\": \"dev-master\"\n    }\n}\n```\n\nAlternatively, you can download the latest release from the [releases page](https://github.com/PHPOffice/PHPProject/releases).\nIn this case, you will have to register the autoloader. Register autoloading is required only if you do not use composer in your project.\n\n```php\nrequire_once 'path/to/PhpProject/src/PhpProject/Autoloader.php';\n\\PhpOffice\\PhpProject\\Autoloader::register();\n```\n\n## Getting started\n\nThe following is a basic usage example of the PHPProject library.\n\n```php\nrequire_once 'src/PhpProject/Autoloader.php';\n\\PhpOffice\\PhpProject\\Autoloader::register();\n\n$objPHPProject = new PhpProject();$objPHPProject = new PhpProject();\n\n// Create resource\n$objRes1 = $objPHPProject-\u003ecreateResource();\n$objRes1-\u003esetTitle('UserBoy');\n\n// Create a task\n$objTask1 = $objPHPProject-\u003ecreateTask();\n$objTask1-\u003esetName('Start of the project');\n$objTask1-\u003esetStartDate('02-01-2012');\n$objTask1-\u003esetEndDate('03-01-2012');\n$objTask1-\u003esetProgress(0.5);\n$objTask1-\u003eaddResource($objRes1);\n\n$oWriterGAN = IOFactory::createWriter($objPHPPowerPoint, 'GanttProject');\n$oWriterGAN-\u003esave(__DIR__ . \"/sample.gan\");\n```\n\nMore 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.\n\n\n## Contributing\n\nWe welcome everyone to contribute to PHPProject. Below are some of the things that you can do to contribute:\n\n- Read [our contributing guide](https://github.com/PHPOffice/PHPProject/blob/master/CONTRIBUTING.md)\n- [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\n- Submit [bug reports or feature requests](https://github.com/PHPOffice/PHPProject/issues) to GitHub\n- Follow [@PHPOffice](https://twitter.com/PHPOffice) on Twitter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPHPOffice%2FPHPProject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPHPOffice%2FPHPProject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPHPOffice%2FPHPProject/lists"}