SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.04.2009, 12:29:09
floorball92 floorball92 ist offline
Anfänger
 
Registriert seit: Apr 2009
Beiträge: 20
floorball92 befindet sich auf einem aufstrebenden Ast
Methoden Parameter direkt validieren

Servus,

habe mal ne Frage. Möchte in einer Klasse alle Parameter der Methoden direkt validieren.

Bisher habe ich immer dann das so gemacht:

PHP-Code:
$parameter self::methode($parameter);
... 
Aber das ist nervig, vor allem wenn ich irgendwie 5 Parameter habe und außerdem sind es einige Methoden.

__set() greift ja nur, wenn ich es in $this oder self speichere.

Gibt es so ne ähnliche Lösung für Parameter? oder allgemein alle lokalen Variablen der Klasse?

Gruß Sebastian
Mit Zitat antworten
  #2  
Alt 07.04.2009, 14:01:20
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Irgendwo mußt du prüfen!
Nervig hin oder her... was sein muß, muß sein.

Prüfe die Parameter in der Methode, und wenn falsch, dann wirf eine Exception.

Zitat:
oder allgemein alle lokalen Variablen der Klasse?
Das ist doch Quatsch!
Der Schrott darf da erst gar nicht rein.
Mit Zitat antworten
  #3  
Alt 07.04.2009, 15:34:16
floorball92 floorball92 ist offline
Anfänger
 
Registriert seit: Apr 2009
Beiträge: 20
floorball92 befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Hallo,

ich meinte sowas, dass immer wenn ich eine Variable deklariere, sie direkt von der methode geprüft wird. Also wenn jetzt die Variable $string_fuer_die_datenbank als erstes auftaucht, direkt von einer Funktion bzw. Methode geprüft wird.

Gruß Sebastian
Mit Zitat antworten
  #4  
Alt 07.04.2009, 15:38:45
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Verstehe ich nicht!
Was willst du selbst deklarierte Variablen prüfen?
Traust du dir selber nicht?

Ausserdem:
Verzichte auf globale Variablen!
Mit Zitat antworten
  #5  
Alt 07.04.2009, 16:17:21
floorball92 floorball92 ist offline
Anfänger
 
Registriert seit: Apr 2009
Beiträge: 20
floorball92 befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

mit lokale Variablen meine ich Variablen, die nur in einer Methode existieren, also Attribute zähl ich nicht dazu.

Ich meine einfach nur, um das zu automatisieren, um mir den entsprechenden Code zu sparen, wenn ich immer einzeln meine Parameter überprüfe.

Also sowas wie __set() nur halt für lokale Variablen und nicht Klassen Attribute.
Mit Zitat antworten
  #6  
Alt 07.04.2009, 16:36:00
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Weiterhin Bahnhof!
Woher soll denn dein "Automat" wissen, welches DatenFormat dort zu erwarten ist.
z.B. ist ein Vorname ganz was anderes als eine BLZ

http://de.php.net/manual/de/book.filter.php
http://de.php.net/manual/de/function.func-get-args.php

Geändert von DokuLeseHemmung (07.04.2009 um 16:37:37 Uhr)
Mit Zitat antworten
  #7  
Alt 07.04.2009, 21:04:27
floorball92 floorball92 ist offline
Anfänger
 
Registriert seit: Apr 2009
Beiträge: 20
floorball92 befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Die Methode soll nur gegen SQL Injections abriegeln, von daher ist der Datentyp egal.
Mit Zitat antworten
  #8  
Alt 08.04.2009, 10:42:46
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 41
Beiträge: 1.941
cortex befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Zitat:
Zitat von floorball92 Beitrag anzeigen
[...] wenn ich immer einzeln meine Parameter überprüfe. Also sowas wie __set() nur halt für [...]
warum bringst du __set( ) immer wieder in zusammenhang mit validierung? aus dem handbuch:

Zitat:
__set() is run when writing data to inaccessible members.
und nichts anderes!

Zitat:
Zitat von floorball92 Beitrag anzeigen
Die Methode soll nur gegen SQL Injections abriegeln
möglicherweise bringt's dir mehr, dieses anliegen mit uns zu diskutieren. ich habe den eindruck, du befindest dich auf dem holzweg.

cx
Mit Zitat antworten
  #9  
Alt 08.04.2009, 10:56:36
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Zitat:
Zitat von floorball92 Beitrag anzeigen
Die Methode soll nur gegen SQL Injections abriegeln, von daher ist der Datentyp egal.
Beschäftige dich mit "prepared Statements" oder "ORM", dann brauchst du das nicht mehr!
http://de3.php.net/manual/de/book.mysqli.php
http://de.php.net/manual/de/book.pdo.php
http://www.doctrine-project.org/

Geändert von DokuLeseHemmung (08.04.2009 um 10:59:32 Uhr)
Mit Zitat antworten
  #10  
Alt 08.04.2009, 11:10:07
floorball92 floorball92 ist offline
Anfänger
 
Registriert seit: Apr 2009
Beiträge: 20
floorball92 befindet sich auf einem aufstrebenden Ast
AW: Methoden Parameter direkt validieren

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Beschäftige dich mit "prepared Statements" oder "ORM", dann brauchst du das nicht mehr!
http://de3.php.net/manual/de/book.mysqli.php
http://de.php.net/manual/de/book.pdo.php
http://www.doctrine-project.org/
Ok, dass hört sich auch vernünftig an.

Zu ORM: habe schon öfters gehört, dass ORM ordentlich an der Performance nagt. Meine sogar, Carsten Möhrke wäre der gewesen, der dass gesagt hat.

Und zur MySQLi Klasse, habe ich das richtig verstanden, dort bin ich gegen sämtliche SQL Attacken gerüstet?
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabelleneigenschaften direkt im SQL-Code ändern (phpmyadmin)? chrisbs MySQL 1 16.03.2009 11:36:30
GET Parameter verschlüsseln Kukulkan PHP für Fortgeschrittene und Experten 7 17.12.2007 19:46:55
parameter an externe datei übergeben Knisterkarl PHP Grundlagen 8 08.06.2006 06:08:18
Parameter aus Funktionsaufruf in Objektbezeichner benutzen!? AndreasS HTML, CSS und JavaScript Help! 1 05.07.2004 14:41:05
Parameter in der Adresse übergeben geggi PHP Grundlagen 1 19.05.2004 10:33:45


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:05:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.


© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt