Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    OOP caricare classe automaticamente

    ho questa difficoltà:

    chiamo il file page.php

    all'interno c'è questo codice:

    Codice PHP:
    class my_class extends global_class
    {
        public function 
    __construct(){
            
    parent::__construct();
        }

    ottengo giustamente un FATAL ERROR perchè non ho caricato la classe global_class.
    Come posso fare per farla caricare automaticamente? Non vorrei mettere un include...
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Dai uno sguardo alla caratteristica dell'autoload, poi: perchè non vuoi mettere l'include? C'è una ragione specifica?

  3. #3

  4. #4
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    Originariamente inviato da daniele_dll
    http://php.net/manual/en/function.sp...d-register.php
    ma dove dovrei dichiarare spl_autoload_register ?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    Originariamente inviato da eiyen
    perchè non vuoi mettere l'include? C'è una ragione specifica?
    perchè vorrei evitare di inserire codice ridondante in ogni nuovo file che creo.

    Cioè vi spiego meglio: io ho già un file di autoloader che si occupa di istanziare tutte le classi di cui ho bisogno e che devo estendere.
    Tuttavia ci sono dei casi in cui ho la necessità di estendere classi che mi servono solo in alcuni casi specifici e vorrei evitare di portarmele dietro quando non ne ho bisogno.

    Percui necessito di un metodo, che dovrebbe essere nell'autoloader (secondo me) che faccia una cosa del genere:
    se estendo una classe che non ho caricato allora caricala automaticamente.

    non so se sono stato spiegato
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  6. #6
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    up
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  7. #7
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258
    Se ho capito quello che ti serve
    include_once()

    E' leggermente più lento di include però

  8. #8
    eh?



    questa è la prima volta che lo sento

    concettualmente non ha senso ... include_once permette l'inclusione di quel dato file che si passa 1 sola volta, il che significa che NON puoi includere il file altre volte, quindi come fai a stabilire se è più lento o veloce di include?

    inoltre la differenze, in termini di operazioni, è microscopica non so se l'elenco dei file inclusi è implementato come hashtable o come lista, in quanto:
    - se è come lista fondamentalmente il codice C è qualcosa tipo if (hashtable_exists(hashtablet_get_hash(nomefile)) == true) { return ...; }
    - se è come una lista, questa va ciclata, ma comunque la differenza in termini di tempo di esecuzione rimane assolutamente tendente allo zero, tranne se hai centinaia di file inclusi contemporaneamente ... ma in quel caso rivedrei piuttosto la struttura del tuo applicativo

    il tutto senza contare che sia include_once sia require_once fanno 2 cose ben distinte e separate da include e require in quanto vanno usati normalmente con del codice che non deve essere assolutamente reincluso:
    - una classe non la devi MAI reincludere
    - un template fatto con codice php potresti doverlo reincludere

    sono fisicamente situazioni differenti

  9. #9
    Originariamente inviato da gasmor
    ma dove dovrei dichiarare spl_autoload_register ?
    in testa allo script... questa è la soluzione al tuo problema...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,258
    Originariamente inviato da daniele_dll
    eh?



    questa è la prima volta che lo sento
    Ripeto per sentito dire(letto), non uso più il PHP da tempo e non ho mai testato.
    Usavo require_once per includere le classi.
    Sul motivo della lentezza, non so, è una ricerca in memoria.
    Il resto del discorso sul require non capisco perché lo tiri fuori.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.