小编net*_*der的帖子

忽略PHP中的MySQL外键约束

有没有办法在PHP脚本中覆盖mysql外键约束?

我有一个从php传递给mysql的查询,但它没有外键约束,有没有办法解决这个问题而不改变数据库模式?

我只是在进行一些测试,所以当我完成后我将删除该行.

php mysql testing foreign-keys

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

使用C API获取SQLite语句的受影响行数

我正在DELETE使用SQLite 3 C API 执行一个语句,我想知道如何获取受影响的行数.

不幸的是,没有诸如此类的功能sqlite3_affected_rows.

c sqlite rows-affected sql-delete

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

单元测试插座

问候Stackoverflowers,

我有一个应用程序,其中存在通信抽象层.此层中的每个实现(称为连接器)都为我的应用程序提供了一种与连接的对等方交换数据的方式(例如:通过HTTP,TCP套接字,UDP套接字等).

每个例子,我有一个Connector_Tcp实现,,打开关闭等方法的类.

我需要为该课程编写单元测试.我知道单元测试应该具有尽可能少的依赖性.不幸的是,在这种情况下,依赖是一个系统资源:一个套接字; 我无法绕过它.

我需要一些关于如何进行单元测试的建议.

在我看来,即使这个类正在使用系统资源,它应该作为所有其他连接器进行测试,以确保它遵守我的应用程序建立的标准.

我担心绑定冲突(Address has in use errors)和阻塞等问题.我不希望单元测试失败,因为该端口已被与我的应用程序无关的系统服务使用.

在我的日子里,我做了很多单元测试,但是没有一个单元测试依赖于套接字这样的低级资源.

您将如何进行单元测试依赖于套接字的类?为每个单元打开一个插座?使用单个服务器类,然后手动定义的套接字资源连接到它并测试它?

我猜我的问题确实如下:

如果单元测试失败......我怎么知道:

  • 套接字已被另一个进程使用;
  • 单元测试写得不好; 要么
  • 该方法表现不正确(这是单元测试的价值).

我需要单元测试才能测试方法是否正常运行...

php sockets unit-testing

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

php中的mkdir()将文件夹权限设置为755但是我需要777吗?

我正在尝试使用php在我的服务器上创建一个文件夹,当我将其设置为0777时它出现为755?

mkdir($create_path, 0777);
Run Code Online (Sandbox Code Playgroud)

谢谢

php permissions mkdir

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

如何在MySQL DB中添加当前值

嗨,我有一个只包含数字的数据库条目.我想让它在我的网站上的用户可以从一个交换到另一个,我知道如何做到这一切,但我不想替换当前的值我只想添加例如1000到它我可以在PHP中使用什么代码?

php mysql

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

扩展PHPUnit:添加装饰器

上下文

我最近继承了一个编程良好的PHP应用程序(sarcasm)的开发和维护.该应用程序基于商业软件(我不会命名),并且有一层基于它的定制(我们的).

不幸的是,这个应用程序使用了大量的全局和单例(双关语).我已经为我们覆盖的所有事情构建了测试用例.然而,很多事情都依赖于一些全球状态,这可能会导致竞争条件和各种奇怪的东西.

随机化测试

为了捕获大部分这些奇怪的东西(我喜欢称之为),我已经构建了一个PHPUnit TestDecorator,[如手册中所述] [1].这个:

class PHPUnit_Extensions_Randomizer extends PHPUnit_Extensions_TestDecorator
{
    public function __construct(PHPUnit_Framework_Test $test)
    {
        $tests = $test->tests();

        $shuffle = array();
        foreach ($tests as $t) {
            if ($t instanceof PHPUnit_Framework_TestSuite) {
                $shuffle = array_merge($shuffle, $t->tests());
            } else {
                $shuffle[] = $t;
            }
        }
        shuffle($shuffle);

        $suite = new PHPUnit_Framework_TestSuite();
        foreach ($shuffle as $t) $suite->addTest($t);

        parent::__construct($suite);
    }
}
Run Code Online (Sandbox Code Playgroud)

它基本上随机化测试顺序,以确保测试不依赖于可能正确或可能不正确的全局状态.

这个问题

当来测试我的自定义装饰器时出现了问题.我没有在手册,谷歌或Stack Overflow中的任何地方找到如何加载它.

在分析代码时,我看到PHPUnit本身正在实例化方法中的RepeatedTest装饰器TextUI_TestRunner::doRun().我知道我可以子类化TestRunner,覆盖doRun(),安排我的装饰器被创建然后只需调用parent::doRun()我的装饰器实例作为参数,覆盖TextUI_Command并创建一个新的CLI脚本来使用我的东西而不是内置的东西. …

php phpunit

9
推荐指数
1
解决办法
1014
查看次数

如果$ a = 5,$ b ='a',$$ b的值是多少?

向我解释这个面试问题:

问:如果变量$ a等于5而变量$ b等于字符a,那么$$ b的值是多少?

答: 5,它是对现有变量的引用.

php

7
推荐指数
1
解决办法
1414
查看次数

Shell命令用于查找目录模式中的文件

使用shell命令,我需要在以下目录模式中列出服务器上的所有文件:

/home/*/public_html/images/*.php

还有一些需要很长时间才能手动执行此操作.我真的不知道这些命令是什么.

linux bash shell console

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

如何在LLVM中间接调用时从CallInst获取FunctionType

如果函数调用是直接的,则可以通过以下代码获取Function类型.

Function  * fun  = callInst->getCalledFunction();
Function  * funType = fun->getFunctionType();
Run Code Online (Sandbox Code Playgroud)

但是,如果调用是间接调用,即通过函数指针,则getCalledFunction 返回NULL.所以我的问题是当通过函数指针调用函数时如何获取Function类型.

c++ llvm

7
推荐指数
1
解决办法
1489
查看次数

必须在子类之前声明实现接口的类?

我今天偶然发现了一个有趣的问题.在用于多个声明的单个文件的上下文中,如果类B实现接口A,并且类C扩展类A,则B必须之前声明类C.

以下代码不起作用:

interface A {}
class C extends B {} // Class 'B' not found
class B implements A {}
Run Code Online (Sandbox Code Playgroud)

这解决了它:

interface A {}
class B implements A {}
class C extends B {} // Class 'B' is found
Run Code Online (Sandbox Code Playgroud)

但这很好用:

class A {}
class C extends B {} // Class 'B' is found
class B extends A {}
Run Code Online (Sandbox Code Playgroud)

这些是我在PHP 5.3.8(Win32)和PHP 5.3.3-1ubuntu9.6 w/suhosin上的结果.

所以问题是,这是记录在案的行为吗? …

php inheritance interface

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