Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Type Hinting
 
 автор: localGhost   (22.05.2007 в 14:23)   письмо автору
 
 

создаю метод:

<?
class NewClass {
   public function 
source (string $id) {
      
/*
      .....
      */
   
}
}

$n newClass;
$n -> source ("string");
?>


выдает ошибку:

Catchable fatal error: Argument 1 passed to NewClass::source() 
must be an instance of string, null given, called in /path/ex_file.php 
on line ... and defined in /path/class.php on line ...


как я понимаю ругается на то что передаю "не" строку... но ведь это не так... помогите разобраться пожалуйста.

   
 
 автор: mefestofel   (22.05.2007 в 14:39)   письмо автору
 
   для: localGhost   (22.05.2007 в 14:23)
 

Как вариант:


<?
class NewClass {
   public function 
source ($id) {
      print 
$id;
   }
}

$n = new NewClass;
$n -> source ("string");
?>


[поправлено модератором]

   
 
 автор: localGhost   (22.05.2007 в 14:48)   письмо автору
 
   для: mefestofel   (22.05.2007 в 14:39)
 

затупил...... так можно определить принудительно только либо объект, либо массив.. правильно?

   
 
 автор: Temnovit   (22.05.2007 в 17:38)   письмо автору
 
   для: localGhost   (22.05.2007 в 14:48)
 

is_array
is_object

Проверяете в самом начале
<?
  
if ( !is_array($var)  && !is_object($var)) 
  exit(
'Необходимо передать объект или массив!')';
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования