在处理具有私有或受保护成员变量的类时,如何设置代码完成以在Zend Studio(或任何基于Eclipse的IDE)上工作,而不使用一堆Getter或将成员变量设置为public.
例如:
class Dog {
protected $bark = 'woof!';
public function __get($key) {
if (isset($this->$key)) {
return $this->$key;
}
}
}
$Dog = new Dog();
echo $Dog->bark; // <-- I want the IDE to "know" that bark is a property of Dog.
Run Code Online (Sandbox Code Playgroud) 如何象征一切?
这是一个例子,所以我在说什么:
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 CoreFoundation 0x351642cc CFRelease + 32
1 CoreFoundation 0x3518e130 CFArraySetValueAtIndex + 284
2 AddressBook 0x32971aba ABCMultiValueReplaceLabel + 58
3 AddressBook 0x3298c598 ABMultiValueReplaceLabelAtIndex + 140
4 My App 0x00011206 0x00011206
5 My App 0x00010e48 0x00010e48
6 My App 0x00011ada 0x00011ada
7 My App 0x0001027c 0x0001027c
8 My App 0x0000ecf2 0x0000ecf2
9 My App 0x00012f44 0x00012f44
10 My App 0x00012e3e 0x00012e3e
11 Foundation 0x32d0aef2 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 14
12 Foundation 0x32c4a9ec …Run Code Online (Sandbox Code Playgroud) 至于最佳实践,这是推荐的吗?我有一个注释控制器+模型需要在项目和配置文件控制器中调用.注释控制器自动加载注释模型.
是否可以直接从项目和配置文件控制器调用注释控制器,或者是调用注释模型的"最佳实践"方式?
我问,因为在kohana中,视图不是单例类,所以如果我在另一个控制器中调用控制器,我最终得到两个视图.另一方面,如果我只是调用模型,则项目和配置文件控制器中将存在重复的代码.
所有MVC专家都会提供帮助!=)