Fix issue where constructors aren't called

The documentation says that defining a constructor as a function with the same
name as the class is deprecated as of PHP 8, but should still work. However it
seems that this isn't true. Running on my machine these constructors didn't get
called. Renaming them to ‘__construct’ fixed that.
This commit is contained in:
Tom Willemse 2024-02-29 09:02:19 -08:00
parent e1bfad3df7
commit 9f843178bc
2 changed files with 4 additions and 4 deletions

View file

@ -98,7 +98,7 @@ class gettext_reader {
* @param object Reader the StreamReader object
* @param boolean enable_cache Enable or disable caching of strings (default on)
*/
function gettext_reader($Reader, $enable_cache = true) {
function __construct($Reader, $enable_cache = true) {
// If there isn't a StreamReader, turn on short circuit mode.
if (! $Reader || isset($Reader->error) ) {
$this->short_circuit = true;

View file

@ -49,7 +49,7 @@ class StringReader {
var $_pos;
var $_str;
function StringReader($str='') {
public function __construct($str='') {
$this->_str = $str;
$this->_pos = 0;
}
@ -86,7 +86,7 @@ class FileReader {
var $_fd;
var $_length;
function FileReader($filename) {
public function __construct($filename) {
if (file_exists($filename)) {
$this->_length=filesize($filename);
@ -143,7 +143,7 @@ class FileReader {
// Preloads entire file in memory first, then creates a StringReader
// over it (it assumes knowledge of StringReader internals)
class CachedFileReader extends StringReader {
function CachedFileReader($filename) {
public function __construct($filename) {
if (file_exists($filename)) {
$length=filesize($filename);