Variable Casting
24 отговора
980 прегледа
Re: Variable Casting
РНР-то не може да познае какво се мъдри в главата ти! За целта си има мануал и там е описано с кои символи какви действия можеш да извършваш. Накарал си го да направи събиране на две числа и получаваш техния сбор. Значи всичко е ОК.
не
Просто PHP работи по друг начин, т.е. не разчита на signatures.
Можеш да реализираш същото така:
Everything louder than everything else...
Можеш да реализираш същото така:
function a($var) {
if (is_int($var)) {
// signature = a(int)
}
elseif (is_float($var)) {
// signature = a(float)
}
// ...
}Everything louder than everything else...
Re: Variable Casting
:)) Абсолютно по същия начин съм отговарял, като някой мрънка против пойнтерите в С++. Напълно те разбирам :)
Re: Variable Casting
Функции дето правят различни работи в зависимост от параметъра си са "миризма в дизайна"
.
Вместо да имаш функция с едно име, дето прави различни неща ако и пуснат число или низ:
function myOperation($target)
{
//if target is a number
//if target is a string
}
Можеш да направиш 2 обекта с методи myOperation. Клиентския код вика:
$target->myOperation();
А всеки обект си държи числото или низа и си прави каквото трябва.
Вместо да имаш функция с едно име, дето прави различни неща ако и пуснат число или низ:
function myOperation($target)
{
//if target is a number
//if target is a string
}
Можеш да направиш 2 обекта с методи myOperation. Клиентския код вика:
$target->myOperation();
А всеки обект си държи числото или низа и си прави каквото трябва.