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 Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.11.2008, 14:34:06
CharelB CharelB ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 33
Beiträge: 5
CodeIgniter Autoload

Guten Tag,


Meine frage is die folgende , im moment sitze ich an einer applikation die mir das laden von Classes vereinfachen soll... nun ich habe mich vor geraumer zeit mit frameworks beschäftigt ( u.a : Zend & CodeIgniter ) ... Ich habe etwas in CodeIgniter gesehn was mir sehr gefiel
man konnte in der config einstellen beim Laden Der Applikation dass man die verschiedenen Bibliotheken laden konnte in CodeIgniter kann man das per Array machen.

z.b
PHP-Code:
$autoload['libraries'] = array('database'); 
und man konnte sie nachher per :

PHP-Code:
$this->database->query('SELECT * FROM test'); 
ansprechen


Hat einer eine ahnung wie ich das bei mir umsetzen/realisieren könnte


Kind regards CharelB


Bemerkung: Ich wollte für diese Applikation kein CodeIgniter benutzen deshalb wollte ich mal hier nachfragen ob jemand da ne Idee hat wie man es realisieren könnte
Mit Zitat antworten
  #2  
Alt 29.11.2008, 14:55:40
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: CodeIgniter Autoload

Ja klar!!

Verwende SPL Autoload

Vorschlag:
Halte dich an das Zend / Pear Benennungsschema
Also, die Klasse Bla_Bli_Blub liegt dann in der Datei ./lib/Bla/Bli/Blub.php
In ./lib kommt folgende Datei: LibAutoload.php
PHP-Code:
class LibAutoload
{
  public static function 
autoload($name)
  {
    
$dirname  dirname(__FILE__);
    
$fileName str_replace('_',DIRECTORY_SEPARATOR,$name).'.php';
    
$file     $dirname.DIRECTORY_SEPARATOR.$fileName;
    if (
is_readable($file)) require_once $file;
  }

  public static function 
register()
  {
    
spl_autoload_register(array(__class__,'autoload'));
  }
}

LibAutoload::register(); // direkt einbinden 
In der index.php o.ä. machst du dann nur require_once "./lib/LibAutoload.php"; und ab dem Augenblick übernimmt der SPL Autoloader das Nachladen der benötigten Klassen.

Geändert von DokuLeseHemmung (29.11.2008 um 14:59:35 Uhr)
Mit Zitat antworten
  #3  
Alt 29.11.2008, 15:32:59
CharelB CharelB ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 33
Beiträge: 5
AW: CodeIgniter Autoload

Guten Tag:


kann ich die wie in meinem beispiel auch als array laden?


Kind regards - Charel B

Geändert von CharelB (29.11.2008 um 15:36:32 Uhr)
Mit Zitat antworten
  #4  
Alt 29.11.2008, 15:57:54
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: CodeIgniter Autoload

Klar, du kannst alles machen!
Aber was willst du denn mit deinem Array überhaupt erreichen, was der Autoloader nicht viel transparenter erledigen würde?
Das habe ich scheinbar noch nicht verstanden .......
Bedenke: Globale Variablen sind böse!

PS:
Aha, mir kommt da eine Ahnung......
Suchst du etwa das
Registry Design Pattern
(Abstract) Factory Design Pattern
oder gar
Dependency Injection Design Pattern

Google gibt gern Auskunft.
Mit Zitat antworten
  #5  
Alt 30.11.2008, 21:55:29
Opendix Opendix ist offline
Senior Member
 
Registriert seit: Oct 2004
Ort: Werdenberg / Schweiz
Alter: 35
Beiträge: 1.476
AW: CodeIgniter Autoload

Einfachstes realisieren über die __autoload()-Funktion von PHP!

PHP-Code:

//Wird aufgerufen, sobald PHP eine Klasse nicht finden Kann
//Parameter ist der Name der gesuchten Klasse
function __autoload($classname)
{
    
$classes = array('klasse1' => 'class1.php'usw.);
    if(isset(
$classes[$classname]))
    {
        die(
'Klasse nicht gefunden');
    }
    include_once(
$classes[$classname]);

__________________
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
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
OOP Area51 PHP für Fortgeschrittene und Experten 34 17.04.2008 17:21:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:32:03 Uhr.


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


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