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

Webseiten professionell erstellen

Webseiten professionell erstellen 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.02.2003, 14:35:12
Greg G Greg G ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: Hessen
Beiträge: 116
Klasse als Funktionencontainer this::Funktion?

Hallo

Ich bin noch nicht so ganz drin in OO-Programmierung. Wenn ich ein paar Begriffe durcheinanderschmeiße, bitte nicht böse sein.

Ich versuche eine Klasse zu schreiben, die einige Funktionen aus der diskreten Algebra implementiert und kapselt.

Die Klasse wird nicht als Objekt instanziert (es gibt also keinen new Aufruf).

Die Funktionen werden mit MeineKlasse::Funktion(Werte) aufgerufen.
Das klappt auch soweit.

Wenn ich aber die Funktion innerhalb der Klasse aus einer anderen Funktion der Klasse aufrufen möchte, dann geht das auch nur so MeineKlasse::Funktion(Werte), aber nicht irgendwie mit this::Funktion() oder mit $this->Funktion().

Hat da jemand einen Tip, da ich noch nicht so genau weiß, wie ich die Klasse benennen werde.

Beispiel:

PHP-Code:
<?php

$x 
MeineKlasse::FunktionB(3);
echo 
"$xn";

class 
MeineKlasse {
    function 
FunktionA ($par1)
    {
        return(
$par1);
    } 
    function 
FunktionB ($par1)
    {
        
$a MeineKlasse::FunktionA($par1);
        return(
$a);
    } 


?>
Mit Zitat antworten
  #2  
Alt 18.02.2003, 20:24:46
Greg G Greg G ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: Hessen
Beiträge: 116
Ist das Anliegen so ungewöhnlich? Ich hatte gedacht, ich schreib mir halt meine Funktionen-Bibliothek in eine Klasse rein, damit ich später keine Namenskonflikte kriege und notfalls halt nur die Klasse umbenennen muss, und nicht jede einzelne Funktion der Bibliothek.

Wenn das der falsche Weg ist, lasse ich mich gern eines Besseren belehren.

GG
Mit Zitat antworten
  #3  
Alt 18.02.2003, 21:35:08
Ben20
Guest
 
Beiträge: n/a
:: kenn ich von PHP nicht - warum eigentlich nicht mir new() ein Objekt erstellen?
Mit Zitat antworten
  #4  
Alt 19.02.2003, 08:09:49
Greg G Greg G ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: Hessen
Beiträge: 116
Vielen Dank schon mal Ben20

Ich kann ein Objekt erstellen, das würde wahrscheinlich sogar die meisten Probleme lösen. Bisher wollte ich das nicht, weil die Klasse keinerlei Eigenschaften, also keine lokalen Variablen hat und in der Klasse tatsächlich nur statische Funktionen vorkommen (so nennt man die wohl, wenn sie nicht auf Eigenschaften der Klasse zurückgreifen und mit :: aufgerufen werden können).

Der :: Aufruf spielt wohl auch noch eine größere Rolle, wenn man bei einer abgeleiteten Klasse auf gleichnamige Eigenschaften der Elter-Klasse zugreifen will. Dann schreibt man nämlich parent::funktion. Deshalb hat es mich gewundert, dass so etwas wie this:: nicht geht. Ein Aufruf nur mit FunktionA() gibt den Fehler, dass die Funktion nicht deklariert ist.

Falls niemand eine andere Idee hat, z.B. wie ich innerhalb der Klasse einfach an den Namen der Klasse (nicht Name oder Referenz des instanzierten Objekts) kommen kann, dann werde ich wahrscheinlich den Vorschlag verwenden.

GG
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:24:40 Uhr.


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


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