小编Geo*_*ins的帖子

重新定义类方法或类

有没有办法在不使用典型继承的情况下重新定义类或其某些方法?例如:

class third_party_library {
    function buggy_function() {
        return 'bad result';
    }
    function other_functions(){
        return 'blah';
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能取代buggy_function()?显然这就是我想做的

class third_party_library redefines third_party_library{
    function buggy_function() {
        return 'good result';
    }
    function other_functions(){
        return 'blah';
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的两难:我更新了破坏我代码的第三方库.我不想直接修改库,因为将来的更新可能会再次破坏代码.我正在寻找一种无缝的方法来替换类方法.

我发现这个图书馆说它可以做到,但我很谨慎,因为它已经4岁了.

编辑:

我应该澄清一下,由于框架限制,我无法将类重命名third_party_librarymagical_third_party_library或其他任何内容.

为了我的目的,是否可以只在类中添加一个函数?我认为你可以用C#做​​一个叫做"部分类"的东西.

php methods class redefine

47
推荐指数
6
解决办法
6万
查看次数

PHP和MySQLi关闭()

我是MySQL和PHP的新手,我正在尝试创建自己的CMS,以帮助您更轻松地管理我的网站.有人可以解释mysqli的close()功能吗?

  1. 有必要吗?
  2. 它到底是做什么用的?
  3. 我听说在PHP运行脚本后它关闭了连接,这是真的吗?
  4. 最后,在不关闭与数据库的连接时是否存在安全问题?

php mysqli

34
推荐指数
1
解决办法
2万
查看次数

如何解决PHP扩展"0"必须加载?

我正在尝试在我的服务器上安装Magento.我做了一切,就像在文档中写的那样.我有以下错误:

必须加载PHP扩展"0"

当我尝试在浏览器中配置Magento时,会出现在第二页上.你知道怎么解决这个问题吗?

magento web

25
推荐指数
2
解决办法
3万
查看次数

检索多行的最后插入的ID

当将数据插入到具有自动递增PK的表中时,我需要获取该密钥以用于另一个语句.正如许多问题在SO上所示,这可以在PHP中使用mysql_insert_id().

但是,我一直在将插入分组在一起,所以我一次插入多行.我这样做是因为我猜测可能存在一些性能问题,请告知我是否错了.无论如何,据我所知mysql_insert_id(),当我需要所有插入行的id时,只返回最后一个id.

我想在这种情况下我可以:

  1. 做一些简单的数学来计算所有使用的ID mysql_insert_id()和我输入的行数.但这保证是否始终正确?

  2. 使用多个insert语句,每行一个

  3. 之前生成我的ID,不使用自动增量.

我确信这一定是一个经典问题,所以我想知道最常见和最可行的方法是什么.

php mysql sql

23
推荐指数
2
解决办法
1万
查看次数

如何检查关联数组是否具有空值或空值

在以下关联数组中

$array = array(
    [0] => 0
    [1] => 1
    [2] => 
    [3] => 2
    [4] => 
)
Run Code Online (Sandbox Code Playgroud)

如何确定给定键是否具有空(或空)值?我用了

if(empty($array[$value])) 
Run Code Online (Sandbox Code Playgroud)

if(isset($array[$value])) && $array[$value] !=='')
Run Code Online (Sandbox Code Playgroud)

使用时empty我也得到false第一个数组值,该值为零并且 isset似乎没有做到这一点.

php arrays

23
推荐指数
3
解决办法
5万
查看次数

Robots.txt - 多个用户代理的抓取延迟的正确格式是什么?

下面是一个示例robots.txt文件,允许多个用户代理为每个用户代理提供多个爬网延迟.抓取延迟值仅用于说明目的,并且在真实的robots.txt文件中会有所不同.

我已经在网上搜索了正确的答案,但找不到一个.有太多混合的建议,我不知道哪个是正确/正确的方法.

问题:

(1)每个用户代理都可以拥有自己的抓取延迟吗?(我假设是的)

(2)在Allow/Dissallow行之前或之后,您在哪里为每个用户代理放置了爬行延迟行?

(3)每个用户代理组之间是否必须有空白.

参考文献:

http://www.seopt.com/2013/01/robots-text-file/

http://help.yandex.com/webmaster/?id=1113851#1113858

基本上,我希望找出最终robots.txt文件应该如何使用下面示例中的值.

提前致谢.

# Allow only major search spiders    
User-agent: Mediapartners-Google
Disallow:
Crawl-delay: 11

User-agent: Googlebot
Disallow:
Crawl-delay: 12

User-agent: Adsbot-Google
Disallow:
Crawl-delay: 13

User-agent: Googlebot-Image
Disallow:
Crawl-delay: 14

User-agent: Googlebot-Mobile
Disallow:
Crawl-delay: 15

User-agent: MSNBot
Disallow:
Crawl-delay: 16

User-agent: bingbot
Disallow:
Crawl-delay: 17

User-agent: Slurp
Disallow:
Crawl-delay: 18

User-agent: Yahoo! Slurp
Disallow:
Crawl-delay: 19

# Block all other spiders
User-agent: *
Disallow: /

# Block …
Run Code Online (Sandbox Code Playgroud)

format robots.txt web-crawler agents

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

Django:不允许过滤%filter%

我继承了Django v1.2.4应用程序,并且正在添加一些修复和改进.在此过程中,我突然开始遇到以下错误:

SuspiciousOperation at
/hometeam/admin/players/playeryear/

Filtering by team__season__season_start_date__year not allowed
Run Code Online (Sandbox Code Playgroud)

当我尝试为输入字段选择项目时(通过与字段关联的放大镜访问),此错误将显示在管理界面弹出窗口中.

我已打开调试,但我无法确定此错误发生的位置或最近的更改导致它启动.你能帮我正确地解析调试输出来追踪导致这个问题的错误过滤器吗?

players/admin.py包含以下类:

class PlayerYearAdmin(FkAutocompleteAdmin):
    related_search_fields = {
        'team': ('school__school',),
        'player': ('first_name', 'last_name'),
    }
    list_display = ['player', 'team', 'player_year_in_school']
    list_filter = ['team']
    search_fields = ['player__first_name', 'player__last_name']
    ordering = ['player__last_name', 'player__first_name']
Run Code Online (Sandbox Code Playgroud)

注释掉list_displaylist_filter语句不会改变问题.

下面是一些调试输出.我可以根据需要发布更多内容.

Request Method: GET

Request URL:    http://204.232.208.57:8010/hometeam/admin/players/playeryear/?team__season__season_start_date__year=2010&team__sport__sport=Boys%20Basketball&t=id&pop=1

Django Version: 1.2.4

Exception Type: SuspiciousOperation

Exception Value:    Filtering by team__season__season_start_date__year not allowed

Exception Location: /usr/local/lib/python2.6/dist-packages/Django-1.2.4-py2.6.egg/django/contrib/admin/views/main.py in get_query_set, line 193

Python Executable:  /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我已经应用了https://code.djangoproject.com/changeset/15140上建议的补丁,但补丁后没有变化.任何指导将不胜感激.

django django-admin django-admin-filters

17
推荐指数
2
解决办法
4419
查看次数

在Javascript中设置多个cookie

我正在尝试设置多个cookie document.cookie,但不幸的是只添加了一个.

我知道'网上有多个例子用于设置这类cookie,我跟着其中一个.但我仍然无法解决这个问题.我按照这个链接 来设置我的cookie.

我的代码:

   function setCookie(start_time,end_session_time,total_time,flag,count){
     var cookie_string = "start_time="+start_time;;

    if(end_session_time) {
        cookie_string +="; end_session_time="+end_session_time;
    }

    if(total_time){
        cookie_string +="; total_time="+total_time;
    }
    if(flag){
        cookie_string +="; flag="+flag;
    }
    if(count){
        cookie_string +="; count="+count;
    }

    document.cookie =cookie_string ;
    console.log(cookie_string);

    console.log("document.cookie ="+ document.cookie);
}
Run Code Online (Sandbox Code Playgroud)

输出:

cookie_string :: start_time=1369926508266; flag=1; count=1
document.cookie =start_time=1369926508266; 
Run Code Online (Sandbox Code Playgroud)

javascript cookies

15
推荐指数
2
解决办法
3万
查看次数

在PHP中迭代stdClass对象

我有一个像这样的对象:

stdClass Object
(
    [_count] => 10
    [_start] => 0
    [_total] => 37
    [values] => Array
        (
            [0] => stdClass Object
                (
                    [_key] => 50180
                    [group] => stdClass Object
                        (
                            [id] => 50180
                            [name] => CriticalChain
                        )

                )

            [1] => stdClass Object
                (
                    [_key] => 2357895
                    [group] => stdClass Object
                        (
                            [id] => 2357895
                            [name] => Data Modeling
                        )

                )

            [2] => stdClass Object
                (
                    [_key] => 1992105
                    [group] => stdClass Object
                        (
                            [id] => 1992105
                            [name] => SQL Server …
Run Code Online (Sandbox Code Playgroud)

php arrays json stdclass

14
推荐指数
3
解决办法
3万
查看次数

警告:输入变量超过1000

我正在构建一个像PHP一样的RESTS服务,它应该接受一个大的JSON帖子作为主要数据(我发送和读取的数据很像这里讨论的那样:http://forums.laravel.io/viewtopic.php?id = 900 )

问题是PHP给了我以下警告:

<b>Warning</b>:  Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in <b>Unknown</b> on line <b>0</b><br />
Run Code Online (Sandbox Code Playgroud)

有没有办法让PHP不计算输入变量(或者我应该只是压制启动警告)?

php json

13
推荐指数
6
解决办法
6万
查看次数