PHP Classes

File: README.md

Recommend this page to a friend!
  Packages of Caleb   PHP Common Class Library   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Common Class Library
Set of classes that provides common functionality
Author: By
Last change: Security patch.

Changelog excerpt:
- Added a context attribute to mark certain properties as sensitive for the
purpose of reducing the risk of exposure via accidental var_dump of any
instances of the applicable classes in production (though, as attributes
were introduced with PHP 8.0, this change won't have any effect when
running on older PHP versions; affected code is also guarded to prevent
backwards-compatibilty problems).
Fix typo.
Refactor.
Documentation update.
IP header class patch.

Changelog excerpt:
- Added tests and documentation for the IP header class.
Documentation patch.
YAML handler patch.

Ensure older PHP versions behave the same as PHP 8.1.
Documentation patch.

Update YAML handler documentation (an ongoing work in progress).
Clean up README.

Removes some useless details and etc.
README.md update.

Slightly alter the look for the current major version development status.
Operator documentation.

(Still a work-in-progress).
Add request class.
Add FUNDING.yml file.
Date: 7 months ago
Size: 5,969 bytes
 

Contents

Class file image Download

v1: PHP >= 5.4 < 8.4 v2: PHP >= 7.2 License: GPL v2

Common Classes Package.

The common classes package is intended to provide some of the classes that I originally wrote for common use by CIDRAM, phpMussel, etc as a separate, redistributable package, available to be readily integrated and used with other projects and packages via Composer.

All classes in the common classes package use the namespace Maikuolan\Common.

The common classes package currently contains the following classes: - Cache: A simple, unified cache handler used by the CIDRAM and phpMussel projects for their caching needs. Currently, it supports APCu, Memcached, Redis, PDO, and flatfile caching. - CommonAbstract: Common abstract for the common classes package. Not to be instantiated directly; To be extended by the other classes. - ComplexStringHandler: The complex string handler class provides an easy way to iterate over the parts of a given string, identified by a given pattern, in order to execute a given closure to those parts of the given string, or to the glue that separates those parts. - Context: Context attribute class (used internally by a few classes in the package). Not to be instantiated directly. - DelayedIO: Provides an easy, simple solution for when needing to read and update a number of files, but delay rewriting the files for a while. - Demojibakefier: Intended to normalise the character encoding of a given string to a preferred character encoding when the given string's byte sequences don't match the expectations of the preferred character encoding. Useful in cases where a block of data might conceivably be composed of several different unspecified, unknown encodings. - Events: Allows the orchestration of "events" throughout a codebase by providing some simple methods to assign handlers to a particular event and to subsequently invoke those handlers at a later point in the codebase where the "event" is to occur. - IPHeader: Attempts to resolve an originating IP address from a preferred source, or REMOTE_ADDR if the preferred source isn't available. - L10N: Used by the CIDRAM and phpMussel projects to handle L10N data, the L10N handler reads in an array of L10N strings and provides some safe and simple methods for manipulating and returning those strings when needed, and for handling cardinal plurals, where integers and fractions are concerned alike, based upon the pluralisation rules specified by the L10N from a range of various pluralisation rules available, to be able to suit the needs of most known languages. - Matrix: Facilitates the generation of multidimensional arrays to an arbitrarily specified depth and number of elements, and facilitates iteration through those multidimensional arrays in any direction (whether up and down a particular array, across different depths, etc) via arbitrary callables and closures. - NumberFormatter: Used by the CIDRAM and phpMussel projects to format numbers generated by their front-end pages, the class provides a more controllable, customisable mechanism for number formatting than PHP's internal number_format() function. - Operation: Used by the CIDRAM and phpMussel projects for various operations related to dependency management (an integral part of the internal updates system). - Request: Used by the CIDRAM and phpMussel projects to send outbound requests through cURL. - YAML: Used by the CIDRAM and phpMussel projects to handle YAML data.

How to install:

The recommended way to install it is by using Composer:

composer require maikuolan/common

You can, however, download the classes you need from this repository manually, if you want to do so.

After you've downloaded the package, or any needed classes, PSR-4 autoloading is preferred way to access the classes (particularly if you're using a large number of different, unrelated classes). If you're installing the package via Composer, all you have to do is require_once 'vendor/autoload.php'; and everything will be taken care of. Alternatively, if you're installing the package or its classes manually (or without Composer), or if you don't want to use a PSR-4 autoloader, you can simply require or include any needed classes into your projects by using an include or require statement in your code, to point to the needed classes in any PHP code that needs them.

Other information:

Licensing:

Provided using the GNU General Public License version 2.0 (GPLv2).

For support:

Please use the issues page of this repository.

For contributors:

[\[CONTRIBUTING.md\] Want to help?](https://github.com/Maikuolan/Common/blob/v2/CONTRIBUTING.md)

Last Updated: 2 July 2025 (2025.07.02).