2016-04-12 10 views
2

Ich benutze Phalcon PHP mit Multi module application. Ich verwende Namespace in meinem Projekt, aber ich suche nach etwas, um diesen Namespace zu verwenden.Phalcon PHP Multi Modul Namensraum Definition

Zum Beispiel verwende ich in meinem Ansichtsordner den Modellordner und in meinem Controller den Modellordner. Aber ich benutze viele Klassenmodelle, um einen Phalcon-Fund oder FirstFirst zu machen. Und der einzige Weg, als ich diese Multi-Anwendungen arbeiten, um zu finden, ist es den Namensraum zu definieren, verwendet, um die Klasse wie folgt zu importieren:

use Apps\Common\Models\Users; 
use Apps\Common\Models\Customers; 
use Apps\Common\Models\Agents; 
... 

Und ich habe 50 Modelle wie dies in meinem apps ... I don‘ Ich möchte sie in meinem Controller und in meiner ganzen Sicht definieren, damit es funktioniert.

Haben Sie eine Lösung dafür?

Danke.

Antwort

1

Wenn ich richtig verstanden habe, können Sie die Namespace-Deklaration am Anfang Ihrer Controller-Datei weglassen:

use Models\News; 

class NewsController extends BaseController 
{ 
    public function indexAction() 
    { 
     // With Use above 
     $obj = new News(); 

     // Without Use above (full namespace path) 
     $obj = new \Models\News(); 
    } 
} 
+0

Dann, wenn ich 10 Modelle in jedem Controller verwenden ich oben auf jedem Controller setzen müssen 'use'x 10 ? Und aus meiner Sicht muss ich das auch tun ... :(Weil mir das nicht gefällt $ obj = new \ Models \ News(); ' – John

+0

Ja, Sie müssen eine der beiden Optionen wählen die Idee der Namespaces und es kann nicht vermieden werden :) –

+0

Okay danke. Und dies ist möglich, den Namespace Weg in Multi-Modul-Anwendung nicht zu verwenden? Weil ich in phalcon single application niemals den Namenssame verwende, verwende ich die registerClasses und registerDir. Es ist hier möglich? – John