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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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 für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.04.2008, 20:38:09
dark1310 dark1310 ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 8
string aus dem konstruktor zurückliefern

hallo ihr spezialisten,
...ich habe folgendes problem:


php4


class img{

function erstelle_string($value){
//'........'
}

// Konstruktor
function img($value = array()){
$this->erstelle_string(&$value);

return $this = $value;
}
}

print new img(array('src' => '../bildname', .....));


funktioniert :)

------------------------------------------------


php5

Fatal error: Cannot re-assign $this in.....

------------------------------------------------


gibt es in php5 die möglichkeit, den string aus dem konstruktor zurückliefern zu lassen????

kann mir jemand einen tip geben?


mfg dark
Mit Zitat antworten
  #2  
Alt 10.04.2008, 20:48:31
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: string aus dem konstruktor zurückliefern

Verwende in der Zeile mal anstatt
PHP-Code:
$this -> varName 
dies hier:
PHP-Code:
self::$varName 
Hat bei mir auch geholfen, wenn ich diesen Fehler erhalte.

Allerdings funktioniert das Script dann in PHP 4 nicht mehr.

Geändert von Area51 (10.04.2008 um 21:00:31 Uhr)
Mit Zitat antworten
  #3  
Alt 10.04.2008, 20:58:53
dark1310 dark1310 ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 8
AW: string aus dem konstruktor zurückliefern

danke für die antwort, aber verstanden hab ich es nicht :(

$this -> varName
steht bei mir nirgends und

return self:$value;
beantwortet php mit:

Parse error: syntax error, unexpected ':' in ...

hilft du mir weiter?
mfg dark
Mit Zitat antworten
  #4  
Alt 10.04.2008, 21:00:59
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: string aus dem konstruktor zurückliefern

Nicht self:$value, sondern self::$value ;) (zwei Doppelpunkte)

Geändert von Area51 (10.04.2008 um 21:01:17 Uhr)
Mit Zitat antworten
  #5  
Alt 10.04.2008, 21:09:15
dark1310 dark1310 ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 8
AW: string aus dem konstruktor zurückliefern

ich depp ... sorry (wer lesen kann ist klar im vorteil...)


mein versuch:
return self::erstelle_string(&$value);

ergebnis:
Catchable fatal error: Object of class img could not be converted to string


habs wohl immer noch nicht verstanden.....
Mit Zitat antworten
  #6  
Alt 10.04.2008, 21:13:43
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: string aus dem konstruktor zurückliefern

Kannst du bitte die komplette Klasse posten? Hier hast du wohl eine falshche FUnktion zum umwandeln verwendet.
Mit Zitat antworten
  #7  
Alt 10.04.2008, 21:34:47
dark1310 dark1310 ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 8
AW: string aus dem konstruktor zurückliefern

die class in php4 ist sehr umfangreich...
hab schnell was neues geschrieben, aber die endproblematik bleibt.


class img{

function erstelle_string($value){
$array = $value;
$value = '<img';
foreach($array as $key => $content){
// $this->content_check($content, $key);
$value .= ' '.$key.'="'.$content.'"';
}
$value .= ' />';
}

// Konstruktor
function img($value = array()){
$this->erstelle_string(&$value);
return $value;
}
}

print new img(array('src' => '../bildname'));


ziel der class ist es, angaben vor der ausgabe zu prüfen/ändern und dann das ergebnis als string zurückliefern.

leider nutzt es mir nichts, aus dem konstruktor heraus zu printen......


mfg dark

Geändert von dark1310 (10.04.2008 um 21:37:15 Uhr)
Mit Zitat antworten
  #8  
Alt 10.04.2008, 22:12:24
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: string aus dem konstruktor zurückliefern

Hi!

Eigentlich arbeitet man in Klassen nicht mit Rückgabewerten, sondern mit Objekten. Schau mal so könnte es aussehen:

PHP-Code:
<?php
  
class img
  
{
    var 
$string '';

    
// Konstruktor
    
function img $value = array() )
    {
      
$this->erstelle_string $value );
    }

    function 
erstelle_string $value )
    {
      
$this->string '<img';

      foreach ( 
$value as $key => $content )
      {
        
// $this->content_check($content, $key);
        
$this->string .= ' ' $key '="' $content '"';
      }

      
$this->string .= ' />';
    }
  }

  
$ar = array ( 'src' => '../bildname' );

  
$img = new img $ar );

  print 
$img->string;
?>
PS: Bitte benutz die Forums-Tags, wenn Du Code postest.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #9  
Alt 10.04.2008, 22:13:49
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: string aus dem konstruktor zurückliefern

vielleicht ist es ja so, dass man den rückgabewert des konstruktors nicht verändern kann?
Mit Zitat antworten
  #10  
Alt 10.04.2008, 22:20:58
dark1310 dark1310 ist offline
Anfänger
 
Registriert seit: Apr 2008
Beiträge: 8
AW: string aus dem konstruktor zurückliefern

viele dank für deine mühe!!!

aus einem anderem forum habe ich folgenden tipp bekommen:
function __toString()


PHP-Code:
class {
  protected 
$elements = array();
  public function 
__construct($p = array()) {
    if (!
is_array($p)) {
      throw new 
Exception('parameter must be an array');
    }
    
$this->elements $p;
  }
  
  public function 
__toString() {
    return 
'*** ' date('H:i:s '). join('-'$this->elements) . ' ***';
  }
}


echo new 
A(array(1,2,3,4,5)); 
===============================================

umgebaut läuft es auch:

PHP-Code:
class img{
  
  var 
$value '';
  
  function 
value_check($value$key){
      
$value root_img.$value;
      }
  
  function 
__construct($array = array()) {
    
$this->value '<img';
    foreach(
$array as $key => $content){
        
$this->value_check(&$content, &$key);
        
$this->value .= ' '.$key.'="'.$content.'"';
        }
    
$this->value .= ' />';
  }
  
  function 
__toString() {
    return 
$this->value;
  }
}
print new 
img(array('src' => 'bild.gif')); 

nochmals vielen dank, jetzt kann ich loslegen...

mfg dark
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
Nächste Hilfe gesucht (in Xml suchen) Piwi999 PHP Grundlagen 4 25.03.2008 13:50:15
Wort mehrmals im String suchen rsciw PHP Grundlagen 7 18.10.2006 14:28:16
Wert im String suchen... DanielEXQ PHP für Fortgeschrittene und Experten 8 26.03.2003 10:10:23
HTML und PHP in String korrekt ausgeben/verarbeiten LukeDogg PHP für Fortgeschrittene und Experten 5 22.03.2003 13:11:47
String in Array umwandeln.... DeMaephis PHP für Fortgeschrittene und Experten 7 19.05.2002 19:34:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:50:50 Uhr.


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


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