Ciao a tutti,

Eccomi qui, con il 1000 post dall'iscrizione in questo forum.
Colgo l'occasione di ringraziare alcune persone che mi hanno aiutato fino ad oggi, permettendomi di intraprendere questo bruttissimo e bellissimo lavoro.
Sicuramente non eccello come programmatore come standard, ma la fortuna mi ha fatto essere presente al momento giusto nel posto giusto, potendomi così aggiudicare in questo settore.
In particolare voglio ringraziare :
Al_katraz984
Santino83_02
Alhazred
satifal (anche se un po burbero nelle risposte scherzo)

e sicuramente tutte le altre persone che mi sto dimenticando...

Tornando al problema, io mi sto cimentando nel pattern MVC.
Per inziare ad avvicinarmi ho cercato un progettino scheletro già costruito che potesse aiutarmi a capire la logica... e ho trovato questo :

http://www.php-login.net/

Mi pare un progettino ben strutturato e anche relativamente semplice da comprendere (A voi giudizi positivi o negativi in base alle vs. esperienze)

Allora...
Sto modificando l'entità login (anche se avrei preferito esistesse un'entità $user ma va be poco cambia).
Ho un metodo nel controller register() il quale viene richiamato quando l'utente amministratore preme nel menu la funzione per registrare un nuovo utente
Codice PHP:
class LoginModel
{
    function 
register()
    {
        
$shop_model $this->loadModel('shop');
        
$this->view->Shops $shop_model->getShops();
        
$this->view->render('login/register');
    }

Inizialmente questo metodo faceva semplicemente il render della view.
Ora io ho costruito controller/model/view di una mia entità "Shop".
In particolare ho la necessità di istanziare $shop_model, perchè mi restituisca la lista degli "shop" presenti nel db.

Prima domanda.
E' corretto che il metodo register LoginModel istanzi un altro Model per accedere ai suoi metodi
(Vedi caso : $shop_model = $this->loadModel('shop'); $this->view->Shops = $shop_model->getShops()?

Poi la seconda cosa che non ho capito ma che ho intuito vedendo come altri metodi passano le variabili alla view è il seguente :
$this->view->Shops = $shop_model->getShops();

Qui in particolare non riesco a capire perchè utilizza $this-> per richiamare la view

e poi come cavolo fa con questo $this->view->Shops a passare la variabile, è come se creasse nella classe view una propietà al volo.

Il tutto comunque funziona, ma proprio non riesco a capire il funzionamento.
Per completezza specifico che il getShop() restituisce un array multidimensionale che ciclo nella view e che stampo come checkbox