PHPackages                             wernerwa/pat-configuration - 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. wernerwa/pat-configuration

ActiveLibrary

wernerwa/pat-configuration
==========================

patConfiguration is an interface to read and write different types of configuration files.

2.0.2(5y ago)11.8kPHP-3.0PHPPHP &gt;=4.0.0

Since Aug 2Pushed 5y ago1 watchersCompare

[ Source](https://github.com/wernerwa/pat-configuration)[ Packagist](https://packagist.org/packages/wernerwa/pat-configuration)[ RSS](/packages/wernerwa-pat-configuration/feed)WikiDiscussions master Synced yesterday

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

patConfiguration
================

[](#patconfiguration)

patConfiguration is an interface to access (read AND write) XML based configuration files via PHP. Furthermore it can convert your XML config files into PHP config files. Furthermore it can convert your XML config files into PHP config files. With the use of extensions it allows you to retrieve fully configured objects from your configuration.

**Current Version**v2.0.0**Released**2005-08-13**Maintainer**Stephan Schmidt**Developer(s)**Stephan Schmidt**License**LGPLThe former web page [www.php-tools.net](http://www.php-tools.net) is archived at [archive.org](https://web.archive.org/web/20140916050733/http://www.php-tools.net/site.php?&PHPSESSID=809e21db952802c1d124b7b07fc14bdf&file=patConfiguration/overview.xml)

Why should I use patConfiguration?
----------------------------------

[](#why-should-i-use-patconfiguration)

Using XML based configuration files has several advantages: Your configuration can be edited using any text editor, they can easily be validated using a dtd or xml schema, they are easy to read and configurations can easily be extended.

Features
--------

[](#features)

patConfiguration is quite similar to the configuration reader i3conf by iternum GmbH, which was implemented in Java, but extends the features.

**Currently the following features are implemented:**

- several types for configuration values are supported: string, boolean, double, integer and array.
- Automatic conversion from strings to booleans, integers, arrays or doubles
- identify a configuration value via its path (similar to DOM or XPath)
- references to other configuration options in your config file, e.g. base a directory name on a basedir set in the same configuration
- extend patConfiguration so it returns fully operational objects instead of simple config values (extension for patDbc, patUser and patTemplate are already implemented)
- assign a certain namespace to your custom extensions
- dynamically include your extensions (or any other files) via a configuration option
- automatic creation of multidimensional array
- unlimited tag depth
- fetch several config options using wildcards
- direct access to values in an array
- modify and save config files in XML (or even create new ones)
- convert XML config files into PHP config files where all options are stored in an array
- uses caching, so XML files do not have to be parsed every time
- use external entities to include other XML configurations
- easy-to-use API

### patConfiguration in Java

[](#patconfiguration-in-java)

I ported the XML-functionality of patConfiguration to Java. The project [XJConf](https://github.com/schst/xjconf-java) is available from my website &lt;java.schst.net&gt;. patConfiguration - interface for reading and writing XML config files

Copyright (c) 2001-2003 by Stephan Schmidt download at

CAUTION:
--------

[](#caution)

This is patConfiguration 2.0.0 patConfiguration is now driver-based and not restricted to XML files anymore. Furthermore it uses patErrorManager to handle errors. That means it breaks BC in most cases!

You downloaded this as a CVS snapshot. This version still contains some bugs and should not be used in a production environment.

This program and all associated files are released under the GNU Lesser Public License, see lgpl.txt for details!

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

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.

###  Release Activity

Cadence

Every ~237 days

Total

3

Last Release

2000d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6dd9ad83cbff2ec7de3124449072001476d402ba53bccbdfb5089833b3c93db9?d=identicon)[wernerwa](/maintainers/wernerwa)

---

Top Contributors

[![wernerwa](https://avatars.githubusercontent.com/u/14849239?v=4)](https://github.com/wernerwa "wernerwa (16 commits)")

### Embed Badge

![Health badge](/badges/wernerwa-pat-configuration/health.svg)

```
[![Health](https://phpackages.com/badges/wernerwa-pat-configuration/health.svg)](https://phpackages.com/packages/wernerwa-pat-configuration)
```

###  Alternatives

[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)[pear/archive_tar

Tar file management class with compression support (gzip, bzip2, lzma2)

7561.0M73](/packages/pear-archive-tar)[pear/mail_mime

Mail\_Mime provides classes to create MIME messages

497.4M28](/packages/pear-mail-mime)[pear/mail

Class that provides multiple interfaces for sending emails.

414.7M18](/packages/pear-mail)[pear/spreadsheet_excel_writer

Allows writing of Excel spreadsheets without the need for COM objects. Supports formulas, images (BMP) and all kinds of formatting for text and cells.

441.3M3](/packages/pear-spreadsheet-excel-writer)[pear/net_smtp

An implementation of the SMTP protocol

263.0M16](/packages/pear-net-smtp)

PHPackages © 2026

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