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

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. 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 07.02.2009, 21:58:09
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
Autoload für Klassen

Ich beschäftige mich nun seit ein paar Wochen mit Klassen. Dabei kommt man um eine Funktion wie ein Autoload für Klassen ja eigentlich nicht herum.
Gefunden habe ich folgendes Beispiel.
PHP-Code:
<?php
function __autoload($class_name) {
    require_once 
$class_name '.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2(); 
?>
Laut Beschreibung versucht es die jeweilige Klasse anhand des Namens zu laden.
MyClass1 müsste demnach in der Datei 'MyClass1.php' sein.
Ruft sich diese Funktion nun durch $obj = new MyClass1(); selbst auf oder fehlt mir da noch etwas?
Mit Zitat antworten
  #2  
Alt 07.02.2009, 22:08:50
Benutzerbild von agent47
agent47 agent47 ist offline
Anfänger
 
Registriert seit: Nov 2008
Alter: 35
Beiträge: 106
AW: Autoload für Klassen

wen der interpreter beim ausführe eine solchen scriptes auch eine klasse trifft die noch nicht bekannt ist, wird automatisch die autoload funktion aufgerufen und versucht die klasse nach zu laden, gelingt das wird das script ganz normal weiter verarbeitet, scheitert der versuch wird ein fehler erzeugt
Mit Zitat antworten
  #3  
Alt 07.02.2009, 22:09:11
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Autoload für Klassen

Zitat:
Zitat von urvater Beitrag anzeigen
Ruft sich diese Funktion nun durch $obj = new MyClass1(); selbst auf oder fehlt mir da noch etwas?
da fehlt nichts - durch new class wird die datei class.php geladen.

funktioniert's denn nicht?

cx
Mit Zitat antworten
  #4  
Alt 07.02.2009, 23:10:38
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Autoload für Klassen

Von __autoload halte ich nix!
Das führt zu Sorgen, wenn man weitere "Pakete" einbinden möchte.

http://www.selfphp.de/forum/showpost...35&postcount=2
Mit Zitat antworten
  #5  
Alt 08.02.2009, 10:35:16
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Autoload für Klassen

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Von __autoload halte ich nix!
für "überschaubare" projekte völlig ausreichend...

cx
Mit Zitat antworten
  #6  
Alt 08.02.2009, 11:17:25
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Autoload für Klassen

Danke erst einmal für die Antworten. Ich hatte es selbst noch nicht getestet ob es funktioniert, da meine Dateien zu den Klassen noch keiner gescheiten Namensgebung folgen.
Zur Zeit sind die Klassen, 4-5 Stück, noch recht überschaubar. Allerdings will ich das eine Projekt noch stark ausbauen. Es könnte also am Ende recht groß werden.

Meine eigentlich Frage ob diese automatisch aufgerufen wird ist ja beantwortet.

Den Hinweis von Docu werd ich mir aber trotzdem rein ziehen. Vielleicht kann ich so ja vermeiden später alles wieder umstellen zu müssen.

Danke allen für die Antworten.
Mit Zitat antworten
  #7  
Alt 08.02.2009, 11:25:40
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Autoload für Klassen

mit "überschaubar" habe ich auch die struktur der anwendung gemeint. wenn ich bspw. mit einem frontcontroller arbeite, ist die logik der anwendung überschaubarer, als wenn ich mit autarken klassen (im sinne ihrer ansprechbarkeit von aussen) jongliere.

cx
Mit Zitat antworten
  #8  
Alt 08.02.2009, 12:16:27
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Autoload für Klassen

Dann werd ich mir den Hinweis von Docu wohl noch mehr zu Gemüte ziehen müssen. Das Projekt wird hier ja von mir selbst geschrieben. Die eigentliche Bearbeitung erfolg überwiegend über meinen gewählten Editor selbst.
Frontend stehen nur die Möglichkeiten den DB Inhalt zu füllen, korrigieren oder ggf. zu löschen. Für mich ist es also entscheidend, daß ich beim Schreiben der Scripte nicht den Include vergessen kann oder durch Schreibfehler etc. auf die falsche Datei verweise.
Damit man nicht einen Include vergißt macht es ja auch keinen Sinn immer alle Klassen zu includieren. Ist ja nicht das Gelbe vom Ei, wenn man sie nicht benötigt.

Mein Hauptproblem liegt hierbei eigentlich bei dem Tool, was ich für meine Arbeit schreibe. Es ist eine Mischung aus einer Linksammlung, Abfragesystem und FAQ zu immer wieder kehrenden Problemen, die ich für den Support benötige.
Die Linksammlung ist eine Ansammlung auf "fremde" Abfragesysteme.
Die Abfragen auf meiner Seite beziehen sich auf statische und dynamische Listen, eigene Sammlungen von Meldungen, die ich als XML holen muß, und noch ein paar anderen Daten.
Die FAQ sind immer wieder kehrende Fehler, die auf Fehlern bei der Eingabe der User beruhen und alle paar Wochen gemacht werden. Somit hab ich immer die passende Antwort mit allen dafür benötigten Informationen.
Irgendwie gehört je nach Problem alles zusammen oder zumindest ein Teil der Daten wird auch an anderer Stelle benötigt.

Ich muß halt beim Erstellen dafür sorgen, was meine Kollegen versuchen könnten um an die gewünschte Information zu kommen.

Ich werd wohl noch viel lesen und testen müssen.

Zend, Ajax oder ein CMS kann ich nicht nutzen, da meistens die PHP und MySql Versionen zu veraltet sind und mir zu viele Rechte für die Installation fehlen. Die finanzielle bzw. rechtliche Seite mal aussen vor gelassen.
Mit Zitat antworten
  #9  
Alt 08.02.2009, 12:31:36
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Autoload für Klassen

Zitat:
Zitat von cortex Beitrag anzeigen
mit "überschaubar" habe ich auch die struktur der anwendung gemeint. wenn ich bspw. mit einem frontcontroller arbeite, ist die logik der anwendung überschaubarer, als wenn ich mit autarken klassen (im sinne ihrer ansprechbarkeit von aussen) jongliere.

cx
Kannst du mir das mal erklären?
Tolle Worte, aber der Kern der Aussage erschließt sich mir nicht.


Einfaches Beispiel: Ich möchte fremder Leute Klassen nutzen!
Und das geht z.B. so:
PHP-Code:
require_once('path-to-doctrine/lib/Doctrine.php');
spl_autoload_register(array('Doctrine''autoload'));

require_once(
'path-to-sensei/lib/Sensei.php');
spl_autoload_register(array('Sensei''autoload')); 
Und schon geht nix mehr mit deiner __autoload()..
Mit Zitat antworten
  #10  
Alt 08.02.2009, 13:39:21
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Autoload für Klassen

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Tolle Worte[...]
ruhig brauner... du musst nicht gleich rumäppeln.

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Einfaches Beispiel[...]
sorry, verstehe nicht, worauf du hinaus willst. meinst du das problem unterschiedlicher pfade ?

wenn ja: auch das lässt sich bewerkstelligen, wenn auch mir einigem aufwand: bsp. über eine auswertung der klassennamen und der zuweisung entsprechender pfadangaben.

darauf habe ich allerdings nicht abgezielt - ich sprach von einer "überschaubaren" app. wenn ich tausende fremd-module in höchst unterschiedlichen teilen der app benutze, empfinde ich persönlich das nicht mehr als "überschaubar". dass du das u.u. anders siehst, bleibt davon unberührt.

cx
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
arrays in klassen ohne Initialisierung? Thomas H. PHP Grundlagen 3 08.08.2007 00:47:17
Klassen - Anwendungsgebiete pascala PHP Grundlagen 2 29.03.2007 03:25:53
Klassen einbinden... Zip PHP für Fortgeschrittene und Experten 2 22.10.2006 20:25:40
verebung in klassen waoo PHP für Fortgeschrittene und Experten 3 02.03.2005 15:09:07
Was sind eigendlich Klassen? mad-boy PHP für Fortgeschrittene und Experten 4 16.12.2002 18:07:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:58:57 Uhr.


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


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