У меня есть два класса, основной класс - app.php в корневом каталоге и db.php в \ system Как получить свойство $ config в базе классов, с шаблоном пространства имен ?? Я хочу, чтобы получить $ конфига в базовом классе, это то, что я хочуДоступ Свойство класса в родительском пространстве имен
Я определяю конфигурации для имени хоста, пользователя, передать то я объявляю базовый класс остроумие нового \ App \ базовый я могу получить конфиг в классе дб
<?php
// \App.php
namespace App;
class base{
private $config;
private $db;
function __construct($config){
$this->config = $config;
$this->db = new \App\system\db;
}
public function getTest() {
return $this->test;
}
}
function load($namespace) {
$splitpath = explode('\\', $namespace);
$path = '';
$name = '';
$firstword = true;
for ($i = 0; $i < count($splitpath); $i++) {
if ($splitpath[$i] && !$firstword) {
if ($i == count($splitpath) - 1) {
$name = $splitpath[$i];
} else {
$path .= DIRECTORY_SEPARATOR . $splitpath[$i];
}
}
if ($splitpath[$i] && $firstword) {
if ($splitpath[$i] != __NAMESPACE__) {
break;
}
$firstword = false;
}
}
if (!$firstword) {
$fullpath = __DIR__ . $path . DIRECTORY_SEPARATOR . $name . '.php';
return include_once ($fullpath);
}
return false;
}
function loadPath($absPath) {
return include_once ($absPath);
}
spl_autoload_register(__NAMESPACE__ . '\load');
?>
<?php
// \System\db.php
namespace App\system;
class db{
private $config;
function __construct(){
$this->config = "How To Get property $config in class base, with namespace pattern??";
}
}
?>
это действительно трудно понять, что вы пытаетесь сделать? Нет шаблона пространства имен. Возможно, вы не поняли, для каких пространств имен. Прочитайте php doc о них. –
В вашем db.php вам нужно ввести 'use App \ base;', а затем в class '$ this-> base = new base; $ basetest = $ this-> base-> getTest() ', но, конечно, базовый класс должен быть загружен (требуется). –
Я просто обновляю полный код, помогите –