Generazione di pagine da un database
-
23-08-2019 - |
Domanda
Sto cercando aiuto per capire come generare pagine da un database per creare un catalogo di articoli, ciascuno con URL diversi.Tutto quello che riesco a trovare su Google sono prodotti che faranno questo per me o soluzioni complete di e-commerce.Non voglio un carrello della spesa!Solo un inventario.
Inoltre, forse qualcuno potrebbe consigliare la soluzione di accesso semplice preferita/migliore.
Grazie mille per il tuo tempo e per qualsiasi aiuto, suggerimento, commento, soluzione.
Soluzione
Ho appena pubblicato una soluzione approfondita a un'altra domanda questo è strettamente correlato a questa domanda.Lo riposto qui per vostra comodità:
Suggerirei di utilizzare alcuni dei framework MVC (Model, View, Controller) disponibili come KohanaPHP.Essenzialmente è questo.Stai lavorando in un ambiente strettamente orientato agli oggetti.Una semplice pagina in Kohana, creata interamente da una classe, sarebbe simile a questa:
class Home_Controller extends Controller
{
public function index()
{
echo "Hello World";
}
}
Potrai quindi accedere a quella pagina visitando il tuo URL, il nome della classe e il nome del metodo:
http://www.miosito.com/home/ (index() può essere chiamato dopo home/, ma è implicito)
Quando inizi a voler introdurre attività nel database, inizierai a lavorare con un'altra classe chiamata a Modello.Questo conterrà metodi per interagire con il tuo database, come il seguente:
class Users_Model extends Model
{
public function count_users()
{
return $this->db->count_records('users');
}
}
Nota qui che non ho scritto la mia query.Kohana è dotato di un intuitivo Generatore di query.
Quel metodo verrebbe chiamato dal tuo interno Controllore, la prima classe che abbiamo menzionato all'inizio di questa soluzione.Sarebbe simile a questo:
class Home_Controller extends Controller
{
public function index()
{
$usersModel = new Users_Model;
$userCount = $usersModel->count_users();
echo "We have " . $userCount . " users!";
}
}
Alla fine, vorrai layout più complicati, che coinvolgeranno HTML/CSS/Javascript.A questo punto introdurresti il "Visualizzazioni," che sono solo livelli di presentazione.Piuttosto che chiamare echo
O print
dall'interno del Controller, dovresti caricare una vista (una pagina HTML, essenzialmente) e passarle alcune variabili:
class Home_Controller extends Controller
{
public function index()
{
$myView = new View("index");
$usersModel = new Users_Model;
$userCount = $usersModel->count_users();
$myView->userCount = $userCount;
$myView->render(TRUE);
}
}
Che caricherebbe la seguente "Visualizza"
<p>We have <?php print $userCount; ?> users!</p>
Dovrebbe essere sufficiente per iniziare.L'uso dello stile MVC è davvero pulito e molto divertente con cui lavorare.
Altri suggerimenti
C'è un sacco di strumenti là fuori per la generazione di un'interfaccia web intorno a un modello di dati. Trovo Django abbastanza facile da usare. Sulla base della sua popolarità, sono sicuro che Ruby on Rails è un'altra opzione praticabile.