|
|
|
|
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
|
PHP: |
<?php
class Rightmanagement {
/**
* Returns true if a specified user has a certain right
*
* Given a UserID and a specified right (as string), this method will return
* true if the User has the right
*
* @param integer userId User who needs to be checked
* @param string right The Right as string, which the user should have
* to continue
* @return boolean True, if UserID has the mentioned right
*/
public function hasAccess($userId, $right) {
$user = new User;
$right = new Right;
// the load() methods will return true, if the sql-request was successful
if ($user.load($userId) AND $right.load($right)) {
} else {
return false;
}
}
}
?>
|
|
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 09.04.2010 10:47]
|
|
|
|
|
|
| Zitat von Ashtray
| Zitat von TriggerTG
| Zitat von Ashtray
| Zitat von TriggerTG
Die Regeln sehen in diesem Fall leider keine Ausnahmen vor. Das tut mir sehr leid, Ashtray.
| |
Was kostet ein FU?
| |
Diese Abk�rzung kostet dich nichts. Beleidigungen werden nicht bestraft, sofern sie sprachlich korrekt angewendet werden.
| |
Gut zu wissen!
| |
"Das ist gut zu wissen!"
Dies kostet dich 10 Cent.
Mein Edit kostet mich 20 Cent.
| Zitat von igor]2
- Kamel: -,50 EUR
- Trigger: 1,10 EUR
- Ashtray: -,30 EUR
| |
|
|
|
|
|
|
|
Nenn den Thread bitte in "Rechtschreibnazisalat" um (TriggerTG alleine)!
5,30 Euro pro Monat mehr KFZ-Versicherung damit alle aus meiner Familie (23 - 69) mit der Karre fahren können? Sind immerhin ca. 64 Euro im Jahr. Also mehr als 10 Prozent meiner Versicherung.
Ich glaub ich machs nicht. Sollen die sich selber ne Anhängerkupplung kaufen
|
|
|
|
|
|
|
Dein Post enthält so viele Fehler, dass ich nicht mal in der Lage bin deine Strafkosten zu summieren.
|
|
|
|
|
|
|
|
|
|
|
| Zitat von TriggerTG
Dein Post enthält so viele Fehler, dass ich nicht mal in der Lage bin deine Strafkosten zu summieren.
| |
[..], dass nicht einmal ich in der [..]
Das kostet dich auch nur 20 Eurocent.
|
|
|
|
|
|
|
| Zitat von TriggerTG
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
|
PHP: |
<?php
class Rightmanagement {
/**
* Returns true if a specified user has a certain right
*
* Given a UserID and a specified right (as string), this method will return
* true if the User has the right
*
* @param integer userId User who needs to be checked
* @param string right The Right as string, which the user should have
* to continue
* @return boolean True, if UserID has the mentioned right
*/
public function hasAccess($userId, $right) {
$user = new User;
$right = new Right;
// the load() methods will return true, if the sql-request was successful
if ($user.load($userId) AND $right.load($right)) {
} else {
return false;
}
}
}
?>
|
|
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen?
| |
Ein fehlendes Recht ist ein Fehler. Exceptions sind dafür gedacht Fehler mitzuteilen.
|
|
|
|
|
|
|
| Zitat von Smoking
| Zitat von TriggerTG
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
PHP:
[/spoiler]
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen? | |
Ein fehlendes Recht ist ein Fehler. Exceptions sind dafür gedacht Fehler mitzuteilen.
| |
Was mir jetzt noch aufgefallen ist: Du instanziierst zuviele SQL Manager. Entweder du machst das über Singleton oder vglbar, oder du legst eine private Instanz an. Aber für jede Methode eigene Objekte zu spawnen ist Käse :P
|
|
|
|
|
|
|
Achja und kann man echt $object.method() schreiben?
|
|
|
|
|
|
|
| Zitat von damisau
| Zitat von TriggerTG
Dein Post enthält so viele Fehler, dass ich nicht mal in der Lage bin deine Strafkosten zu summieren.
| |
[..], dass nicht einmal ich in der [..]
Das kostet dich auch nur 20 Eurocent.
| |
[quote=140831,1241549545,"igor]2"][b]
- Kamel: -,50 EUR
- Trigger: 1,30 EUR
- Ashtray: -,90 EUR
|
|
|
|
|
|
|
| Zitat von Teufel
| Zitat von Smoking
| Zitat von TriggerTG
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
PHP:
[/spoiler]
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen? | |
Ein fehlendes Recht ist ein Fehler. Exceptions sind dafür gedacht Fehler mitzuteilen.
| |
Was mir jetzt noch aufgefallen ist: Du instanziierst zuviele SQL Manager. Entweder du machst das über Singleton oder vglbar, oder du legst eine private Instanz an. Aber für jede Methode eigene Objekte zu spawnen ist Käse :P
| |
Ich denke, dass das in der Anwendung mehr oder weniger Schnuppe ist. Wird ja eh die vorhandene MySQL-Connection genutzt
|
|
|
|
|
|
|
| Zitat von TriggerTG
| Zitat von Teufel
| Zitat von Smoking
| Zitat von TriggerTG
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
PHP:
[/spoiler]
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen? | |
Ein fehlendes Recht ist ein Fehler. Exceptions sind dafür gedacht Fehler mitzuteilen. | |
Was mir jetzt noch aufgefallen ist: Du instanziierst zuviele SQL Manager. Entweder du machst das über Singleton oder vglbar, oder du legst eine private Instanz an. Aber für jede Methode eigene Objekte zu spawnen ist Käse
:P | |
Ich denke, dass das in der Anwendung mehr oder weniger Schnuppe ist. Wird ja eh die vorhandene MySQL-Connection genutzt
| |
Ist aber trotzdem unnötig, weils halt Geschwindigkeit einbüßt...
|
|
|
|
|
|
|
| Zitat von Teufel
Achja und kann man echt $object.method() schreiben?
| |
Nein, das kann man nicht.
|
|
|
|
|
|
|
| Zitat von TriggerTG
- Kamel: -,50 EUR
- Trigger: 1,30 EUR
- Ashtray: -,90 EUR
| |
Dein Wurfstock entwickelt sich so langsam zum Boomerang!
|
|
|
|
|
|
|
| Zitat von Teufel
| Zitat von TriggerTG
| Zitat von Teufel
| Zitat von Smoking
| Zitat von TriggerTG
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
PHP:
[/spoiler]
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen? | |
Ein fehlendes Recht ist ein Fehler. Exceptions sind dafür gedacht Fehler mitzuteilen. | |
Was mir jetzt noch aufgefallen ist: Du instanziierst zuviele SQL Manager. Entweder du machst das über Singleton oder vglbar, oder du legst eine private Instanz an. Aber für jede Methode eigene Objekte zu spawnen ist Käse
:P | |
Ich denke, dass das in der Anwendung mehr oder weniger Schnuppe ist. Wird ja eh die vorhandene MySQL-Connection genutzt
| |
Ist aber trotzdem unnötig, weils halt Geschwindigkeit einbüßt...
| |
Ja, das meine ich mit "Schnuppe".
Btw.: Wie würde das über die Singleton-Variante laufen?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Zitat von TriggerTG
| Zitat von Teufel
| Zitat von TriggerTG
| Zitat von Teufel | Zitat von Smoking | Zitat von TriggerTG
Anhand des folgenden PHP-Beispiels möchte ich eine Frage formulieren.
PHP:
[/spoiler]
Ich muss gesetehen, ich habe mich mit dem Konzept der Exceptions bisher nicht sonderlich auseinander gesetzt.
Angenommen, ich würde mir die Mühe machen, den Fehler "UserId oder Recht gibt es nicht" abfangen zu wollen. Und zwar detaillierter als einfach ein boolean zurück zu geben.
Wie würde ich das bestenfalls machen:
* Eine Logging-Klasse, der im False-Fall Details über den Fehler mitgebe?
* Exceptions?
Sind Exceptions für desgleichen überhaupt vorgesehen? | |
Ein fehlendes Recht ist ein Fehler. Exceptions sind dafür gedacht Fehler mitzuteilen. | |
Was mir jetzt noch aufgefallen ist: Du instanziierst zuviele SQL Manager. Entweder du machst das über Singleton oder vglbar, oder du legst eine private Instanz an. Aber für jede Methode eigene Objekte zu spawnen ist
Käse
:P | |
Ich denke, dass das in der Anwendung mehr oder weniger Schnuppe ist. Wird ja eh die vorhandene MySQL-Connection genutzt | |
Ist aber trotzdem unnötig, weils halt Geschwindigkeit einbüßt... | |
Ja, das meine ich mit "Schnuppe".
Btw.: Wie würde das über die Singleton-Variante laufen?
| |
So in etwa:
|
PHP: |
<?
class Database
{
// Store the single instance of Database
private static $m_pInstance;
private function __construct() {
//
}
public static function getInstance()
{
if (!self::$m_pInstance)
{
self::$m_pInstance = new Database();
}
return self::$m_pInstance;
}
}
Dann woanders:
Database::getInstance()->doStuff()
|
|
|
|
|
|
|
|
|
Hmmm. Na ich weiß nicht. Ich weiß, dass es ein Singleton-Pattern gibt, aber in diesem Kontext erscheint diese Variante mir nicht richtig. Oder gibt es in diesem Fall wirklich so etwas wie den richtigen, allgemeingültigen Stil?
|
|
|
|
|
|
|
Allgemeingültig für Singleton ist halt dass du mehrfaches Instanziieren einer Klasse verhinderst.
Ich denk da gibts bestimmt mehrere Möglichkeiten das zu machen, aber privater Konstruktor erscheint am sinnvollsten.
|
|
|
|
|
|
|
|
|
|
|
Yeah, ich mag Refactoring. Ich will eine Klasse überarbeiten weil mir die Schnittstelle absolut nicht zusagte und mittlerweile bin ich dabei die fünfte Klasse aus der einen auszulagern.
|
|
|
|
|
|
|
|
|
|
|
| Zitat von TriggerTG
- Kamel: -,50 EUR
- Trigger: 1,50 EUR
- Ashtray: -,90 EUR
- Smoking: -,30 EUR
| |
Ein Komma zu wenig. Den Teil nach "Und" gehört nicht in den Satz hinein. Dazu kommt noch "aus der Einen auszulagern".
e\ <-- Verdammt
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 09.04.2010 13:19]
|
|
|
|
|
|
| Zitat von TriggerTG
Den Teil nach "Und" gehört nicht in den Satz hinein
| |
*klingeling*
|
|
|
|
|
|
|
| Zitat von TriggerTG
- Kamel: -,50 EUR
- Trigger: 1,60 EUR
- Ashtray: -,90 EUR
- Smoking: -,30 EUR
| |
|
|
|
|
|
|
|
Jetzt postest du gar nichts mehr, oder?
|
|
|
|
|
|
|
| Zitat von TriggerTG
Hmmm. Na ich weiß nicht. Ich weiß, dass es ein Singleton-Pattern gibt, aber in diesem Kontext erscheint diese Variante mir nicht richtig. Oder gibt es in diesem Fall wirklich so etwas wie den richtigen, allgemeingültigen Stil?
| |
Es gibt in Java zwei Varianten die relativ häufig vorkommen.
Sobald der classloader zuschlägt (nicht so zu empfehlen):
|
Code: |
public class MySingleton
{
private static MySingleton instance = new MySingleton();
private MySingleton()
{
}
public static MySingleton getInstance()
{
return instance;
}
}
|
|
oder erzeugen des Singletons erst wenn es gebraucht wird:
|
Code: |
public class MySingleton
{
private static MySingleton instance = null;
private MySingleton()
{
}
public static MySingleton getInstance()
{
if(instance == null)
{
instance = new MySingleton();
}
return instance;
}
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Floder
grüße aus Thailand!
| | Geh mal bei der Crazy Factory vorbei, die sind cool.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |