PHP Classes

PHP Backwards Compatibility Library: Functions of newer PHP versions for older versions

Recommend this page to a friend!
  Info   View files Example   Demos   Screenshots Screenshots   View files View files (42)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog (2)    
Last Updated Ratings Unique User Downloads Download Rankings
2024-03-20 (Yesterday) RSS 2.0 feedNot yet rated by the usersTotal: 78 This week: 5All time: 10,103 This week: 19Up
Version License PHP version Categories
phpbcl 1.1.0Custom (specified...5.6PHP 5, Language
Description 

Author

This package provides functions of newer PHP versions for older versions.

It provides scripts that implement functions only available in newer PHP versions as functions built-in in the PHP core engine. The parts work in older PHP versions.

A main script checks the current PHP version and loads that implement the functions of newer PHP versions.

Innovation Award
PHP Programming Innovation award nominee
June 2023
Number 2
With every new PHP version, changes are made to the PHP language that may introduce incompatibilities between versions.

If your PHP applications rely on parts of the language that were changed, you may need to change your code to keep it working in the new PHP version that runs on the machine your PHP application is running.

Suppose your PHP application relies on PHP function or other parts of the language that changed in a backward incompatibility way. In that case, you may need to change your PHP application code to adapt to the PHP version changes.

This package provides a library of scripts with PHP functions that emulate the functions introduced in newer PHP versions.

Using this library, you can adapt your PHP application code to make it work in a newer PHP version without having to upgrade the PHP version that you use in the environment your PHP application is running.

This way, you can change your PHP application code to prepare to make it work in newer PHP versions making a smooth transition between PHP versions.

Manuel Lemos
Picture of ASCOOS CMS
  Performance   Level  
Name: ASCOOS CMS <contact>
Classes: 10 packages by
Country: Greece Greece
Innovation award
Innovation award
Nominee: 6x

Instructions

Installation and use of this library

Download the latest release.
Unzip the package in your working directory
Add in index.php or master php file the below code :

if (!defined('ALEXSOFT_RUN_CMS')) define( 'ALEXSOFT_RUN_CMS', true ); $cms_path = "FULL PATH"; require_once($cms_path."/phpBCL/src/coreCompatibilities.php");

Example

<?php
/**
 * __ _ ___ ___ ___ ___ ___ ____ _ __ ___ ___
 * / _` |/ / / __/ _ \ / _ \ / / / __/| '_ ` _ \ / /
 * | (_| |\ \| (_| (_) | (_) |\ \ | (__ | | | | | |\ \
 * \__,_|/__/ \___\___/ \___/ /__/ \___\|_| |_| |_|/__/
 *
 *
 *************************************************************************************
 * @ASCOOS-NAME : ASCOOS CMS 24' *
 * @ASCOOS-VERSION : 24.0.0 *
 * @ASCOOS-CATEGORY : Kernel (Frontend and Administration Side) *
 * @ASCOOS-CREATOR : Drogidis Christos *
 * @ASCOOS-SITE : www.ascoos.com *
 * @ASCOOS-LICENSE : [Commercial] http://docs.ascoos.com/lics/ascoos/AGL-F.html *
 * @ASCOOS-COPYRIGHT : Copyright (c) 2007 - 2024, AlexSoft Software. *
 *************************************************************************************
 *
 * @package : ASCOOS CMS - phpBCL
 * @subpackage : Example http_get_last_response_headers & http_clear_last_response_headers Functions
 * @source : /phpBCL/test/84__http_get_last_response_headers.php
 * @version : 1.0.0
 * @created : 2024-03-20 03:00:00 UTC+3
 * @updated :
 * @author : Drogidis Christos
 * @authorSite : www.alexsoft.gr
 *
 * @since 1.1.0
 */

define('ALEXSOFT_RUN_CMS', true);

$cms_path = str_replace('/phpBCL/test', '', str_replace('\\', '/', __DIR__));
 
require_once(
$cms_path."/phpBCL/src/coreCompatibilities.php");


var_dump(http_get_last_response_headers()); // RETURN NULL
http_clear_last_response_headers();
echo
'<br>';
var_dump($http_response_header); // RETURN NULL
echo '<br><br>';


@
file_get_contents('http://www.phpclasses.org', true);
var_dump(http_get_last_response_headers()); // RETURN ['HTTP/1.1 200 OK'....]
echo '<br><br>';
http_clear_last_response_headers();
var_dump($http_response_header); // RETURN NULL
?>


Details

Changelog

1.1.0 [2024-03-20]

  • Updated README.md
  • ADDED FILE : `LICENSE_AGL-F.md` -- Package License `AGL-F` (Ascoos General License - Free Use).
  • ADDED EXAMPLE FILE : `84__http_get_last_response_headers.php`

PHP < 8.4

  • Added Function `http_get_last_response_headers`
  • Added Function `http_clear_last_response_headers`
  • UPDATED FUNCTIONS : `mb_trim`, `mb_ltrim`, `mbrtrim`

*

1.0.9 [2024-02-28]

PHP < 8.3.0

  • Added Function `stream_context_set_options` -- Sets options on the specified context.

PHP < 8.2.0

  • Added Function `openssl_cipher_key_length` -- Gets the cipher key length.

PHP < 8.0.0

  • Added Function `preg_last_error_msg` -- Returns the error message of the last PCRE regex execution.
  • Added Function `get_debug_type` -- Returns the resolved name of the PHP variable value.
  • Added Function `get_resource_id` -- Returns an integer identifier for the given resource
  • Added Function `fdiv` -- Divides two numbers, according to IEEE 754

PHP < 7.1.0

  • Added Function `openssl_get_curve_names` -- Gets the list of available curve names

PHP < 7.0.0

  • Added Function `intdiv` -- Integer division

SIMILAR

  • Added Function `alf_get_class()` -- For return getClass() without parameters on PHP >= 8.3.0

*

1.0.8 [2024-02-27]

  • ADDED FILE : compat_error.php
  • Added Class Error `Error`
  • Added Class Error `TypeError`
  • Added Class Error `ValueError`

PHP < 8.2.0

  • Added Function `ini_parse_quantity`
  • FIXED FUNCTION : `mysqli_execute_query`

*

1.0.7 [2024-02-22]

PHP < 8.4.0

  • Added phpBCL Function `alf_preg_quote`
  • FIXED FUNCTIONS : `mb_trim`, `mb_ltrim`, `mbrtrim` for use on PHP 5.6
  • FIXED EXAMPLE : `84__mb_trim.php`
  • ADDED SCREENSHOTS

*

1.0.6 [2024-02-21]

  • FIXED EXAMPLE : `81__array_is_list.php`
  • FIXED EXAMPLE : `84_mb_ucfirst.php`
  • ADDED SCREENSHOTS

*

1.0.5 [2024-02-20]

PHP < 8.4.0

  • ADDED FILE: `/src/phpBCL.php`
  • Added phpBCL Function `validate_encoding`
  • Added Function `mb_ltrim`
  • Added Function `mb_rtrim`
  • Added Function `mb_trim`
  • ADDED EXAMPLE: `/test/84__mb_trim.php`
  • Updated Function `mb_ucfirst`
  • Updated Function `mb_lcfirst`
  • Updated Example `/test/84__mb_ucfirst.php`

*

1.0.4 [2024-02-17]

PHP < 8.4.0

  • Added file `src/compat/compat_php84x.php`
  • Added Function `mb_ucfirst`
  • Added Function `mb_lcfirst`
  • ADDED EXAMPLE: `/test/84__mb_ucfirst.php`

*

1.0.3 [2023-07-12]

PHP < 8.2.0

  • Added Function `mysqli_execute_query`

*

1.0.2 [2023-07-07]

  • ADDED EXAMPLES: In folder /phpBCL/test/
  • Fixed : Fixed paths for call phpBCL library.

PHP < 4.3.0

  • Added Constants: `MB_CASE_UPPER`, `MB_CASE_LOWER`, `MB_CASE_TITLE`
  • Added Function: `mb_convert_case`

PHP < 5.5.0

  • Added Functions: `array_column`, `boolval`, `json_last_error_msg`

PHP < 7.3.0

  • Added Constants: `MB_CASE_FOLD`, `MB_CASE_UPPER_SIMPLE`, `MB_CASE_LOWER_SIMPLE`, `MB_CASE_TITLE_SIMPLE`, `MB_CASE_FOLD_SIMPLE`. Used by ASCOOS LIBRARY FUNCTION `alf_mb_convert_case` (compat_similar.php)
  • Updated Functions: `array_key_first`, `array_key_last`
ASCOOS LIBRARY FUNCTION:
  • Added `alf_mb_convert_case` For full compatible similar mb_convert_case.

PHP < 7.4.0

  • Added Function: `mb_str_split`

PHP < 8.0.0

  • Updated Functions: `str_contains`, `str_ends_with`, `str_starts_with`
  • Updated Classes : `Stringable`, `PhpToken`

PHP < 8.1.0

  • Updated Function: `array_is_list`

PHP < 8.3.0

  • Added Function: `mb_str_pad`

*

1.0.1 [2023-06-27]

  • Added file compat_similar.php (for similar functions)

PHP < 7.1.0

  • Added Function: `is_iterable`

PHP < 7.3.0

  • Added Functions: `array_key_first`, `array_key_last`, `is_countable`

PHP < 8.0.0

  • Added Class `ValueError` (For php < 8.0.0)

*

1.0.0

  • Creating Compatibilities

  8.4 mb_ucfirst & mb_lcfirst functionsExternal page   mb_trimExternal page   PHP 81 - array_is_list()External page  

Open in a separate window

Open in a separate window

Open in a separate window

Screenshots  
  • 81__array_is_list
  • 84__mb_ucfirst.png
  • awes-test-1-640.png
  • mb_trim
  • mb_trim.jpeg
  Files folder image Files  
File Role Description
Files folder imagedocs (2 files)
Files folder imagescreenshots (7 files)
Files folder imagesrc (3 files, 1 directory)
Files folder imagetest (11 files)
Accessible without login Plain text file CHANGELOG.md Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENSE_AGL-F.md Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  docs  
File Role Description
  Accessible without login HTML file index.html Doc. Documentation
  Accessible without login Plain text file why-you-need-phpBCL.md Data Auxiliary data

  Files folder image Files  /  screenshots  
File Role Description
  Accessible without login Image file 81__array_is_list.png Icon Icon image
  Accessible without login Image file 84__mb_trim.png Icon Icon image
  Accessible without login Image file 84__mb_trim_640.png Icon Icon image
  Accessible without login Image file 84__mb_ucfirst_640.png Icon Icon image
  Accessible without login Image file awes-test-1-800.png Data Auxiliary data
  Accessible without login HTML file index.html Doc. Documentation
  Accessible without login Image file mb_trim.jpeg Data Auxiliary data

  Files folder image Files  /  src  
File Role Description
Files folder imagecompat (15 files)
  Accessible without login Plain text file coreCompatibilities.php Aux. Auxiliary script
  Accessible without login HTML file index.html Doc. Documentation
  Plain text file phpBCL.php Class Class source

  Files folder image Files  /  src  /  compat  
File Role Description
  Accessible without login Plain text file compat_deprecated.php Aux. Auxiliary script
  Plain text file compat_error.php Class Class source
  Plain text file compat_php43x.php Class Class source
  Plain text file compat_php55x.php Class Class source
  Plain text file compat_php70x.php Class Class source
  Accessible without login Plain text file compat_php71x.php Aux. Auxiliary script
  Accessible without login Plain text file compat_php73x.php Aux. Auxiliary script
  Accessible without login Plain text file compat_php74x.php Aux. Auxiliary script
  Plain text file compat_php80x.php Class Class source
  Accessible without login Plain text file compat_php81x.php Aux. Auxiliary script
  Plain text file compat_php82x.php Class Added in 1.0.3
  Accessible without login Plain text file compat_php83x.php Example Example script
  Accessible without login Plain text file compat_php84x.php Aux. Auxiliary script
  Accessible without login Plain text file compat_similar.php Aux. Auxiliary script
  Accessible without login HTML file index.html Doc. Documentation

  Files folder image Files  /  test  
File Role Description
  Accessible without login Plain text file 55__array_column.php Example Example script
  Accessible without login Plain text file 73__mb_convert_case.php Example Example script
  Accessible without login Plain text file 74_mb_str_split.php Example Example script
  Accessible without login Plain text file 80__class_Stringable.php Example Example script
  Accessible without login Plain text file 81__array_is_list.php Example Example script
  Accessible without login Plain text file 83__mb_str_pad.php Example Example script
  Accessible without login Plain text file 84__http_get_last_response_headers.php Example Example script
  Accessible without login Plain text file 84__mb_trim.php Example Example script
  Accessible without login Plain text file 84__mb_ucfirst.php Example Unit test script
  Accessible without login Plain text file example.php Example Example script
  Accessible without login HTML file index.html Doc. Documentation

 Version Control Reuses Unique User Downloads Download Rankings  
 89%6
Total:78
This week:5
All time:10,103
This week:19Up