小编Chr*_*ris的帖子

什么Exception子类内置到PHP中?

我还没有找到PHP中所有内置Exception子类的列表.在创建自己的异常子类之前,我宁愿在有意义的时候使用内置的.

例如,我知道存在InvalidArgumentException,但似乎没有任何可与Java的NullPointerException相媲美的东西.

有没有人或可以链接到PHP中可用的Exception子类列表?

php exception-handling exception class

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

如何在MySQL LIKE子句中使用用户变量?

我正在尝试设置一些简单的SQL脚本来帮助进行一些短期数据库管理.因此,我正在设置变量,以便更容易重用这些脚本.

我遇到的问题特别是LIKE子句.

SET @email = 'test@test.com';

SELECT email from `user` WHERE email LIKE '%@email%';
Run Code Online (Sandbox Code Playgroud)

所以我想让它根据变量中的电子邮件SET找到结果.如果我手动将电子邮件输入LIKE子句,则查询有效.

如何让LIKE子句与用户变量一起使用?

更新:@dems的答案适用于这个简单的情况,但我遇到了更复杂的查询问题.

SET @email = 'test@test.com';

SELECT project.projectno, project.projectname, login.username, 
CONCAT(login.firstname, ' ', login.lastname), projectuser.title 
FROM projectuser 
INNER JOIN login ON projectuser.uid = login.uid 
LEFT JOIN project ON projectuser.pid = project.pid
WHERE login.username LIKE CONCAT ('%', @email, '%')
Run Code Online (Sandbox Code Playgroud)

给我错误"功能mydb.CONCAT不存在"

查询在没有CONCAT()的情况下工作:

SET @email = 'test@test.com';

SELECT project.projectno, project.projectname, login.username, 
CONCAT(login.firstname, ' ', login.lastname), projectuser.title 
FROM projectuser 
INNER JOIN login ON projectuser.uid = login.uid 
LEFT JOIN project …
Run Code Online (Sandbox Code Playgroud)

mysql sql database

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

如何防止对手穿过对方?

我无法将游戏对象保留在包含的空间内.当它们到达边缘时,会有一些瞬间推回,但随后它们将穿过墙壁.

我在玩家上使用了Box Collider,在水平墙上使用了Mesh Collider.我对玩家角色(太空飞船)的问题表明该运动是由玩家控制的.并且使用射弹,它们是火,忘记以恒定速度移动.

这是我的播放器的移动代码.它正在FixedUpdate()函数中运行.

//Movement
    haxis = Input.GetAxis("Horizontal") * speed;
    vaxis = Input.GetAxis("Vertical") * speed;

    moveVector.x = haxis;
    moveVector.z = vaxis;

    if(moveVector.magnitude > 1)
    {
        moveVector.Normalize();
    }

    rigidbody.MovePosition(transform.position + moveVector * speed);
Run Code Online (Sandbox Code Playgroud)

通过子弹,它们被赋予速度并且引擎计算他们的电影.他们正在使用Box Collider并将其设置为Trigger,因此他们没有物理.但我用它OnTriggerEnter来摧毁它们.

//Projectiles without physics collisiions
function OnTriggerEnter (other : Collider) {
    Destroy(gameObject);
}
Run Code Online (Sandbox Code Playgroud)

击中网眼对撞墙时,有些但不是所有的子弹都会被摧毁.玩家有时会击中并停止,但通常可以通过它.如何每次都与网格对撞机碰撞?

unity-game-engine game-physics

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

无法通过PDO创建MySQL功能

我创建了一个CLI PHP脚本,旨在允许我对我的数据库运行更新脚本.该脚本按预期工作,运行顺序更新文件,回滚错误等.但是,我唯一无法正确执行的是创建函数.我错过了什么?


脚本

以下是脚本如何工作的基础知识:

$sql = file_get_contents($file);
$sql = "USE `$database`;" . $sql;
$stmt = $pdo->prepare($sql);

try
{
    $stmt->execute();

    if($stmt->errorCode() !== '00000')
    {
        throw new Exception("Error: Unable to run update $file\n" . print_r($stmt->errorInfo(), true));
    }
}
catch(Exception $ex)
{
    $pdo->rollBack();
    echo "Error: Exception occured running update $file\n" . print_r($ex, true) . "\n";
    throw $ex;
}
Run Code Online (Sandbox Code Playgroud)

SQL

这是SQL代码的Function部分的示例:

DELIMITER ;;
CREATE DEFINER=CURRENT_USER FUNCTION `uuid_from_bin`(b BINARY(16)) RETURNS char(36) CHARSET latin1
    DETERMINISTIC
BEGIN
  DECLARE hex CHAR(32);
  SET hex = HEX(b);
  RETURN LOWER(CONCAT(LEFT(hex, 8), …
Run Code Online (Sandbox Code Playgroud)

php mysql sql pdo

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

Java foreach循环是否会创建一个新对象?

每次输入foreach循环时,Java都会创建一个新对象吗?我不是在谈论每次迭代,但是如果你有一个多次使用的foreach循环,它每次都在创建对象吗?

简单示例:

for(Object o : Objects)
{
    for(Object p : Objects2)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

p每次执行只会有一个,还是会p为每个执行实例化Object o?垃圾收集器每次退出时都必须从foreach循环中恢复一个对象吗?

更具体地说,我正在编写一些基于Android的游戏代码.它将以每秒给定的速率迭代所有游戏对象,或者根据具体情况尽可能快地迭代.

这可能是一个过早优化的情况,但如果使用显式forwhile循环可以保证我不会从我的循环中收集过多的垃圾,那么我可以将其作为项目的编码标准.

进一步来说:

public void update()
{
    for(GameObject gObj : gameObjects)
    {
        gObj.update();
    }
}
Run Code Online (Sandbox Code Playgroud)

随着update()从设计,使基于我之前所描述的时间调用一个线程被调用.

更新: 我问是否有新的基准p为每个创建oObjects.如果它复制了对象,则不是Objects2.那么VM是否必须创建一个新的Reference p,然后它会在outter循环的迭代之间收集该引用?更具体地说,在我的情况下,它是否收集方法调用之间的引用?

更新: 来自对Matt Ball的回答的评论.哪个会减少垃圾收集工作?

//Loop just to have it run a number of times
//Could be running the inner foreach numerous time for any reason
for(int …
Run Code Online (Sandbox Code Playgroud)

java foreach garbage-collection

5
推荐指数
1
解决办法
5763
查看次数

AWS DynamoDB DocumentClient 可以处理原生 Javascript 日期对象吗?

我正在使用 DocumentClient ( http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html ) 来更轻松地使用 DynamoDB。但是,它似乎在处理 Date 对象时遇到了问题。我知道 DynamoDB 需要专门格式化的日期Date (as ISO8601 millisecond-precision string, shifted to UTC)

DocumentClient 只是不处理这个问题,还是需要在 Date 对象上设置一些东西?

现在,我只是通过toString(). 该expires_at值是具体的值:

这个不包括expires_at在 DyanmoDB 项目中。

{ 
  Item:
  { 
    id: 'session',
    credentials: 
    { 
      access_token: '',
      refresh_token: '',
      token_type: 'Bearer',
      expires_in: 3599,
      expires_at: 2017-04-17T18:48:03.608Z 
    } 
  },
  TableName: 'table' 
}
Run Code Online (Sandbox Code Playgroud)

这个将包括它:

{ 
  Item:
  { 
    id: 'session',
    credentials: 
    { 
      access_token: '',
      refresh_token: '',
      token_type: 'Bearer',
      expires_in: 3599,
      expires_at: 'Mon Apr 17 2017 18:50:24 GMT+0000 …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services amazon-dynamodb

5
推荐指数
1
解决办法
3788
查看次数

如何更改新MFC对话框的默认语言(位置)?

每当我在Visual Studio中创建一个新对话框时,它都会将Language属性设置为English (Canada),与我的系统默认值相同.但是,我有一个相当挑剔的第三方MFC库,并且每当我尝试显示这样的对话框时决定崩溃.崩溃的解决方案是English (United States)用作语言.我希望我的对话框默认为English (United States)创建它们时.我该怎么做呢?

c++ mfc visual-studio-2010

4
推荐指数
1
解决办法
3724
查看次数

ZF2处理文件上传.如何访问上传的文件?

我在手册中看到了很多关于创建表单来上传文件的问题和信息.我已经能够设置一个表单来处理文件上传.是否有任何基于Zend的代码用于在文件下载后使用它们.

每个教程或手动参考似乎都有类似于:

if ($form->isValid()) {
    //
    // ...Save the form...
    //
}
Run Code Online (Sandbox Code Playgroud)

我可以使用本机php函数管理上传move_uploaded_file.我是否遗漏了某些东西,或者Zend刚刚回归到使用临时文件名作为其他代码段中的数据片段?

php file-upload zend-framework2

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

如何在我的Xml架构中包含Html

我试图允许Html标签作为我的一种类型的孩子.

<xs:complexType name="Html">
    <xs:sequence>
        <!-- Attempting to allow us to include necessary HTML right into our XML -->
        <xs:any minOccurs="0" namespace="http://www.w3.org/1999/xhtml"></xs:any>
    </xs:sequence>
</xs:complexType>

<xs:element name="Html" type="Html"></xs:element>
Run Code Online (Sandbox Code Playgroud)

目的是允许在该类型的任何元素内部使用Html标签,但不一定需要为良好形成的html包含周围的html或body标签.

如何将标签包含在我的XSD中?

xml xsd

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

为什么来自提供者的事件不是$发射到$ rootScope?

为了在我的AngularJS应用程序中保持解耦,我有一个validationService不同的控制器可以调用来执行验证.实际上,validate()给定控制器中的方法应该只是$emit一个事件(request:validate例如)服务将侦听的事件 - 但它似乎没有$rootScope接收到发出的事件.例如:

angular.module('mine').controller('CommitController', [
    '$scope',
    function($scope) {
        $scope.validate = function() {
            $scope.$emit('request:validate');
        };
    }
]);
angular.module('mine.services').factory('validationService', [
    '$rootScope',
    function($rootScope) {
        $rootScope.$on('request:validate', function(e) {
            console.log('received the request:validate event - go ahead with validation');
        });
    }
]);
Run Code Online (Sandbox Code Playgroud)

$on('request:validate')永远不会发火$rootScope.难道$rootScope没有收到子作用域发出的事件?如何$rootScope倾听事件是否有些怪癖?

对此有一种"更有角度"的方法吗?控制器应该直接打电话validationService吗?如果该事件$broadcast$rootScope开始说起?

javascript angularjs

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