Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    programmare siti usando moduli

    qualcuno può dirmi dove posso imparare a programmare siti che utilizzano i moduli? premetto che conosco già php, potrei provarci da solo ma non conosco il corretto funzionamento dei moduli..
    quindi se qualcuno è disposto a farmi una breve spiegazione o linkarmi qualche tutorial attinente, gli sarei molto grato
    grazie
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  2. #2
    Che io sappia i moduli non sono una proprietà del linguaggio php. Forse tu ti riferisci ai Content Management System tipo PHPNuke, ma in quel caso ognuno gestisce i moduli in maniera diversa.
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

  3. #3
    phpnuke fa assolutamente skifo

    cmq c'è un'apposita discussione sui CMS
    c'ho scritto pure una pillola su una parte dell'argomento

  4. #4
    esatto cio che chiedo è di imparare a sfruttare gli url del tipo index.php?page=about

    però non chiedo un cms già fatto come si discute nell'apposito thread che ho già letto
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  5. #5
    Originariamente inviato da wastzzz
    esatto cio che chiedo è di imparare a sfruttare gli url del tipo index.php?page=about

    però non chiedo un cms già fatto come si discute nell'apposito thread che ho già letto

    sezione guide base, freephp


  6. #6
    ma dai
    la base la so è il sistema corretto che non lo conosco bene.

    index.php?page=about.php

    stando ai miei calcoli si puo fare in due modi

    1.
    codice:
    $page = $_get('page');
    include ($page & ".php");
    2.
    andare a prendere il contenuto del modulo di nome "about" in un database e stamparlo nella cella centrale.

    tutto ciò che chiedo è un esempio abbastanza complesso del 2° metodo perchè devo studiarlo :\
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  7. #7
    eheheh se cerchi sul forum trovi svariati post a riguardo :9

    cmq si basa tutto su un principio semplice...tramite url ti deve venir passato un modulo da caricare ed avviare...per maggiore sicurezza, quando devo fare le cose modulari "veloci" faccio una struttura abbastanza semplice...ovvero

    metto tutti i file in una data directory, verifico che il modulo richiesto con il prefisso e suffisso, aggiunto alla directory nella quale sono presenti i moduli e verifico se quella dir si riferisce a quella... (lo so sembra ostrogoto...faccio un esemoio)

    se hai tutti i moduli dentro la cartella modules nella root del sito...e io passo nell'url

    index.php?page=../index.php

    scoppierebbe tutto

    perché non verrebbe richiamato
    modules/index.php ma modules/../index.php che a sua volta lo richiamerebbe a vita dato che cercando il parametro page partirebbe di nuovo il load del modulo e cosi via...

    quindi il check sulla dir è d'obbligo...inoltre ti consiglio di mettere suffisso e prefisso cosi non possono richiamare tutti i file che vogliono ma solo file che hanno una data nomenclatura

    ad es il moduli li potresti chiamare

    module.NOME.php



    e un'ultima cosa...non mettere "direttamente" il codice nel modulo, ovvero quando requiri il modulo...il modulo non deve contenere direttamente il codice ma una funzione che richiamata fa il tutto

    ovvero...dal codice dell'index fai...

    codice:
    .
    .
    .
    require_once($module_path);
    $content = module_main(....PARAMETRI...);
    .
    .
    .
    e nel modulo metti

    codice:
    <?php
    .
    .
    .
    function module_main(....PARAMETRI....) {
      .
      .
      .
      return $content;
    }
    ?>
    e nell'index stampi a video $content, in questo modo hai un po di sicurezza e non possono richiamare direttamente i moduli e quindi eviti tanti rischi e problemi

  8. #8
    grazie

    però ho ancora qualcosa di non chiaro nella mia testa frastornata..
    ti chiedo troppo se ti prego di farmi un esempio di codice corto corto? ^^
    tralasciando la sicurezza, solo il principio di base!
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  9. #9
    mmmmmmm

    te lo faccio (quasi) completo
    e lo commento ^^

    codice:
    <?php
    
    // Definisco la posizione dei moduli
    define('MODULE_PATH', './modules/');
    
    .
    .
    .
    
    // Verifica se è stato passato un modulo, se no ne
    // imposta uno di default. Il tutto lo fa usando
    // l'operatore ternario. Di default viene impostato
    // il modulo HOME
    $_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 'home';
    
    // Costruisce la path del modulo
    $module_path = MODULE_PATH . 'module.' . $_GET['page'] . '.php';
    
    // Verifica se il modulo esiste
    if (!file_exists($module_path)) {
      
      $content = "Il modulo {$_GET['page']} non esiste!";
      
    } else {
      
      require_once($module_path);
      $content = module_main();
      
    }
    
    echo "...STAMPO A VIDEO L'HEADER... [quindi il titolo, i css, l'intestazione della pagina html e cosi via]";
    echo $content;
    echo "...STAMPO A VIDEO IL FOOTER...";
    
    ?>
    questa di seguito è una struttura, SCARNA E BASILARE, di come realizzare una struttura modulare

    se usi gli oggetti li devi passare a module main, se non ne fai uso allora niente

    ricordati che stampa TUTTO la pagina principale quindi è importanto che non usi MAI echo, bensì usi una variabile chiamata, ad esempio, $content nel quale accodi i dati invece di usare echo
    in pratica invece di fare

    echo "testo";

    fai

    $content .= "testo";

    e dentro module main fai ritornare questo valore

    per una struttura leggermente più avanzata, fai fare il controllo della posizione del file e fai ritornare un array con più valori...come ad esempio, oltre al contenuto, il nome del modulo ed il titolo del modulo...ad esempio (questo sempre dentro module_main)

    return array('content' => $content, 'name' => 'utenti', 'title' => 'Gestione Utenti');

    Personalmente preferisco usare gli oggetti ma comunque questa struttura è già abbastanza flessibile

    poi se vuoi un consiglio usa un template engine per gestire i vari contenuti...infatti potresti volere stampare dei blocchi con contenuto dinamico ed in quel caso potresti fare una struttura simile ai moduli...che non farà altro che ritornarti il contenuto ed il titolo del blocco che vai ad impaginare...solo che per la stampa diventa più problematico per questo ti consigliavo un templat eengine, anche basilare che fa uso di eval. C'è un articolo sull'argomento su freephp.html.it vai a dare un occhio

    sciauz

  10. #10
    grazie tante
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.