peterujah / php-functions
Wrapped all basic reusable php function which I always on on project.
Requires
- php: ^7.0 || ^8.0
README
Wrapped all basic reusable php function which is always useful while working on other project. This class might also be useful to beginners
This class provides general-purpose PHP functions to process several functions, it can perform several types of manipulation of string values and other executions.
Currently, it can:
- Create a random value string, int, key, salt or letters of a given length
- Convert timestamp values into a time format for use on social media sites or forum comments
- Generate and validate a unique identifier string
- Generate Unified Public Consultation (UPC)
- Generate European Article Number (EAN) or (EAN13)
- Genrate Big Integer based on min and max
- Check if a string is a valid email address
- Check a password complexity count, using general secure password pattern
- Encrypt password string to create a hash value
- Decrypts a password hash and verifies if it matches
- Calculate a list of item's average rating point
- Formats a currency value to add decimal places
- Discount a value by percentage
- Increase a value by percentage
- Fixed or Round a number to counts
- Creates a badge from an array
- Creates a button badge from an array
- Gets the current user's IP address
- Get the list of hours
- Format the user input to protect again cross site scripting attacks
- Convert string characters to HTML entities
- Copy files and folder to a new directory
- Serve a file for download on the browser
- Truncate text
- Base64 encoded string to a parameter in a URL
- Base64 decode encoded URL encoded string
- Stripe unwanted characters from a string
- Extract domain name from subdomain demo.example.com
- Mask email address
- Mask string by position
- Deletes files and folders
- Write a new log line
- Save log and replace old content
- Find the log file
Installation
Installation is super-easy via Composer:
composer require peterujah/php-functions
Usages
use \Peterujah\NanoBlock\Functions; $func = new Functions();
Or extend the class and create your own new function like below.
class MyFunction extends \Peterujah\NanoBlock\Functions{ public function __construct(){ } public function myFunction(){ //do anything } public static function myStaticFunction(){ //do anything } }
And call initialize your custom class
$func = new MyFunction();
Available Static Methods
Make a random string/number
Functions::Random(10, Functions::INT);
Make a time ago from php timestamp, returns string
Functions::timeSocial(php_timestamp);
Generate a uuid string, returns string
Functions::uuid();
Verify a uuid string return true or false
Functions::is_uuid($uuid);
Verify email address is valid or not return true or false
Functions::is_email($email);
Create a password hash key
Functions::Encrypt($password);
Verify a password against hash key
Functions::Decrypt($password, $hash);
Check password strength
Functions::strongPassword($password, $minLength = 8,$maxLength = 16, $complexity=4);
Extract main domain name from subdomain
Functions::removeSubdomain("subdomain.example.com"); //returns example.com
Calculate items average rating point
Functions::calcAverageRating($total_user_reviews, $total_rating_count);
Format number to money
Functions::Money($number, $fractional);
Discount from an (int, float, double) value by percentage
Functions::Discount(100, 10); // return 90
Increase interest of an (int, float, double) value by percentage
Functions::Interest(100, 10); //return 110
Fixed/Round a number
Functions::Fixed(12345.728836, 2);
Randome number using min and max
Functions::BigInteger(12345, 728836);
Create a tag/badge from array
Functions::badges( ["php", "js", "css"], $bootstrap_color_without_prefix, $type_of_badge, $url_prefix_for_links );
Create a button tag/badge from array
Functions::buttonBadges( ["php", "js", "css"], $bootstrap_color_without_prefix, $truncate, $truncate_limit, $selected_button_by_value );
Returns user ip address
Functions::IP();
List time hours, returns array
Functions::hoursRange();
Secure/format user input based on required data type
Functions::XSS("Rhd53883773", "int");
Formats Convert string characters to HTML entities
Functions::htmlentities($string, $encode);
Generate UPC product id
Functions::UPC($prefix = 0, $length = 12);
Generate EAN13 id
Functions::EAN($country = 615, $length = 13);
Copy files and folder to a new directory
Functions::copyFiles("path/from/file/", "path/to/file/");
Copy files and folder to a new directory
Functions::download( "path/to/download/file.zip", //string filepath to download "file.zip", // string file name to download false // bool delete file after download is complete true or false );
Truncate text based on length
Functions::truncate( $text, //string text to truncate $length // int length to display );
Base64 encode string for url passing
Functions::base64_url_encode($input);
Base64 decode encoded url encoded string
Functions::base64_url_decode($encoded_input);
Mask email address
Functions::maskEmail( $email, // string email address "*" // character to mask with );
Mask string by position
Functions::mask( $string, // string to mask "#", // character to mask with $position //string position to mask left|right|center" )
Determine password strength, if it meet all basic password rules such as
- Does password meet the the minimum and maximum length?
- Does password contain numbers?
- Does password contain uppercase letters?
- Does password contain lowercase letters?
- Does password contain special characters?
Functions::strongPassword($password, $minLength, $maxLength);
Deletes files and folders
Functions::remove( "path/to/delete/file/", // path to delete files false // delete base file once sub files and folders has been deleted )
Write new log line file
Functions::writeLog( "path/to/logs/", // string path to save logs "info.php", // string log file name, use .php extension to secure log file from accessible in browser $data, // mixed log content $secure, // bool set true if file is using .php extension security method $serialize, // bool serialize log content $replace // bool replace old log content );
Save log a short hand replace parameter in Functions::writeLog
Functions::saveLog( "path/to/logs/", // string path to save logs "info.php", // string log file name, use .php extension to secure log file from accessible in browser $data, // mixed log content $secure, // bool set true if file is using .php extension security method $serialize, // bool serialize log content );
Find log file
Functions::findLog( "path/to/logs/info.php", //string filepath to log $unserialize // bool unserialize content if it was saved in serialize mode );
Stripes unwanted characters from string and display text in new line in textarea
$func->stripeText( $string, // string text to stripe unwanted characters $rules, // array rules array("[br/]" => " ","<script>" => "oops!",) $textarea // bool display text inside textarea );