передача вф-цию переменной заданного типа

Shicoo

Новичок
передача вф-цию переменной заданного типа

Не знал как лучше оформить тему топика, так что не ругайте :)


Вопрос вот в чем: в 5-м php можно делать так - funcion name(MyClass $cls) {...}

верхний пример работает, а funcion name(String $cls) {...} или funcion name(Boolean $cls) {...} не работает.


Есть ли способ объявить переменную типа String (Boolean, Integer) не создавая при этом свои классы String (Boolean, Integer)?
 

Shicoo

Новичок
Просто не хочется проверять is_string или is_boolean.


В принципе особо сильно это и не нужно, но было бы неплохо иметь возможность сделать это
 

Exel

Новичок
Это называется Type Hinting, можно использовать только название класса и array. Причем array, кажется, только начиная с PHP 5.1
 

Андрейка

Senior pomidor developer
Просто не хочется проверять is_string или is_boolean
и как тебе в этом поможет func(String $a) {} ?
 

Solid

Drosera anglica
Shicoo
А как вы проверяете на string? Если нужен string, но аргумент не string то вы через trigger_error() пишите фатальную ошибку? Или как?

-~{}~ 08.12.06 16:22:

Type Hints can only be of the object and array (since PHP 5.1) type. Traditional type hinting with int and string isn't supported.

И понятно почему... string может быть integer'ом, а integer может быть string'ом.
 

Андрейка

Senior pomidor developer
string может быть integer'ом
ага, оба они могут с тем же успехом быть array, но разработчикам это не мешало
 

Shicoo

Новичок
Solid

Не, фатальную ошибку не пишу.


Вообще просто было интересно на сколько это возможно


PS: в догонку - кто нибудь работал с java? можете рассказать что таке hibernate и зачем он нужен
 

alexei.lexx

Новичок
Автор оригинала: Shicoo
PS: в догонку - кто нибудь работал с java? можете рассказать что таке hibernate и зачем он нужен
Hibernate - это мощная реализация ORM на Яве. См. здесь http://www.hibernate.org/.
 

Андрейка

Senior pomidor developer
hermit_refined
ааа.. сорри, мну оч сложно понять как неявные преобразования мешают реализации type hinting
 

Shicoo

Новичок
alexei.lexx


Да, я сейчас там шарюсь.

А почему, если реализация мощная, то нет порта на пхп? Ведь портируют же struts.
Или очень сложно портировать?
 

Frol

Новичок
меня давно мучает вопрос.
когда модераторы успокоят андрейку.
 

Андрейка

Senior pomidor developer
"WP звонит знакомым резиновым подругам по пластмассовому игрушечному телефону", холст, гуашь, орбит. третьяковская галлерея,подвал
 
Сверху