<?
session_start();
require "./config.php";
require "./system/classes/main.php";
?>
main.php
<?
class Main {
public $Cpath = "./system/classes/";
private function __autoload() {
//Проверка языковых инструкций
if(file_exists($this->Cpath."language.php"))
{
require $this->Cpath."language.php";
}
else
{
echo 'Language instruction is not connected!';
}
//Загрузка языкового пакета с системными ошибками!
$this->OpenPack('error_sys');
//Загружаем БД
if(file_exists($this->Cpath."db1.php"))
{
require $this->Cpath."db.php";
}
else
{
$this->write('db_class');
}
}
}
$SysMain = new Main();
?>
language.php
<?
class language extends Main {
private $lang = 'russian';
private $dir = './engine/languages/';
private $buffer = array();
private function __construct()
{
$this->dir = $this->dir.$this->lang;
}
public function OpenPack($pName)
{
$url = $this->dir.'/'.$pName.'.php';
if(file_exists($url))
{
$l_ = array();
require $url;
$buffer = array_merge($l_,$buffer);
return true;
}
else
{
echo 'The language pack was not loaded';
}
}
public function write ($nError)
{
print $this->buffer[$nError];
}
}
?>
error_sys.php
<?
$l_['db_class'] = "Не загружены инструкции для базы данных!";
?>
Должно вывести "Не загружены инструкции для базы данных!", но ничего не выводит. Экран пуст.
Спустя 4 минуты, 20 секунд (23.05.2012 - 08:21) TMake написал(а):
Цитата (jalvar @ 23.05.2012 - 09:17) |
$SysMain = new Main(); |
У тебя в class Main нет действий.
ошибки включи
Спустя 1 минута, 8 секунд (23.05.2012 - 08:23) jalvar написал(а):
Они включены
Спустя 1 минута, 58 секунд (23.05.2012 - 08:24) TMake написал(а):
class Main {
public $Cpath = "./system/classes/";
public function __construct(){
echo 'qwe';
}
private function __autoload() {
//Проверка языковых инструкций
if(file_exists($this->Cpath."language.php"))
{
require $this->Cpath."language.php";
}
else
{
echo 'Language instruction is not connected!';
}
//Загрузка языкового пакета с системными ошибками!
$this->OpenPack('error_sys');
//Загружаем БД
if(file_exists($this->Cpath."db1.php"))
{
require $this->Cpath."db.php";
}
else
{
$this->write('db_class');
}
}
}
$SysMain = new Main();
Спустя 1 минута, 7 секунд (23.05.2012 - 08:26) jalvar написал(а):
Выводит qwe
Спустя 9 минут, 5 секунд (23.05.2012 - 08:35) TMake написал(а):
Цитата (jalvar @ 23.05.2012 - 09:26) |
Выводит qwe |
На вывод не навел???
у тебя в классе Main нет конструктора или ты просто забыл обратиться к несуществующему классу что бы запустился autoload
у тебя в классе Main нет конструктора или ты просто забыл обратиться к несуществующему классу что бы запустился autoload
Спустя 39 минут, 20 секунд (23.05.2012 - 09:14) jalvar написал(а):
Блин. Спасибо. Просто только начал изучать ооп.
Спустя 9 минут, 50 секунд (23.05.2012 - 09:24) Игорь_Vasinsky написал(а):
а методы от функций почти не отличаются.
Спустя 53 минуты, 42 секунды (23.05.2012 - 10:18) jalvar написал(а):
В классе language не видит $this->dir
Спустя 4 минуты, 1 секунда (23.05.2012 - 10:22) TMake написал(а):
Цитата (jalvar @ 23.05.2012 - 11:18) |
В классе language не видит $this->dir |
к свойству $dir можно обращаться внутри класса language
Какую ошибку выводит?
Спустя 48 минут, 53 секунды (23.05.2012 - 11:10) jalvar написал(а):
Никакую. Просто невидит переменную
Спустя 9 минут, 59 секунд (23.05.2012 - 11:20) TMake написал(а):
Цитата (jalvar @ 23.05.2012 - 12:10) |
Просто невидит переменную |
Как определил?
Покажи как пытаешься обратиться к свойству?
Спустя 12 минут, 33 секунды (23.05.2012 - 11:33) jalvar написал(а):
public function __construct()
{
$this->dir = $this->dir.$this->lang;
echo $this->dir;
parent::__construct();
}
Ничего не выводит
Спустя 19 минут, 54 секунды (23.05.2012 - 11:53) TMake написал(а):
Цитата (jalvar @ 23.05.2012 - 12:33) |
Ничего не выводит |
Весь класс покажи.
Спустя 36 минут, 29 секунд (23.05.2012 - 12:29) jalvar написал(а):
<?
class language extends Main {
public $lang = 'russian';
public $dir = './engine/languages/';
public $buffer = array();
public function __construct()
{
$this->dir = $this->dir.$this->lang;
echo $this->dir;
parent::__construct();
}
public function OpenPack($pName)
{
$url = $this->dir.'/'.$pName.'.php';
if(file_exists($url))
{
$l_ = array();
require $url;
$buffer = array_merge($l_,$buffer);
return true;
}
else
{
echo 'The language pack was not loaded';
}
}
public function write ($nError)
{
print $this->buffer[$nError];
}
}
?>
Спустя 29 минут, 5 секунд (23.05.2012 - 12:58) TMake написал(а):
jalvar
как ты обращаешься к классу language?
как ты обращаешься к классу language?
Спустя 1 минута, 51 секунда (23.05.2012 - 13:00) jalvar написал(а):
<?
class Main {
public $Cpath = "./system/classes/";
public function __construct(){
$this->__autoload();
}
private function __autoload() {
//Проверка языковых инструкций
if(file_exists($this->Cpath."language.php"))
{
require $this->Cpath."language.php";
}
else
{
echo 'Language instruction is not connected!';
}
//Загрузка языкового пакета с системными ошибками!
language::OpenPack('error_sys');
//Загружаем БД
if(file_exists($this->Cpath."db1.php"))
{
require $this->Cpath."db.php";
}
else
{
language::write('db_class');
}
}
}
$SysMain = new Main();
?>
Спустя 9 минут, 47 секунд (23.05.2012 - 13:10) TMake написал(а):
Цитата (jalvar @ 23.05.2012 - 14:00) |
language::OpenPack('error_sys'); |
Цитата (jalvar @ 23.05.2012 - 14:00) |
language::write('db_class'); |
_____________
jallvar.oxnull.net - мой блог.