Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Array in Parameterliste (https://www.delphipraxis.net/137045-%5Bphp%5D-array-parameterliste.html)

Luckie 13. Jul 2009 10:20


[PHP] Array in Parameterliste
 
Ich habe folgende Funktion:
Code:
    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);
    }
$backgroundColor ist, wie man sehen kann ein Array mit drei Werten. Aufrufen tue ich die Funktion so:
Code:
$backgroundColor = array(200, 200, 200);
$this->cellSetup($backgroundColor, 0, .3, 0);
Bekommt man das auch eleganter hin?

Ich hatte es mal so probiert:
Code:
$this->cellSetup($backgroundColor[200, 200, 200], 0, .3, 0);
Doch diese Syntax wollte er nicht akzeptieren.

Das Problem ist, ich muss eben einen Farbwert in seinen RGB Werten übergeben.

mirage228 13. Jul 2009 10:27

Re: [PHP] Array in Parameterliste
 
Code:
$this->cellSetup(array(200, 200, 200), 0, .3, 0);
So?
Du könntest auch noch Type Hinting benutzen, um sicherzustellen, dass der Parameter wirklich ein Array ist...

Viele Grüße

freak4fun 13. Jul 2009 10:29

Re: [PHP] Array in Parameterliste
 
Unsinn ... :wall:

Luckie 13. Jul 2009 10:32

Re: [PHP] Array in Parameterliste
 
Ja, so geht es.

Was ist denn Type Hinting?

mirage228 13. Jul 2009 10:35

Re: [PHP] Array in Parameterliste
 
Zitat:

Zitat von Luckie
Was ist denn Type Hinting?

Ein versuch strengerer Typisierung in PHP :D (ab Version 5)

Code:
function WhatEver(Array $mussArraySein, IrgendeineKlasse $klasse){

}
Viele Grüße

Luckie 13. Jul 2009 10:48

Re: [PHP] Array in Parameterliste
 
Also Angabe der Datentypen bei den Parametern?

mirage228 13. Jul 2009 11:06

Re: [PHP] Array in Parameterliste
 
Zitat:

Zitat von Luckie
Also Angabe der Datentypen bei den Parametern?

Genau, geht allerdings nur für Arrays und Klassen. Ist aber noch genauer im PHP Manual erklärt..

Valle 13. Jul 2009 11:54

Re: [PHP] Array in Parameterliste
 
Zitat:

Zitat von mirage228
Zitat:

Zitat von Luckie
Also Angabe der Datentypen bei den Parametern?

Genau, geht allerdings nur für Arrays und Klassen. Ist aber noch genauer im PHP Manuel erklärt..

Hier, genauergesagt. Allerdings ist das ganze doch ziemlich sinnlos, da man nur "array" oder den Namen einer Klasse angeben kann. String, Int, usw. funktionieren leider nicht. Einer der Hauptgründe warum PHP meiner Meinung nach nicht so toll ist.

Mit freundlichen Grüßen,

Valle

alcaeus 14. Jul 2009 18:49

Re: [PHP] Array in Parameterliste
 
Zitat:

Zitat von Valle
Allerdings ist das ganze doch ziemlich sinnlos, da man nur "array" oder den Namen einer Klasse angeben kann. String, Int, usw. funktionieren leider nicht. Einer der Hauptgründe warum PHP meiner Meinung nach nicht so toll ist.

Sinnlos ist es nicht - eher nicht fertig implementiert.
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 23:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz