Avatar billede jediburn Nybegynder
06. marts 2007 - 07:15 Der er 7 kommentarer

Modificer __autoload

Jeg bruger funktionen __autoload til at hente mine klasser. Men jeg kan ikke få den fikset, så den henter det korrekte mønster.

Mine klasser hedder fx: class.mysql.php, og så hedder min klasse "MySql". Det samme gør min klasse User (class.user.php).

Nu er mit problem bare, at jeg også har en klasse der ser således ud: "class Mail extends User", og så ser filnavnet således ud: "class.user.mail.php".

Med det sidste eksempel, så er min __autoload ikke brugbar. Hvordan skal det ordnes?

function __autoload($class)
{
    if(ctype_alnum($class))
    {
        $filename = $_SERVER['DOCUMENT_ROOT']."/library/class.".$class.".inc";
        if(file_exists($filename))
        {
            require_once($filename);
        }
    }
}
Avatar billede Slettet bruger
06. marts 2007 - 09:04 #1
Nu er der ikke andre end dig som ved at "mail extends user" foer at classen er blevet parset af PHP, saa jeg tror det smarteste ville vaere at omdoebe class.user.mail.php til class.mail.php - du kan alligevel ikke have mere end en classe med det samme navn.
Avatar billede jediburn Nybegynder
06. marts 2007 - 18:37 #2
:( Ville bare være en del smartere, hvis det var lidt tydeligere, at den gjorde brug af User-klassen :(

Men tænkte nok, at det ikke kunne lade sig gøre.
Avatar billede jediburn Nybegynder
06. marts 2007 - 18:51 #3
Nu da jeg har et spørgsmål angående OOP åbent, vil jeg lige høre om folk overhovedet kan anbefale, at jeg fx. laver et internt mailsystem i en php klasse?

Og hvad med et vennesystem(ansøg, slet ven, se venner m.v.) - hvor skal funktionerne placeres og hvilke funktioner skal jeg bruge til venne og mailsystem? Og hvad med fx. blokering af brugere?

Jeg vil bare have lidt forslag til hvordan jeg skal implementere mine fremtidige funktioner.
Avatar billede Slettet bruger
06. marts 2007 - 20:39 #4
Kan kun anbefales at du bruger OO .... måske skulle du også overveje at bruge et framework af en slags!?  Som f.eks. codeigniter, Symfony PHP eller Cakephp
Avatar billede coderdk Praktikant
07. marts 2007 - 00:47 #5
Ja, helt klart OO - Det er (/kan være) med til at gøre koden mere overskuelig, efter min mening ;)
Indkapsling er godt!
Avatar billede jediburn Nybegynder
07. marts 2007 - 07:19 #6
regin: tak. det kigger jeg lige på :D

Hvad med de funktioner som jeg har tænkt mig at implementere. hvor skal de placeres og hvilke funktioner? Det er blot for lige at vide lidt om hvordan andre ville gøre det.
Avatar billede Slettet bruger
07. marts 2007 - 09:11 #7
Selv har jeg i mit eget framework nogle enkelte functioner som bruges bredt - disse har jeg lagt i en fil som hedder /{dir}/functions.php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester