Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клас в класе 
V
    Опции темы
Zorak
Дата 10.3.2013, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Дамы и господа. Столкнулся с такой проблемой: Я написал определенный класс, примустим class.work.php ... и создал класс class.error.php  ... В рабочем классе все работает отлично, но в зависимости от определенных действий в процессе возникают некоторые ошибки, которые я отлавливаю с помощью написанных мной функций. Теперь я хочу взять код ошибки и передать в иной класс, чтобы вывести текст ошибки... т.е. в двух словах вопрос звучит так:
 
Код

Как подключить клас в классе и использовать в нем функции?


Пример того что я хочу, думаю будет понятно:
Код

<?php
require_once('class.error.php');
$Error = new error();

class work
{
  function f1()
  {
    .....
    $Error -> ShowError('id_error');
  }
}
?>


Спасибо!


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Чучмек
Дата 10.3.2013, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Код

...
  function f1()
  {
  GLOBAL $Error;
  ...

?


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Zorak
Дата 10.3.2013, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Цитата(Чучмек @ 10.3.2013,  18:35)
Код

...
  function f1()
  {
  GLOBAL $Error;
  ...

?

Неа, никак...


--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
Sanchezzz
Дата 10.3.2013, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Передача класса ошибок как аргумент нельзя?




--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Чучмек
Дата 10.3.2013, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Код

class work
 {
 var $Error;
 function work()
   {
   $this->Error = new error();
   ...
   }
 function f1()
   {
   ...
   $this->Error->ShowError('id_error');
   }
 }



Цитата(Zorak @  10.3.2013,  18:50 Найти цитируемый пост)

Неа, никак... 
 ?
Цитата(Zorak @  10.3.2013,  18:05 Найти цитируемый пост)
 думаю будет понятно

Наверно нет.



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Zorak
Дата 10.3.2013, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 720
Регистрация: 13.11.2007

Репутация: нет
Всего: 3



Мне чтобы написать  $this->Error = new error(); надо подключить клас, ибо появляется 
Fatal error: Class 'error' not found in D:\www\game.art\class.work.php on line 14... когда пишу
require_once('class.error.php'); 
Код

class work
 {
 var $Error;
 function work()
   {
   require_once('class.error.php');
   $this->Error = new error();
   ...
   }
 function f1()
   {
   ...
   $this->Error->ShowError('id_error');
   }
 }

появляется ошибка
Fatal error: Cannot access empty property in D:\www\game.art\class.work.php on line 14

В каком бы месте не експериментировал подключать клас и определять $Error как обьект класса error ошибка таже:
Fatal error: Cannot access empty property in D:\www\game.art\class.work.php on line 14

Добавлено через 4 минуты и 46 секунд
Такс.... все работает.. именно так как посоветовал и Чучмек , просто когда тестировал я написал
$this -> $Error -> ShowError(); - Просто по глупости поставил знак доллара перед Error
а надо было
$this -> Error -> ShowError(); 

Рабочий пример написан в предыдущем моем сообщении. Всем спасибо очень большое, Чумчек сильно помог)

Тему помечаю решенной.



--------------------
Знание - сила. А сила есть, ума не надо...
Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло.
PM MAIL ICQ   Вверх
ksnk
Дата 10.3.2013, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



сделать скелетный класс для дебага, ошибок и прочей вспомогательности. Добавить его в автозагрузку. Методы делать статическими, для страха...

Код

<?php
class work
{
  function f1()
  {
    .....
    ENGINE::ShowError('id_error');
  }
}
?>


файл ENGINE.php
Код

class ENGINE {
...
   static function ShowError(){
      ...
   }
}

?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0509 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.