La risposta breve è: sempre usa un framework. Non provare a scrivere da solo (a meno che non lo fai per l'apprendimento).
La risposta lunga è più complessa.
Dalla mia esperienza personale, ho visto che ci sono situazioni in cui semplicemente non hai scelta, specialmente quando devi lavorare con persone che non hanno familiarità con OOP.
Il mio suggerimento è: specialmente se stai partendo da zero, prova a convincere il tuo amico ad usare CodeIgniter. Dopotutto, non avrà bisogno di essere un guru OOP o MVC per capire quale vista è caricata dal controller x.
Solo se non riesci a convincerlo, e se il progetto è molto semplice, scrivi il tuo mini-framework, ma non provare a implementare un pattern MVC completo. Sarebbe la stessa cosa che usare CodeIgniter, ma al posto dell'originale avresti una brutta copia.
Ecco i miei suggerimenti:
Crea un file "main.php" come singolo punto di accesso al tuo framework, con la dichiarazione di autoloading, l'inizializzazione della sessione ecc.
Crea una directory 'classes' per mantenere tutte le tue logiche separate.
Crea una classe View (la cosa più semplice che puoi fare è includere il file di visualizzazione ed estrarre la matrice di dati da usare all'interno della vista):
<?php
class View {
protected $view_name, $data;
public function __construct($view_name, $data = array()) {
$this->view_name = $view_name;
$this->data = $data;
}
//Displays view content
public function render(){
//Extracts vars to current view scope
extract($this->data);
//Includes contents
include $this->view_name;
}
}
Crea una libreria di convalida di input.
Quindi, all'interno delle tue pagine, includi "main.php" e avrai accesso a tutte le tue classi e visualizzazioni.
<?php include_once 'main.php';
$view = new View('view.php', array('var_name' => 'value'));
$view->render();
Sto scrivendo un framework molto semplice che è costruito più o meno su questo schema. L'ho scritto esattamente per affrontare questo tipo di situazioni. Dai un'occhiata se hai bisogno di ispirazione.