Archief - return waarde van functions typeren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

passero

Legacy Member
Is het eigenlijk mogelijk in PHP returnvalues van functies te typeren?
Wanneer ik bijvoorbeeld in zend de autocompletion functie gebruik zie ik telkens welk type het is.

Ik zou dit handig vinden omdat ik dan ook de autocompletion voor mijn eigen objecten kan gebruiken. Nu weet hij dat niet maar als ik ergens een type kan toevoegen aan een return value zou dit wel lukken.

passero

Legacy Member
mmm...
als ik @return toevoeg aan de phpdoc dan zou dit voldoende moeten zijn...
Maar das nu niet bepaald mooi vind ik.
Kan je in PHP geen return value typeren? Ook niet voor parameters?

Tyfius

Legacy Member
Voor sommige zaken wel. Bijvoorbeeld:
PHP:
class Foo_1
{
  public $var_1;
}

class Foo_2
{
  public $var_2;
  public $foo_1;
}

/**
 * @param $foo_1 Foo_1
 */
function bar_1($foo_1) {
}

function bar_2(Foo_1 $foo_1) {
}

function bar_3($foo_2) {
  /* @var $foo_1 Foo_1 */
  $foo_1 = $foo_2->foo_1;
}
Alle 3 zullen ze werken.

dJeez

Legacy Member
passero zei:
mmm...
als ik @return toevoeg aan de phpdoc dan zou dit voldoende moeten zijn...
Maar das nu niet bepaald mooi vind ik.
Kan je in PHP geen return value typeren? Ook niet voor parameters?
Tsss, PHP is geen typed language, dus is het inderdaad enkel door de phpdoc hints te plaatsen dat je autocompletion kan doen werken.

Voor gewone variabelen kan je
PHP:
/* @var <$variabele> <klasse> */
gebruiken.

BTW Zie het als een voordeel : je kan dan direct al basisdocumentatie genereren van je code zonder dat je daar nog extra moeite in moet steken :p.

Lord Kveldulv

Legacy Member
Zend leest idd die doc/comments uit. Het beste is natuurlijk dat je dat altijd meteen doet, voor eender welke taal. Nu ben je misschien met pietlullige dingen bezig maar als je ooit 200 000 regels code van een collega voor u krijgt dan ga je nog op uw blote knie'tjes hem bedanken dat hij alles mooi verzorgd heeft. Zelfs voor uw eigen code vergeet je alles op den duur. Ik heb zelfs al de neiging om de helft te vergeten van wat ik gisteren geschreven heb. Dermee dat m'n classes en functies al voor driekwart becommentarieerd zijn nog voor er 1 regel code in staat. Is ook een vereiste van m'n werkgever. Op school werd het er ook in gedrild. Het nut wordt u pas later duidelijk :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan