I have 3(three) class in PHP
main Class is Detection.php
Detection.php
<?php
include "Helper.php";
include "Unicode.php";
class Detection {
private $helper;
private $unicode;
public function __construct() {
mb_internal_encoding('UTF-8');
$this->helper = new Helper();
$this->unicode = new Unicode();
}
public function detect($text) {
$arrayOfChar = $this->helper->split_char($text);
$words = $this->helper->split_word($text);
................
return $xxx;
}
..............
}
$i = new Detection();
?>
Helper.php
<?php
class Helper {
public function __construct() {
}
public function split_word($text) {
$array = mb_split("s", preg_replace( "/[^p{L}|p{Zs}]/u", " ", $text ));
return $this->clean_array($array);
}
public function clean_array($array) {
$array = array_filter($array);
foreach($array as &$value) {
$newArray[] = $value;
} unset($value);
return $newArray;
}
public function split_char($text) {
return preg_split('/(?<!^)(?!$)/u', mb_strtolower(preg_replace( "/[^p{L}]/u", "", $text )));
}
public function array_by_key($array, $key) {
foreach($array as &$value) {
$new_array[] = $value[$key];
} unset($value);
return $new_array;
}
}
?>
Unicode.php
<?php
include "DatabaseConnection.php";
//include "Helper.php"; WHEN '//' double slash is removed, i got code is not working
class Unicode {
private $connection;
private $helper;
public function __construct() {
$this->connection = new DatabaseConnection();
//$this->helper = new Helper(); WHEN '//' double slash is removed, i got code is not working
}
.................
}
?>
In Unicode.php as you can see there is two line that i comment with double slashes '//'. when i remove and i run the code, i got white screen in browser that mean something wrong happen. but when i comment it //include "Helper.php"; and //$this->helper = new Helper(); the code is work fine.
Is there in OOP restriction to extend Helper.php in Unicode.php and Detection.php, that Detection.php extend Unicode.php
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…