ООП или мои руки растут ниже плеч?! - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Wed, 15 Jan 2025 07:49:28 +0300Спасибо за то что помогали, но мне уже подсказали оказуеться раз файл подключаеться в контексте класа то в нутри этих файлов надо обращаться к класу через $this
https://visavi.net/topics/18082/310950
ООП или мои руки растут ниже плеч?! ДаниилMon, 24 Jan 2011 17:20:45 +0300Сообщенияhttps://visavi.net/topics/18082/310950Все привет, в общем у меня такая проблема я пишу скрипт в нем подключаеться главный файл <br>
<br>
<pre class="prettyprint">
<?php
// File index.php
require_once('include/config.php');
//Здесь мы проверяем какую страницу подключать
//При переходи на индекс в метод передаеться main так как переменная $_GET['mod'] не объявлена и подключаеться файл body.php
$obj->getDisplay((isset($mod) && !empty($mod))? $mod : 'main');
?>
</pre>
<br>
<pre class="prettyprint">
<?php
//File config.php
function __autoload($name)
{
if(file_exists('class/'.$name.'.class.php'))
{
require_once ('class/'.$name.'.class.php');
}
}
$obj = new Test();
?>
</pre>
Метод getDisplay определяет какую страницу подключать по переданным данным в переменной mod<br>
<br>
вот и сам этот метод<br>
Это файл с класом<br>
<pre class="prettyprint">
<?php
// File Test.class.php
class Test{
function __construct()
{
//.......
}
public function getDisplay($mod)
{
require_once ('style/head.php');
$ini = parse_ini_file('style/mod.ini',true);
/**
* File mod.ini
[main]
filebody = "body.php"
* */
$mode = array_keys($ini);
if(in_array($mod,$mode))
{
$values = array_values($ini[$mod]);
$incfile = $values[0];
if(file_exists('style/' . $incfile))
{
require_once ('style/' . $incfile);
}else{
require_once ('style/error.php');
}
}
require_once ('style/foot.php');
}
public function getVersion()
{
return '0.0.1';
}
}
?>
</pre>
<br>
ну а вот сама суть проблемы в подключенных файлах уже не работает объявленный клас, т.е. в подключенных файлах ругаеться на такие строки как<br>
<br>
<pre class="prettyprint">
<?php
//File body.php
echo 'Version'.$obj->getVersion();
?>
</pre>
<br>
говорит что такой клас не объявлялся а что бы работало приходиться в этих файлах заново его объявлять, но ведь так не должно же быть? Верно?<br>
<br>
Подскажите кто ни будь уже сталкивался с таким?
https://visavi.net/topics/18082/310934
ООП или мои руки растут ниже плеч?! ДаниилMon, 24 Jan 2011 16:58:09 +0300Сообщенияhttps://visavi.net/topics/18082/310934Щас опишу все подробнее....
https://visavi.net/topics/18082/310926
ООП или мои руки растут ниже плеч?! ДаниилMon, 24 Jan 2011 16:47:32 +0300Сообщенияhttps://visavi.net/topics/18082/310926require_once ($this->pathRoot('STYLE') . $incfile); <br>
вот у тебя этот файл внутри класса<br>
<br>
<em><span style="font-size:x-small">Добавлено через 01:04 сек.</span></em><br>
или ты хреново обьяснил суть, где что и как
https://visavi.net/topics/18082/310921
ООП или мои руки растут ниже плеч?! ramzesMon, 24 Jan 2011 16:44:28 +0300Сообщенияhttps://visavi.net/topics/18082/310921Это если в самом класе, а на странице выводиться <br>
<pre class="prettyprint">
<?php
$obj = new Test();
echo $obj->getVersion();
?>
</pre>
https://visavi.net/topics/18082/310914
ООП или мои руки растут ниже плеч?! ДаниилMon, 24 Jan 2011 16:41:15 +0300Сообщенияhttps://visavi.net/topics/18082/310914echo $this->getVersion(); читаем вступление в ооп
https://visavi.net/topics/18082/310907
ООП или мои руки растут ниже плеч?! ramzesMon, 24 Jan 2011 16:36:04 +0300Сообщенияhttps://visavi.net/topics/18082/310907Все привет, в общем у меня такая проблема я пишу скрипт в нем подключаеться главный файл <br>
<br>
<pre class="prettyprint">
<?php
// File index.php
require_once('include/config.php');
//Здесь мы проверяем какую страницу подключать
$obj->getDisplay((isset($mod) && !empty($mod))? $mod : 'main');
?>
</pre>
<br>
Метод getDisplay определяет какую страницу подключать по переданным данным в переменной mod<br>
<br>
вот и сам этот метод<br>
<br>
<pre class="prettyprint">
<?php
public function getDisplay($mod)
{
require_once ($this->pathRoot('STYLE') . 'head.php');
$ini = parse_ini_file($this->pathRoot('STYLE') . 'mod.ini',true);
$mode = array_keys($ini);
if(in_array($mod,$mode))
{
$values = array_values($ini[$mod]);
$incfile = $values[0];
if(file_exists($this->pathRoot('STYLE') . $incfile))
{
require_once ($this->pathRoot('STYLE') . $incfile);
}else{
require_once ($this->pathRoot('STYLE') . 'error.php');
}
}
require_once ($this->pathRoot('STYLE') . 'foot.php');
}
?>
</pre>
<br>
ну а вот сама суть проблемы в подключенных файлах уже не работает объявленный клас, т.е. в подключенных файлах ругаеться на такие строки как<br>
<br>
<pre class="prettyprint">
<?php
echo $obj->getVersion();
?>
</pre>
<br>
говорит что такой клас не объявлялся а что бы работало приходиться в этих файлах заново его объявлять, но ведь так не должно же быть? Верно?<br>
<br>
Подскажите кто ни будь уже сталкивался с таким?
https://visavi.net/topics/18082/310902
ООП или мои руки растут ниже плеч?! ДаниилMon, 24 Jan 2011 16:33:47 +0300Сообщенияhttps://visavi.net/topics/18082/310902