我还没有找到PHP中所有内置Exception子类的列表.在创建自己的异常子类之前,我宁愿在有意义的时候使用内置的.
例如,我知道存在InvalidArgumentException,但似乎没有任何可与Java的NullPointerException相媲美的东西.
有没有人或可以链接到PHP中可用的Exception子类列表?
我正在尝试设置一些简单的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) 我无法将游戏对象保留在包含的空间内.当它们到达边缘时,会有一些瞬间推回,但随后它们将穿过墙壁.
我在玩家上使用了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)
击中网眼对撞墙时,有些但不是所有的子弹都会被摧毁.玩家有时会击中并停止,但通常可以通过它.如何每次都与网格对撞机碰撞?
我创建了一个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) 每次输入foreach循环时,Java都会创建一个新对象吗?我不是在谈论每次迭代,但是如果你有一个多次使用的foreach循环,它每次都在创建对象吗?
简单示例:
for(Object o : Objects)
{
for(Object p : Objects2)
{
}
}
Run Code Online (Sandbox Code Playgroud)
p
每次执行只会有一个,还是会p
为每个执行实例化Object o
?垃圾收集器每次退出时都必须从foreach循环中恢复一个对象吗?
更具体地说,我正在编写一些基于Android的游戏代码.它将以每秒给定的速率迭代所有游戏对象,或者根据具体情况尽可能快地迭代.
这可能是一个过早优化的情况,但如果使用显式for
或while
循环可以保证我不会从我的循环中收集过多的垃圾,那么我可以将其作为项目的编码标准.
进一步来说:
public void update()
{
for(GameObject gObj : gameObjects)
{
gObj.update();
}
}
Run Code Online (Sandbox Code Playgroud)
随着update()
从设计,使基于我之前所描述的时间调用一个线程被调用.
更新:
我问是否有新的基准p
为每个创建o
在Objects
.如果它复制了对象,则不是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) 我正在使用 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) 每当我在Visual Studio中创建一个新对话框时,它都会将Language属性设置为English (Canada)
,与我的系统默认值相同.但是,我有一个相当挑剔的第三方MFC库,并且每当我尝试显示这样的对话框时决定崩溃.崩溃的解决方案是English (United States)
用作语言.我希望我的对话框默认为English (United States)
创建它们时.我该怎么做呢?
我在手册中看到了很多关于创建表单来上传文件的问题和信息.我已经能够设置一个表单来处理文件上传.是否有任何基于Zend的代码用于在文件下载后使用它们.
每个教程或手动参考似乎都有类似于:
if ($form->isValid()) {
//
// ...Save the form...
//
}
Run Code Online (Sandbox Code Playgroud)
我可以使用本机php函数管理上传move_uploaded_file
.我是否遗漏了某些东西,或者Zend刚刚回归到使用临时文件名作为其他代码段中的数据片段?
我试图允许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中?
为了在我的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
开始说起?