小编Jas*_*ary的帖子

jQuery/Javascript函数清除表单的所有字段

我正在寻找一个jQuery函数,它将在提交表单后清除表单的所有字段.

我没有要显示的任何HTML代码,我需要一些通用的东西.

你能帮我吗?

谢谢!

javascript jquery

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

覆盖类常量与属性

我想更好地理解为什么在下面的场景中,类常量被继承的方式与实例变量的方式不同.

<?php
class ParentClass {
    const TEST = "ONE";
    protected $test = "ONE";

    public function showTest(){
        echo self::TEST;
        echo $this->test;
    }
}

class ChildClass extends ParentClass {
    const TEST = "TWO";
    protected $test = "TWO";

    public function myTest(){
        echo self::TEST;
        echo $this->test;
    }
}

$child = new ChildClass();
$child->myTest();
$child->showTest();
Run Code Online (Sandbox Code Playgroud)

输出:

TWO
TWO
ONE
TWO
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,ChildClass没有showTest()方法,因此继承使用ParentClass showTest()方法.结果显示,由于该方法在ParentClass上执行,因此正在评估TEST常量的ParentClass版本,而因为它通过继承在ChildClass上下文中进行评估,所以正在评估ChildClass成员变量$ test.

我已经阅读了文档,但似乎没有看到任何提及这种细微差别.任何人都可以为我解释一下吗?

php oop inheritance overriding constants

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

SQL Performance UNION vs OR

我刚才读的优化文章的一部分,segfaulted以下声明:

当使用SQL代替using语句ORUNION:

select username from users where company = ‘bbc’ or company = ‘itv’;
Run Code Online (Sandbox Code Playgroud)

至:

select username from users where company = ‘bbc’ union
select username from users where company = ‘itv’;
Run Code Online (Sandbox Code Playgroud)

从快速EXPLAIN:

使用OR:

在此输入图像描述

使用UNION:

在此输入图像描述

没有这意味着UNION确实在双工作

虽然我感谢UNION某些RDBMS和某些表模式的性能可能更高,但这并非如作者建议那样明确.

我错了吗?

mysql sql performance union

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

和和之间的区别

我的问题是与运营商有关.今天我研究了运营商.有困惑.在PHP中,"或"和"xor"之间有什么区别.我知道它们都与布尔表达式有关.但找不到原来的差异.

任何人请帮助更清楚地理解它.

boolean

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

在PHP中访问大型数组

我一直在对PHP中访问大型(ish)数据数组的不同方法进行一些分析.用例非常简单:我们的一些工具将数据作为关联数组输出到PHP文件中,这些文件被应用程序视为静态数据.我们制作游戏,因此数据文件的一些示例包括目录中的项目,用户必须完成的任务或地图的定义:

<?php
$some_data = array(
    ...lots and lots of stuff in here...
);
?>
Run Code Online (Sandbox Code Playgroud)

由于这些数组很大(400K),并且我们的许多代码都对这些数据感兴趣,因此有必要尽可能高效地访问这些数据.我决定为这样做计时3种不同的模式.在介绍方法后,我将在下面分享我的结果.

我正在寻找的是一些基于经验的验证这些方法及其时间以及任何其他方法来尝试.

方法#1:getter函数

在该方法中,导出器实际上创建了一个类似于以下内容的文件:

<?php
function getSomeData()
{
    $some_data = array(
        ...lots and lots of stuff here...
    );
    return $some_data;
}
?>
Run Code Online (Sandbox Code Playgroud)

然后,客户端代码可以通过在需要时调用getSomeData()来获取数据.

方法#2:全局+包括

在此方法中,数据文件看起来与上面的原始代码块相同,但是客户端代码必须跳过几个环以将数据放入本地范围.这假设数组位于名为"some_data.php"的文件中;

global $some_data; //must be the same name as the variable in the data file...
include 'some_data.php';
Run Code Online (Sandbox Code Playgroud)

这会将$ some_data数组放入范围,虽然对于客户端代码来说有点麻烦(我的意见).

方法#3:参考吸气剂

此方法与方法#1几乎相同,但是getter函数不返回值,而是设置对数据的引用.

<?php
function getSomeDataByRef($some_data)
{
    $some_data = array(
        ...lots and lots of stuff here...
    );
    return $some_data;
}
?>
Run Code Online (Sandbox Code Playgroud)

然后,客户端代码通过声明一个局部变量(称为任何东西)并通过引用传递给getter来检索数据:

$some_data_anyname = …
Run Code Online (Sandbox Code Playgroud)

php arrays performance

17
推荐指数
1
解决办法
6692
查看次数

使用soundex()或metaphone()创建Mad Gab样式短语的算法

我正在尝试创建一个可以建议Mad Gab风格短语的算法.

输入是一组短语.我也有一组关键字,我想尽可能使用.目前,我的解决方案只是蛮力:

  • 循环短语(逐个字符)
    • 如果找到关键字
      • store关键字和分支(递归)
    • 增量字符数

但是,我遇到的问题是:

  • 复合关键字的帐户,例如"捕获"可以是"捕获","猫"+"奶酪"
  • 允许使用字面术语 - "the","and","one","two","three".
  • 如何建议不是关键字的术语.即当找不到关键字或文字时,重新回到类似系统字典的东西上.
  • 略过短语片段.现在它只是通过了一次.但是考虑一下这个短语以不匹配的东西开头但后面的几个字符包含匹配的情况.

我最熟悉PHP和MySQL.但是,如果能提供更好的解决方案,我对另一项技术持开放态度.

我也对任何其他建议感兴趣.特别是使用第二个参数metaphone()提出更难建议的方法.

php mysql soundex metaphone

14
推荐指数
1
解决办法
5975
查看次数

在特征中调用覆盖魔法的父魔法

问题

我正在寻找一种包含魔法的特质__call().在测试期间,当使用特征的类的父类包含该__call方法时,我遇到了一个挑战.

我试过的

trait SomeTrait {
    public function __call($method, array $parameters) {
        // ...
        return parent::__call($method, $parameters);
    }
}
Run Code Online (Sandbox Code Playgroud)

这会导致致命错误:当前类范围没有父级时,无法访问parent ::

我还根据其他一些答案尝试了以下内容:

return call_user_func_array([$this, '__call'], [$method, $parameters]);
Run Code Online (Sandbox Code Playgroud)

这会导致分段错误:11.我想是因为一个无限的调用循环.

如何__call__call特征方法中调用父方法?

如果直接在特征内无法实现,那么我怎么能调用父__call方法呢?

php traits

13
推荐指数
1
解决办法
3126
查看次数

CakePHP使用Shell cronjob的Email组件

我正试图从CakePHP shell发送一封电子邮件,就像你从Controller那样.

下面的大部分代码都是根据这篇关于面包店的日期文章和它的评论改编的.电子邮件正在发送,但该行$controller->set('result', $results[$i]);会抛出以下通知:

注意:未定义的属性:在第813行的/home/jmccreary/www/intranet.sazerac.com/cakephp/cake/libs/view/view.php中查看:: $ webroot

PHP注意:未定义的变量:结果在第2行的/home/jmccreary/www/intranet.sazerac.com/cakephp/app/views/elements/email/text/nea/task_reminder_it.ctp

所以我没有将任何变量传递给我的电子邮件视图.

我怎么能这样做,最好遵循Cake约定?

class NotificationShell extends Shell {
    var $uses = array('Employee', 'Task');

    function main() {
        // run if no action is passed
    }

    function nea_task_reminder() {
        // build Task to Employee relationship
        $this->Task->bindModel(array('belongsTo' => array('Employee' => array('className' => 'Employee', 'foreignKey' => 'object_id'))));
        $results = $this->Task->find('all', array('conditions' => array('application_id' => 1, 'completed_by_id' => 0), 'contain' => array('Employee' => array('Contact', 'Position'))));

        $count = count($results);
        if ($count) {
            App::import('Core', 'Controller');
            App::import('Component', …
Run Code Online (Sandbox Code Playgroud)

php email cakephp

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

使用GIT_PS1_SHOWCOLORHINTS自定义__git_ps1的颜色

我试过了什么

我已更新我的提示,以包含分支名称__git_ps1.另外,我订了GIT_PS1_SHOWCOLORHINTS.

问题

提示正确显示.但是,分支颜色始终为绿色.我预计脏分支会变红.

文档说明:

颜色基于"git status -sb"的彩色输出

我找到并评论了如何着色git-status输出?但我不确定我需要改变哪些选项......

这个问题

是否可以将分支颜色更改为绿色以获得干净的分支,将红色更改为分支?如果是这样,怎么样?

git shell command-prompt

11
推荐指数
1
解决办法
8094
查看次数

使用会话令牌或随机数进行跨站点请求伪造保护(CSRF)?

我继承了一些最近被攻击的代码,攻击者发送了重复的远程表单提交.

我使用为每个用户创建的会话身份验证令牌(而不是会话ID)实施了预防.虽然我意识到这个特定的攻击不是CSRF,但我从这些帖子中调整了我的解决方案(尽管已过时).

但是,它仍然觉得这里存在一些漏洞.虽然我知道没有什么是100%安全的,但我有一些问题:

  • 潜在的攻击者是否只能启动一个有效的会话,然后在每个请求中包含会话ID(通过cookie)?
  • 似乎nonce会比会话令牌更好.生成和跟踪nonce的最佳方法是什么?
  • 我遇到了一些关于这些解决方案只是单一窗口的观点.有人可以详细阐述这一点吗?
  • 这些解决方案总是需要会话吗?或者这些令牌可以在没有会话的情况下创建吗?更新,这个特定的页面只是一个页面形式(没有登录).因此,仅仅为了生成令牌而启动会话似乎过多了.
  • 是否有一个更简单的解决方案(不是CAPTCHA),我可以实现以防止这种不会使用会话的特定攻击.

最后,我正在寻求更好的理解,以便我可以实现更强大的解决方案.

php xss csrf csrf-protection

10
推荐指数
1
解决办法
4283
查看次数