![]() |
[PHP] Array in Parameterliste
Ich habe folgende Funktion:
Code:
$backgroundColor ist, wie man sehen kann ein Array mit drei Werten. Aufrufen tue ich die Funktion so:
private function cellSetup($backgroundColor, $textColor, $borderWidth, $borderColor)
{ $this->pdf->SetFillColor($backgroundColor[0], $backgroundColor[1], $backgroundColor[2]); $this->pdf->SetTextColor($textColor); $this->pdf->SetDrawColor($borderColor); $this->pdf->SetLineWidth($borderWidth); }
Code:
Bekommt man das auch eleganter hin?
$backgroundColor = array(200, 200, 200);
$this->cellSetup($backgroundColor, 0, .3, 0); Ich hatte es mal so probiert:
Code:
Doch diese Syntax wollte er nicht akzeptieren.
$this->cellSetup($backgroundColor[200, 200, 200], 0, .3, 0);
Das Problem ist, ich muss eben einen Farbwert in seinen RGB Werten übergeben. |
Re: [PHP] Array in Parameterliste
Code:
So?
$this->cellSetup(array(200, 200, 200), 0, .3, 0);
Du könntest auch noch Type Hinting benutzen, um sicherzustellen, dass der Parameter wirklich ein Array ist... Viele Grüße |
Re: [PHP] Array in Parameterliste
Unsinn ... :wall:
|
Re: [PHP] Array in Parameterliste
Ja, so geht es.
Was ist denn Type Hinting? |
Re: [PHP] Array in Parameterliste
Zitat:
Code:
Viele Grüße
function WhatEver(Array $mussArraySein, IrgendeineKlasse $klasse){
} |
Re: [PHP] Array in Parameterliste
Also Angabe der Datentypen bei den Parametern?
|
Re: [PHP] Array in Parameterliste
Zitat:
|
Re: [PHP] Array in Parameterliste
Zitat:
![]() Mit freundlichen Grüßen, Valle |
Re: [PHP] Array in Parameterliste
Zitat:
Was Strings usw. angeht, nichts haelt dich davon ab, eigene Klassen fuer die Standard-Datentypen zu programmieren. Dies haette den Vorteil, dass du da auch ganz einfach Typecast-Methoden einbauen kannst. Der Nachteil ist natuerlich der, dass du immer die Property eines Objekts ansprechen muesstest, da PHP keine Default-Properties kennt. Auch die __toString()-Magic-Method ist ungeeignet, da diese nur bei Ausgabefunktionen greift, aber bspw. nicht bei Parameteruebergaben ;) Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz