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

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken 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 28.06.2011, 11:52:49
huberg huberg ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 86
Beiträge: 17
OOP autoload

Lerne OOP und habe mit __autoload ein Problem.

Kann Jemand erkennen, was hier fehlerhaft ist? Danke vor ab!

Mit require_once funktionierst . Die Classen Name sind gleich mit Datei-Name +. php

Ich habe eine Parent-class „Artikel“ (siehe unter)

Child-class „Buch“ (siehe unter)
Child-class „DVD“

Ein Index.Datei gespeichert in index.php

Alle Dateien sind im Ordner class abgelegt!

Meine index.datei beginnt mit:
<?php
function __autoload($class)
{
require 'class/'. $class. '.php'; // dies ist Zeile 17
}

$movie = new DVD('5 vor 12', '2 hr 10 min');
$book = new Buch('Buch ',' Object-Oriented Solution for beginners',300);
echo '<p> Das ' . $book->getProductType() . '"'. $book->getTitle() .
'" hat '. $book->getPageCount(). ' Seiten </p>';
.
.
.

------------------------------------------------------------------ Ende index.datei -------------
Fehler-Nachricht:
Warning: require(class/DVD.php) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs\class\index.php on line 17

Fatal error: require() [function.require]: Failed opening required 'class/DVD.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\class\index.php on line 17
-------------------------------------------------------------------------------------------------
index.php ohne _autoload aber mit require_once:

require_once('DVD.php'); // hiermit ist es OK
require_once('Buch.php'); // " "

/* function __autoload($class)
{
require 'class/'. $class. '.php';
}
*/
$book = new Buch('Buch ',' Object-Oriented Solution for beginners',300);
$movie = new DVD('5 vor 12', '2 hr 10 min');
echo '<p> Das ' . $book->getProductType() . '"'. $book->getTitle() .
'" hat '. $book->getPageCount(). ' Seiten </p>';
echo ……..
.
Ergebnis ist richtig:
Das Buch " Object-Oriented Solution for beginners" hat 300 Seiten
Die DVD " 5 vor 12 " die Spielzeit ist: 2 hr 10 min

------------------------------------Parent!---------------------------------- Artikel.php ------
<?php
class Artikel
{
protected $_type;
protected $_title;
public function __construct($type, $title)
{
$this->_type = $type;
$this->_title = $title;
}
public function getProductType()
{
return $this->_type;
}
public function getTitle()
{
return $this->_title;
}
}
----------------------------------Child!---------------------------------------- Buch.php -----
<?php
require_once('Artikel.php');
class Buch extends Artikel
{
protected $_pageCount;
public function __construct($type, $title, $pageCount)
{
parent::__construct($type, $title);
$this->_pageCount = $pageCount;
}
public function getPageCount()
{
return $this->_pageCount;
}
}
----------------------------------------Child!---------------------------------------- DVD.php -----
<?php
require_once('Artikel.php');
class DVD extends Artikel
{
protected $_duration;
public function __construct($title, $duration)
{
parent::__construct($type, $title);
$this->_type = 'DVD';
$this->_title = $title;
$this->_duration = $duration;
}
public function getDuration()
{
return $this->_duration;
}
}
Mit Zitat antworten
  #2  
Alt 28.06.2011, 12:44:19
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: OOP autoload

Hi

hast du den Code kopiert? ansonsten versteh ich nicht das du ihn nicht lesen kannst.
PHP-Code:
require_once('DVD.php'); // hiermit ist es OK WEIL kein PFAD -> 'class/'
require_once('Buch.php'); // " "

/* function __autoload($class)
{
require 'class/'. $class. '.php';//hiermit nicht ok WEIL PFAD -> 'class/'
}
*/ 
Wenn deine Index nicht im Ordner sondern neben ihm liegt sollte das funktionieren.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #3  
Alt 28.06.2011, 21:55:51
huberg huberg ist offline
Anfänger
 
Registriert seit: Jun 2009
Alter: 86
Beiträge: 17
AW: OOP autoload, erledigt

OK Ckaos
Du hast Recht. Index.php nebendran ist die Loesung Danke
Es funktioniert jetzt auch mit autoload
Mit Zitat antworten
Antwort

Stichworte
autoload, erzeugt, fehler, oop


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
autoload funktioniert nicht Leyyin PHP Grundlagen 14 22.06.2010 13:49:03
Autoload für Klassen urvater PHP für Fortgeschrittene und Experten 23 25.03.2009 02:17:36
CodeIgniter Autoload CharelB PHP Entwicklung und Softwaredesign 4 30.11.2008 21:55:29
OOP Area51 PHP für Fortgeschrittene und Experten 34 17.04.2008 17:21:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:01:46 Uhr.


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


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