首先我们需要在容器中注册namespace服务和目录,让系统加载namespace服务:
$loader = new \Phalcon\Loader();
$loader->registerNamespaces(array(
'Multiple\Frontend\Controllers' => __dir__.'/controllers/',
'Multiple\Models' => __dir__.'/../common/models/',
'Multiple\Common\Libraries' => __dir__.'/../common/library/',
));
$loader->register();
}
路由中使用namespace:
$router->add(
'/admin/users/my-profile',
array(
'namespace' => 'Store\Admin',
'controller' => 'Users',
'action' => 'profile',
)
);
controller中:
namespace Store\Admin\Controllers;
class UsersController extends \Phalcon\Mvc\Controller
{
public function indexAction()
{
}
public function profileAction()
{
}
}
Model中使用namespace:
namespace Store\Models;
class Robots extends \Phalcon\Mvc\Model
{
}
注意:如果model中有数据关系如:hasOne,hasMany,belongsTo,hasManyToMany也要用到namespace
namespace Store\Models;
class Robots extends Phalcon\Mvc\Model
{
public function initialize()
{
$this->hasMany('id', 'Store\Models\Parts', 'robots_id', array(
'alias' => 'parts'
));
}
}
注意:使用关联数据get方法的时候,alias不写,就会报错找不到相关属性。