Utilizzo di PHP senza la combinazione della logica di presentazione

0

Sto concettualmente progettando un sito web / un'applicazione e cercando di trovare la giusta separazione delle preoccupazioni.

Le tecnologie di base su cui mi sto ambientando sono: MySQL, PHP (Laravel), HTML / JS (jQuery). Sono passati alcuni anni da quando ho scritto PHP, e da allora mi sono molto abituato agli approcci MVC e MVVM.

Vorrei stare lontano dall'usare PHP come motore di template. La ragione di ciò è che voglio mantenere la presentazione esclusivamente su codice JS e HTML, senza che nessuno di questi si mescoli con il codice lato server. Per raggiungere questo obiettivo, il mio pensiero è di usare PHP per creare servizi, quindi chiamare quei servizi da JS / AJAX sulle pagine.

Per quanto posso dire, questo approccio mi permetterebbe di mantenere PHP nella gestione dei dati e il client gestirà tutta la logica e la presentazione.

La mia preoccupazione principale è che ho difficoltà a trovare risorse che descrivano approcci simili usati nel mondo reale. Quasi ogni singola istanza che riesco a trovare su PHP è stata implementata come motore di template, lasciando HTML e dati nelle pagine quando vengono inviati dal server.

Ci sono evidenti difetti nel mio approccio che mi sono persi?

Sono completamente aperto a cambiare il mio modo di pensare su questo - non è stato ancora scritto un codice, quindi l'architettura è mia per giocare con:)

Grazie!

    
posta Askanison4 30.07.2015 - 11:21
fonte

2 risposte

1

Il motivo per cui probabilmente non stai trovando questi esempi è perché ciò significherebbe implementare un sistema di template completo in PHP, che è ben oltre lo scopo di molte esercitazioni.

Un buon motore di template non mescola PHP alla vista, ma nelle tue visualizzazioni ci sarà sempre una logica vincolante. Ci sono molti framework di template là fuori e ci sono persino framework che forniscono gli approcci MVC in modo che tu possa avere più fortuna a guardarlo.

Nel mio ultimo progetto ho usato Symfony così questo è il primo che viene in mente. Il motore di template standard per Symfony è Twig , che è disponibile anche come framework di template autonomo. (Non sono affiliato con Symfony o Twig in alcun modo, è solo l'ultimo framework che ho usato per lo sviluppo MVC basato su PHP)

    
risposta data 30.07.2015 - 11:36
fonte
1

Il tuo approccio è molto diverso da quello della maggior parte delle applicazioni PHP, ovviamente un motore di template lega una logica di visualizzazione, la maggior parte dei programmatori preferisce scrivere questa logica in PHP stesso. Limitare PHP a creare servizi / API per manipolare solo Data è una buona idea, anzi. Puoi prendere in considerazione link . Credo che potresti usarlo per scrivere tutta la logica di presentazione, che si collega ulteriormente con i servizi che svilupperai in PHP. Ti piacerebbe andare in questo modo. Ti aiuta a identificare chiaramente la logica di business con la logica di presentazione e rende il software più leggibile e mantenibile per futuri miglioramenti.

    
risposta data 31.07.2015 - 11:05
fonte