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