php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.08.2005, 10:37  
Benutzer
 
Registriert seit: 20.07.2005
Beiträge: 34
AliceD
Standard PEAR Error Object

hi,
wenn meine klasse keine vererbung der pear klasse ist wird das pear_error objekt nicht richtig zurückgegeben...warum ist das so bzw. was muss ich machen damit das zurückgegebene object ein pear error object ist?

so funktionierts

Code:
<?php
require_once 'PEAR.php';

class myclass extends PEAR
{
   function myfunction()
   {
      return $this->raiseError('error message');
   }
}


$Obj = new myclass();
$res=$Obj->myfunction();
if(PEAR::isError($res)) die($res->getMessage());

?>
und so funktionierts nicht.
Es wird zwar ein Object zurückgegeben aber PEAR::isError erkennt es nicht als solches.
var_dump() des zurückgegeben objektes sagt mir object(PEAR_Error)#Zahl ...

Code:
<?php
require_once 'PEAR.php';

class myclass
{
   function myfunction()
   {
      return PEAR::raiseError('error message');
   }
}


$Obj = new myclass();
$res=$Obj->myfunction();
if(PEAR::isError($res)) die($res->getMessage());

?>
danke!
AliceD ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.08.2005, 10:49  
Gast
 
Beiträge: n/a
Standard

Woher kommt denn ->raiseError(), wenn myclass nicht von PEAR abgeleitet wurde?
Vermutlich wird auch mit
PHP-Code:
if(PEAR::isError($res))
    die(
$res->getMessage()); 
else
    die(
'kein Fehler'); 
nichts angezeigt, dafür aber mit error_reporting(E_ALL); und ini_set('display_errors', true); ein fatal error wegen der fehlenden Methode.
  Mit Zitat antworten
Alt 02.08.2005, 10:58  
Benutzer
 
Registriert seit: 20.07.2005
Beiträge: 34
AliceD
Standard

PEAR wird doch durch require_once 'PEAR.php' eingebunden und somit kann ich mit PEAR::raiseError auch auf diese Methode zugreifen.
AliceD ist offline   Mit Zitat antworten
Alt 02.08.2005, 11:03  
Gast
 
Beiträge: n/a
Standard

oops, stimmt. Den Unterschied ->raise/::raise habe ich garnicht bemerkt.
Dann klappt es übrigens auch bei mir mit php5.1 und der Fehler wird angezeigt.

Allerdings wird in der Methode $this verwendet, was php dazu veranlasst, die Meldung
Zitat:
PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in test.php on line 16
auszugeben; so ist das also wohl nicht gedacht bei PEAR.
  Mit Zitat antworten
Alt 02.08.2005, 11:08  
Gast
 
Beiträge: n/a
Standard

Ich versteh Dich nicht. Du hast oben beschrieben, wie es geht und wie es nicht geht. Was hindert Dich daran, die funktionierende und auch korrekte Variante zu verwenden? Forscherdrang?
  Mit Zitat antworten
Alt 02.08.2005, 11:21  
Benutzer
 
Registriert seit: 20.07.2005
Beiträge: 34
AliceD
Standard

es sind einzig und allein Performence Gründe und mein Wissensdurst ..aber ich werd mir mal PEAR DB ankicken die machen des da auch so
AliceD ist offline   Mit Zitat antworten
Alt 02.08.2005, 11:32  
Gast
 
Beiträge: n/a
Standard

wie gesagt, kann ich den Fehler nicht nachvollziehen. Bei mir wird der Fehler so oder so als solcher erkannt und angezeigt.
  Mit Zitat antworten
Alt 02.08.2005, 11:43  
Benutzer
 
Registriert seit: 20.07.2005
Beiträge: 34
AliceD
Standard

hmm, also ich hab hier php5.0.4 als cgi am laufen, ich werd mir mal die php5.1 daneben legen..
AliceD ist offline   Mit Zitat antworten
Alt 02.08.2005, 12:36  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von AliceD
es sind einzig und allein Performence Gründe ...
Das kann ich verstehen. <ggg> Deshalb verwende ich PEAR DB nicht mehr sondern setze stattdessen eine eigene Klasse ein.
  Mit Zitat antworten
Alt 02.08.2005, 12:58  
Benutzer
 
Registriert seit: 20.07.2005
Beiträge: 34
AliceD
Standard

Zitat:
Zitat von meikel
Deshalb verwende ich PEAR DB nicht mehr sondern setze stattdessen eine eigene Klasse ein.
Jo, PEAR DB ist schon ziemlich Overhead aber leider hab ich noch keine Zeit gefunden eine eigene kleine Abstraktionsklasse zu schreiben, leider. Steht aber auf meiner ToDo Liste recht weit oben

So also ich konnte das mit dem PEAR::raiseError und $this->raiseError auch lösen, es lag einfach nur an nem veralteten PEAR base package

danke
AliceD 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
Größenbeschränkung bei PEAR SOAP Antwort? Anotherone PHP-Fortgeschrittene 1 13.01.2008 20:32
Benutzt ihr PEAR oder andere proffesionelle Bibliotheken? Matthiasnet Off-Topic Diskussionen 3 03.08.2007 23:03
PEAR Paket Services_Weather -> geht Offline, nicht online PsychoEagle PHP Tipps 2007 13 22.12.2006 08:48
PEAR Package installieren Zergling-new PHP Tipps 2006 6 03.01.2006 21:49
Kommerzielles PHP Projekt und PEAR? HStev Off-Topic Diskussionen 1 27.09.2005 14:08
[Erledigt] PEAR bei Domainfactory?? Off-Topic Diskussionen 3 27.07.2005 11:12
[Erledigt] includepathproblem pear blockiert smarty und umgekehrt PHP Tipps 2005 1 08.05.2005 18:46
inclue_path problem mit smarty und pear PHP Tipps 2005 4 21.02.2005 15:44
Pear nachinstallieren PHP Tipps 2005 2 05.01.2005 09:47
[Erledigt] Pear Package Manager Problem ( WebFrontend ) PHP-Fortgeschrittene 0 26.12.2004 16:55
PEAR Installation PHP Tipps 2004-2 14 21.12.2004 16:20
[Erledigt] SOAP/Client.php: PHP Fatal error: Method SOAP_Client::__call PHP-Fortgeschrittene 6 25.11.2004 09:48
[Erledigt] PEAR WebDAV PHP-Fortgeschrittene 0 20.10.2004 15:21
Hilfe bei Pear benötigt PHP Tipps 2004 1 15.09.2004 18:04
pear install **** funzt nicht mrSpok PHP Tipps 2004 3 20.08.2004 10:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
pear::iserror, strict standards: non-static method pear::iserror() should not be called statically, non-static method pear::raiseerror() should not be called statically, strict standards: non-static method pear::iserror(), pear error, pear::iserror(), pear iserror, non-static method pear::iserror(), pear raise error, strict standards: non-static method pear::raiseerror(), pear raiseerror, non-static method pear::raiseerror(), pear iserror message, strict standards: non-static method pear::iserror, iserror() should not be called statically, pear::raiseerror(), pear->raiseerror: pear :: no manager associated with the account :, pear iserror getmessage, \non-static method pear::iserror() should not be called statically\, strict standards: non-static method pear::raiseerror() should not be called statically

Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 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.