Я новичок в Zend2, я создал модель (класс) в пространстве имен, и я хочу создать экземпляр этой модели в контроллере из другого пространства имен, так что вы знаете, как я могу это сделать?
Спасибо
Тарек
Пожалуйста, поместите имена классов и пространства имен здесь. Конечно, вы можете создать класс из другого пространства имен, все что вам нужно — это использовать это пространство имен. Например
$x = new MyNamespace\SuperClass\Hello\MySuperClass();
---- <---------namespace---------><-className--->
чтобы избежать записи каждый раз всего пространства имен, вы можете использовать use
в начале сценария
namespace currentNamespace;
use MyNamespace\SuperClass\Hello;
class myClass() {
public function something() {
$x = new MySuperClass(); // instead of MyNamespace\SuperClass\Hello\MySuperClass();
}
}
Я нашел решение следующим образом:
в Module.php я должен зарегистрировать мою модель (класс):
public function getServiceConfig()
{
return array(
'invokables' => array(
'User' => 'Application\Model\User'
),
);
}
и позже, когда я хочу использовать его в другом классе, я называю это так:
$ User = $ this-> getServiceLocator () -> get (‘User’);