小编Lui*_*igi的帖子

多级继承替换

我想编写一个模块(特定于框架),它将包装和扩展Facebook PHP-sdk(https://github.com/facebook/php-sdk/).我的问题是 - 如何以一种很好的方式组织课程.

所以详细介绍 - Facebook PHP-sdk包含两个类:

  • BaseFacebook - 带有sdk所有东西的抽象类
  • Facebook - 扩展BaseFacebook,并使用默认会话使用实现父抽象持久性相关方法

现在我有一些功能要添加:

  • Facebook类替换,与框架会话类集成
  • 运行api调用的简写方法,我主要使用(通过BaseFacebook :: api()),
  • 授权方法,所以我不必每次都重写这个逻辑,
  • 配置,从框架类中提取,作为params传递
  • 缓存,与框架缓存模块集成

我知道有些事情已经出错了,因为我有太多的继承,看起来不太正常.将所有内容包装在一个"复杂扩展"类中似乎也太过分了.我想我应该很少工作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)

php oop

8
推荐指数
1
解决办法
2017
查看次数

适用于PHP和Python Windows的IDE

我曾经使用netbeans一段时间,真的很喜欢它.

但现在,我不想用Python扩展我的工具箱,Netbeans放弃了对Django的支持,而且Python支持似乎也在吸收NB 7.0.

所以我正在寻找有关Windows的IDE或文本编辑器的建议,并提供支持:

  • Python(可能使用Django)
  • PHP
  • HTML,CSS,JavaScript
  • FTP
  • GIT和SVN

我知道Aptana 3可以做到这一点,还有什么吗?

我不太了解Vim,但这会是一个选择吗?

php python ide

6
推荐指数
1
解决办法
3179
查看次数

mod_passenger选项 - 命令无效

我有一个Ubuntu服务器(11.10)并使用mod_passenger为Redmine.它工作得很好,但在第一次运行时(某些时候偶尔)会慢一些.

我用谷歌搜索并提出了这个问题:http: //www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerMinInstances

但是我无法设置任何指定的选项.他们只是不工作.我试过了:

  • 的Apache2 /网站-avalible /管理平台
  • 的apache2/MODS-avalible/passenger.conf
  • 的Apache2/httpd.conf文件

无论我在哪里放置像'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)

当然,线条和文件不同.日志不包含任何相关内容.

apache ruby-on-rails redmine

3
推荐指数
1
解决办法
7435
查看次数

标签 统计

php ×2

apache ×1

ide ×1

oop ×1

python ×1

redmine ×1

ruby-on-rails ×1