php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.01.2005, 09:57  
Gast
 
Beiträge: n/a
Standard Typenprüfung Sache der Klasse oder nicht

Hallo zusammne,

ist es sinnvol, Typenprüfungen in einer Klasse einzubauen oder ist dies Sache des Benutzer der API?
Bei gewissen Klassen kann man auch Stings oder dann halt Array übergegeben, so muss sowieso eine Typenprüfung her.

Danke
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.01.2005, 10:59  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Prinzipiell ist es sinnvoll, in einer API, denn du musst auch hier vom "Worst Case" ausgehen, nämlich dass irgendwer Unsinn übergibt und du ihn dann sinnvoll mit passender Fehlermeldung darauf hinweisen.

Im Gegensatz zu Java übernimmt der Compiler/Parser in PHP diese Typenprüfung nur bedingt bis gar nicht, da in PHP eine Typenfreiheit existiert.
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Alt 26.01.2005, 11:24  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.818
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es gibt seit php4 eine schöne sache, die man für sowas verwenden kann:

http://de.php.net/assert

PHP-Code:
<?php
class math {
   function 
sqrt($num) {
        
assert(is_numeric($num) && <= $num);
        
// hier berechnen
   
}

   function 
check(&$obj1,&$obj2) {
       
assert(is_a($obj,'myClass') && is_a($obj2,'myOtherClass'));
      
// hier mit den objekten arbeiten.
   
}
}
?>
das ganze ist schöner als if-else-konstrukte, besser lesbar, denn es impliziert gleich 'gültige' input-parameter, und mit
http://de.php.net/manual/en/function.assert-options.php kannst du skriptweit festlegen, was passieren soll, falls eine assertion fehlschlägt. beim testen und entwickeln könntest du z.b. das skript mit einer fehlermeldung zu einem die() bewegen, weil die assertion wahrscheinlich was mit einem programmierungsfehler zu tun hat, und während das skript läuft, könntest du die fehlermeldung wunderbar an ein error-log umleiten.
axo ist offline   Mit Zitat antworten
Alt 26.01.2005, 15:25  
Gast
 
Beiträge: n/a
Standard

wenn schon eine Fehlermeldung ausgeben, dann würde ich es mit ErrorHandlern (überlagert) oder mit dem error-Objekt Ansatz von Pear machen. Aber ein guter Hinweis.
  Mit Zitat antworten
Alt 26.01.2005, 15:54  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

oder mit Exceptions (PHP5)
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
zentrale Klasse für Datenbankanbindung Crypi PHP Tipps 2008 4 01.07.2008 11:13
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
Eine Klasse mehrere Dateien sn00py PHP Tipps 2006 6 08.05.2006 11:40
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
[Erledigt] Instanz einer Klasse in SessionVariable PHP-Fortgeschrittene 2 21.02.2006 00:18
Klasenname einer nicht instanziierten Klasse DerDesian PHP Tipps 2007 9 30.11.2005 13:13
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
[Erledigt] Führerschein für Klasse A+B.. Preis OK??? Off-Topic Diskussionen 20 13.07.2005 18:44
Rückgabewert auf einer Klasse anders als in der Klasse micbur PHP Tipps 2005-2 6 10.06.2005 15:06
Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Klasse holt sich die Klasse PHP-Fortgeschrittene 9 07.10.2004 11:53
[Erledigt] Brauche Hilfe bei meiner ersten Klasse PHP-Fortgeschrittene 9 24.09.2004 17:09
Klassenobjet in anderer Klasse benutzen inu PHP Tipps 2004 6 19.09.2004 10:58
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php typprüfung, php typenprüfung, typprüfung php, typüberprüfung php, php typüberprüfung, java typprüfung, javascript typprüfung, typüberprüfung java, javascript typenprüfung, php typen prüfung, php typ prüfung, php typenüberprüfung, typprüfung javascript, typprüfung in php, typenprüfung php, typüberprüfung in php, javascript typüberprüfung, typprüfung java, typenprüfung java, java typüberprüfung

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.