在CakePHP 2.x中你可以做到
AuthComponent::user()
Run Code Online (Sandbox Code Playgroud)
在视图中从Auth组件获取数据.在CakePHP 3.0beta3中,它抛出:
"Error: Class 'AuthComponent' not found"
Run Code Online (Sandbox Code Playgroud)
是否有一种从View中的AuthComponent获取数据的简单方法?
假设我有两个类:
class PlayerManagerParent {
public function new(){
}
}
class GameManagerParent {
public var playerManager:PlayerManagerParent();
public function new(){
}
}
Run Code Online (Sandbox Code Playgroud)
然后我将其子类为
class PlayerManagerChild extends PlayerManagerParent {
public function new(){
super();
}
public function someMethod(){
}
}
class GameManagerChild extends GameManagerParent {
public function new(){
super();
this.playerManager = new PlayerManagerChild();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我创建实例GameManagerChild并想要访问someMethod():
var gameManager:GameManagerChild = new GameManagerChild();
gameManager.playerManager.someMethod();
Run Code Online (Sandbox Code Playgroud)
我当然不能这样做,因为没有定义的gameManager.playerManager类型和编译器/类型检查器给了我错误。playerManager:PlayerManagerParentsomeMethod()
如何someMethod()在不声明父类或将playerManager类型设置为Dynamic(这将是一个选项,但随后我无法迭代 中的可迭代字段playerManager)的情况下解决此问题?