• Stars
    star
    1,031
  • Rank 44,693 (Top 0.9 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 12 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

util.php is a collection of useful functions and snippets that you need or could use every day, designed to avoid conflicts with existing projects

Util.php Build Status Coverage Status

UtilPHP (Aka util.php) is a collection of useful functions and snippets that you need or could use every day. It's implemented as a class with static methods, to avoid conflicts with your existing code-base. Just drop it in and start using it immediately.

Included are 55+ functions that provide you with the ability to do common tasks much easier and more efficiently, without having to find that one comment on php.net where you know it's been done already. Access superglobals without checking to see if certain indexes are set first and pass default values, use a nicely formatted var dump, validate emails, generate random strings, flatten an array, pull a single column out of a multidimensional array and much more.

Although it's implemented as one giant class, util.php has extensive documentation and a full suite of unit tests to avoid breaking backwards-compatibility unintentionally.

Release Information

This repo contains in development code for future releases as well as the current stable branch. Development code is contained in the develop branch.

Changelog and New Features

You can find a list of all changes for each release in the official documentation

Installation

Server Requirements

  • PHP version 5.3.3 or higher.

Standalone File

Simply drop util.php in any project and call include 'util.php'; in your project. You can then access the Util class.

Composer

Add the following dependency to your composer.json:

"brandonwamboldt/utilphp": "1.0.*"

When used with composer, the class is namespaced (\utilphp\util) instead of just util.

Contributing

UtilPHP is a community driven project and accepts contributions of code and documentation from the community. These contributions are made in the form of Issues or Pull Requests on the UtilityPHP repository on GitHub.

Issues are a quick way to point out a bug. If you find a bug or documentation error in UtilityPHP then please check a few things first:

  • There is not already an open Issue
  • The issue has already been fixed (check the develop branch, or look for closed Issues)
  • Is it something really obvious that you fix it yourself?

Reporting issues is helpful but an even better approach is to send a Pull Request, which is done by "Forking" the main repository and committing to your own copy. This will require you to use the version control system called Git.

Guidelines

Before we look into how, here are the guidelines. If your Pull Requests fail to pass these guidelines it will be declined and you will need to re-submit when you’ve made the changes. This might sound a bit tough, but it is required for me to maintain quality of the code-base.

PHP Style

Please ensure all new contributions match the PSR-2 coding style guide.

Documentation

If you change anything that requires a change to documentation then you will need to add it. New methods, parameters, changing default values, adding constants, etc are all things that will require a change to documentation. The change-log must also be updated for every change. Also PHPDoc blocks must be maintained.

PHP Version Compatibility

UtilityPHP is compatible with PHP 5.3.3 so all code supplied must stick to this requirement.

Of particular note is avoiding short array notation like this:

$var = [];

Please use the old notation instead:

$var = array();

I know it's uglier, but PHP 5.3 while EOL'd, still isn't that old.

Branching

One thing at a time: A pull request should only contain one change. That does not mean only one commit, but one change - however many commits it took. The reason for this is that if you change X and Y but send a pull request for both at the same time, we might really want X but disagree with Y, meaning we cannot merge the request. Using the Git-Flow branching model you can create new branches for both of these features and send two requests.

License

UtilPHP is licensed under the MIT license.

Resources

More Repositories

1

varnish-dashboard

Advanced realtime Varnish dashboard with support for multiple servers and advanced management tasks
JavaScript
756
star
2

sublime-nginx

Improved syntax support for Nginx configuration files
280
star
3

wp-orm

[Unmaintained] Light weight ORM for WordPress
PHP
176
star
4

php-highlighter

[Old/Unsupported] A PHP syntax highlighting engine that rivals any full blown editor
CSS
67
star
5

sublime-varnish

Improved syntax highlighting for Varnish VCL configuration files
36
star
6

nodeftpd

An FTP server written in Node.js
JavaScript
36
star
7

data

Data in various formats. Countries, months and locales in HTML, JSON and PHP
PHP
22
star
8

dotfiles

.files I use for my servers, desktops and Cygwin installations. Meant for programmers/sysadmins
Shell
22
star
9

simple-php-router

Very simple router written in PHP
PHP
21
star
10

js-error-logging

JavaScript/PHP script to send JavaScript errors to the server and log them
PHP
18
star
11

redis-tools

PHP Redis tools for working with ElastiCache
PHP
11
star
12

simple-php-dbal

[Old/Unsupported] A simple PDO-based database abstraction layer
PHP
10
star
13

paypal-tools

PayPal helper libraries for PHP
PHP
7
star
14

vagrantfiles

A collection of Vagrantfiles for different types of projects (WordPress, Symfony, PHP + Composer, Ruby On Rails, Node.js + Express)
Puppet
6
star
15

symfony-app

A better default app.php for Symfony projects
PHP
3
star
16

ruby-exe-appender

A ruby library for appending arbitrary data to the end of a Windows executable while preserving digital signatures
Ruby
3
star
17

wp-basecamp

Use Basecamp for authenticating with WordPress using OAuth2
PHP
2
star
18

nodebackup

Flexible, light-weight, cloud based backup solution
JavaScript
2
star