Ciao a tutti
sto provado, per motivi di studio, a fare un'implementazione semplice del paradigma mvc (so che esistono zend framework, ecc...), volevo sapere se sono sulla strada giusta

il progetto sarà composto dalle seguente cartelle:
dir principale: nome_progetto
sottodirectory:
bean
action
dao
css
js
nella directory principale ci saranno tutte le view

Supponendo di vole implementare una funzionalità che permetta di salvare i dati di una form di registrazione, le classi che dovrei creare sarebbero

View: signup_view.php
Controller: action/signup_action.php
Model: bean/signup_bean.php
Dao: dao/signup_dao.php

La servlet istanzia un model (signupi_bean.php) e chiama la classe (signup_dao.php) che si occuperà di salvare i dati sul db tramite un metodo save_signup.php
I metodi in comune, tipo la connessione al db vengono messi in una classe e tutti i dao estenderanno quella classe

Riassumendo:
View -> chiama la Servlet -> istanzia e popola il Model
istanzia il Dao e chiama il metodo che interagiraà con il db
ritorna ad una view

In particolare vorrei che mi controllasse la correttezza della classe: signup_action.php

Vediamo il codice
db_config.php
Codice PHP:
<?php 
// web

$mysqli = new mysqli($mysql_server$mysql_user$mysql_password$db_name);

if(
mysqli_connect_errno()) {
    echo 
"Connection Failed: " mysqli_connect_errno();
    exit();
}
?>
signup_view.php
Una form in html che raccoglie i campi: nome, cognome, email

signup_bean.php
Codice PHP:
<?
class utente_bean
{
    private 
$id;
    private 
$email;
    private 
$cognome;
    private 
$nome;

    
//elenco di tutti i metodi get e set
    
function get_cognome()    {
        return 
$this->cognome
    }
    
    function 
set_cognome($cognome)    {
        return 
$this->cognome $cognome
    }
    
    function 
get_nome()    {
        return 
$this->nome
    }    
    
    function 
set_nome($nome)    {
        return 
$this->nome $nome
    }
    
    
ecc..

?>
signup_dao.php
Codice PHP:
<?
class signup_dao {
    var 
$conn;

    function 
signup_dao(&$conn) {
        
$this->conn =& $conn;
    }

    function 
save(&$signup_bean) {
        if (
$signup_bean->id == 0) {
            
$this->insert($signup_bean);
        } else {
            
$this->update($signup_bean);
        }
    }

    function 
delete(&$signup_bean) {
    }

    function 
insert(&$signup_bean) {
        
#generate id
        #insert record into db
        #set id on signup_bean
        
$query "INSERT INTO utente (nome,cognome,email)
                VALUES (?, ?, ?)"
;

        if (
$stmt $mysqli->prepare($query)) {

            
$stmt->bind_param("sss"$signup_bean-get_nome(), $signup_bean-get_cognome(), $signup_bean-get_email());

            
$stmt -> execute();

            
$stmt -> close();
        }
    }

    function 
update(&$signup_bean) {

    }
}
?>
signup_action.php
Codice PHP:
<?php

require_once("../db_config.php");
require_once(
'../signup_bean.php');
require_once(
'../signup_dao.php');

$nome $_POST['nome'];
$cognome $_POST['cognome'];
$email $_POST['email'];

$signup_bean = new signup_bean();
$signup_bean>set_nome(nome);
$signup_bean>set_cognome($cognome);
$signup_bean>set_email($email);

$signup_bean = new signup_dao($mysqli);
$signup_dao>save($signup_bean);
$mysqli->close();
    
$message "Utente registrato";
$_SESSION['messaggio'] = $message;

header('Location: ../index.php?page=msg');



?>
Che ne dite?