我想编写一个模块(特定于框架),它将包装和扩展Facebook PHP-sdk(https://github.com/facebook/php-sdk/).我的问题是 - 如何以一种很好的方式组织课程.
所以详细介绍 - Facebook PHP-sdk包含两个类:
现在我有一些功能要添加:
我知道有些事情已经出错了,因为我有太多的继承,看起来不太正常.将所有内容包装在一个"复杂扩展"类中似乎也太过分了.我想我应该很少工作togheter类 - 但我遇到的问题如下:如果缓存类没有真正扩展并覆盖BaseFacebook :: api()方法 - 速记和身份验证类将无法使用缓存.
也许某种模式会在这里?您将如何组织这些类及其依赖项?
编辑04.07.2012
与主题相关的代码:
这是Facebook PHP-sdk的基类:
abstract class BaseFacebook {
// ... some methods
public function api(/* polymorphic */)
{
// ... method, that makes api calls
}
public function getUser()
{
// ... tries to get user id from session
}
// ... other methods
abstract protected function setPersistentData($key, …Run Code Online (Sandbox Code Playgroud) 我曾经使用netbeans一段时间,真的很喜欢它.
但现在,我不想用Python扩展我的工具箱,Netbeans放弃了对Django的支持,而且Python支持似乎也在吸收NB 7.0.
所以我正在寻找有关Windows的IDE或文本编辑器的建议,并提供支持:
我知道Aptana 3可以做到这一点,还有什么吗?
我不太了解Vim,但这会是一个选择吗?
我有一个Ubuntu服务器(11.10)并使用mod_passenger为Redmine.它工作得很好,但在第一次运行时(某些时候偶尔)会慢一些.
我用谷歌搜索并提出了这个问题:http: //www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerMinInstances
但是我无法设置任何指定的选项.他们只是不工作.我试过了:
无论我在哪里放置像'PassengerMinInstances 3'这样的命令并尝试重新加载Apache我得到:
Syntax error on line 9 of /etc/apache2/sites-enabled/redmine:
Invalid command 'PassengerMinInstances', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
...fail!
Run Code Online (Sandbox Code Playgroud)
当然,线条和文件不同.日志不包含任何相关内容.