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 Grundlagen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.10.2005, 20:24:20
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 37
Beiträge: 1.476
Zugriff auf Objekt

Also hier erstmmal mein Code:

PHP-Code:
<?php
include('Smarty/Smarty.class.php');

$smarty     = new smarty;
$opendix     = new opendix;

class 
functions 
{
    public function 
output_var($var$durch)
    {
        
$smarty -> assign($var$durch);
    }    
}

class 
opendix 
{
    
functions::output_var('test','test');
}

?>
nun das bicht mit einem fehler ab:
...Call to a member function assign() on a non-object...

das scheint so nicht zu gehen, und zwar kennt er das objekt $smarty in der klasse functions nicht, wie krieg ich das nun da rein?
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
  #2  
Alt 26.10.2005, 21:34:01
dirter dirter ist offline
Anfänger
 
Registriert seit: May 2003
Beiträge: 94
AW: Zugriff auf Objekt

ich weiß es nicht genau, aber schreib mal in deine funktion global $smarty;
Mit Zitat antworten
  #3  
Alt 26.10.2005, 22:22:30
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
AW: Zugriff auf Objekt

Zitat:
Zitat von Opendix
Also hier erstmmal mein Code:

das scheint so nicht zu gehen, und zwar kennt er das objekt $smarty in der klasse functions nicht,
Korrekt erkannt, daß der Geltungsbereich von PHP-Variablen auch für Deine Scripte zutrifft.

Zitat:
wie krieg ich das nun da rein?
Indem man dem Constructor die Referenz auf die Instanz übergibt.

PHP-Code:
$smarty     = new smarty;
$opendix     = new opendix(&$smarty);

class 
opendix
{
  
$smarty false;
  function 
__construct($smarty false)
  {
    if (
$smarty !== false)
      
$this->smarty $smarty;
  }

  function 
tu_was($var)
  {
    return 
$this->smarty->mach_was($var);
  }
}

$opendix->tu_was('abc'); 
Sowas:
PHP-Code:
class opendix 
{
    
functions::output_var('test','test');

ist Unfug und müßte einen Syntaxfehler anzeigen.

Außerdem ist functions offenbar keine objektorientierte Klasse sondern nur eine Funktionssammlung.
Mit Zitat antworten
  #4  
Alt 26.10.2005, 22:53:52
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 37
Beiträge: 1.476
AW: Zugriff auf Objekt

erstmal danke für die antworten... und korrekt erkannt, class funtions ist nur eine funktionssammlung :)

das global in der funktion war die Lösung...
und @meikel, du hast vollkommen recht, dass functions::output_var('test','test'); an dieser Position sinnlos erscheint, da hab ich ja die funktion drumrum vergessen (bzw. den konstuktor...)

auf jedenfall danke euch beiden ;)
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
  #5  
Alt 26.10.2005, 23:29:24
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Zugriff auf Objekt

Zitat:
das global in der funktion war die Lösung...
global zu benutzen ist dreckig und immer zu vermeiden, unter keinen umständen aber als lösung zu bezeichnen.
Mit Zitat antworten
  #6  
Alt 27.10.2005, 00:07:03
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 42
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Zugriff auf Objekt

Aber vielleicht eine provisorische Lösung.

Wie aber würdest Du es machen?
__________________
Gruß |Coding

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

www.qozido.de
Mit Zitat antworten
  #7  
Alt 27.10.2005, 09:34:54
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Zugriff auf Objekt

Zitat:
Zitat von |Coding
Aber vielleicht eine provisorische Lösung.
ein provisorium ist keine lösung.
Zitat:
Zitat von |Coding
Wie aber würdest Du es machen?
ich würde nicht nur, sondern ich mache es so wie meikel. ich übergebe im konstruktor die instanzen der klassen, die außerhalb der klasse bestehen und die ich innerhalb einer klasse benutzen möchte.
dies ist in meinem fall nur nicht smarty, da sich meine klassen (bisher) nicht um ein- und ausgabe gekümmert haben.
Mit Zitat antworten
  #8  
Alt 27.10.2005, 11:45:43
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 37
Beiträge: 1.476
AW: Zugriff auf Objekt

aber die klasse functions ist nur eine funktionssammlung und wird nie instanziert, somit hats da auch kein konstruktor, dann müsste ich ja jeder funktion die referenz auf das andere Objekt mitgeben!
oder die funktionen alle aus der klasse raus nehmen...
__________________
Opendix lehnt jegliche Haftung für evtl. vorhandene Fehler in der Grammatik sowie der Satzstellung ab! Bitte wenden Sie sich an die Tastatur!

Betatester gesucht:
Skiclub Gams / CEVI Grabs
Mit Zitat antworten
  #9  
Alt 27.10.2005, 12:11:21
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 42
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Zugriff auf Objekt

Zitat:
Zitat von feuervogel
ein provisorium ist keine lösung.
Das ist Ansichtssache.
__________________
Gruß |Coding

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

www.qozido.de
Mit Zitat antworten
  #10  
Alt 27.10.2005, 12:45:40
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 76
Beiträge: 4.001
AW: Zugriff auf Objekt

Zitat:
Zitat von Opendix
aber die klasse functions ist nur eine funktionssammlung und wird nie instanziert,
Und genau das ist ja falsch.

Du verwendest 3 Klassen, die sich allesamt untereinander nicht kennen. Wie soll das funktionieren? Jede Klasse benutzt ihren eigenen Namensraum.
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
problem mit zugriff auf ein mit PHP erstelltes verzeichniss unworldly PHP für Fortgeschrittene und Experten 9 31.03.2004 19:55:24
php mysql root zugriff Silencer PHP für Fortgeschrittene und Experten 6 23.12.2002 14:10:59
.txt datei vor zugriff schützen! marley2601 PHP für Fortgeschrittene und Experten 3 28.09.2002 15:49:31
Zugriff auf andere Verzeichnisse verhindern. Ben20 PHP für Fortgeschrittene und Experten 4 06.08.2002 10:55:34
PHP Zugriff auf Lotus Notes DB über ODBC Robert PHP für Fortgeschrittene und Experten 3 12.07.2002 17:04:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:43:29 Uhr.


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


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