小编Ale*_*lex的帖子

TSQL SELECT上一个日期的记录

我想从一个表Log中选择所有记录,其中DateAndTime字段值(类型datetime)是今天的前一天,无论它是什么日子.

因此,如果今天是2011-06-08,我想选择DateAndTime大于或等于2011-06-07 00:00:00且小于的所有行2011-06-08 00:00:00.

我猜这里潜在的陷阱就是它在本月的第一天的行为,因为显然这样的日期2011-06-00是无效的,应该是2011-05-31.

sql t-sql datetime sql-server-2005

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

检查Doctrine2中是否存在关系的技巧

我似乎无法在Doctrine文档中找到有关如何检查实体是否与另一个实体存在关系的任何提及:

http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html

在Doctrine 1.x中,有一个exists被调用的方法可以在实体上调用来检查:

http://www.doctrine-project.org/documentation/manual/1_2/en/working-with-models#dealing-with-relations:clearing-related-records

在Doctrine 2.0中,这是我倾向于做的事情.其他人使用什么技术?

<?php

class Group    {
    private $id;
    protected $name;
    protected $users;

    public function __construct()
    {
        $this->colorgroups = new ArrayCollection();
    }

    public function hasUsers() {
        return count($this->users) > 0;
    } 
}
Run Code Online (Sandbox Code Playgroud)

php orm doctrine doctrine-orm

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

对象标识符的副本和对象标识符的引用 - 应该在真实应用程序中使用哪一个?

在下面的示例中,由原始对象完成$instance2$instance3修改任何操作.

我的问题是:

如果原始对象标识符的副本和对原始对象标识符的引用执行相同的工作,应该在实际应用程序中使用哪一个?

使用对象标识符副本和使用对象标识符的引用有什么优缺点?

我阅读了PHP手册但无法区分使用方法因为两者都做同样的工作.

$instance1 = new test(1);
$instance2 = $instance1;
$instance3 =& $instance1;

//$instance1 -> original object identifier of the new object.
//$instance2 -> copy of object identifier $instance1
//$instance3 -> reference to the object identifier $instance1
Run Code Online (Sandbox Code Playgroud)

php oop

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

为什么我从两个所谓的类似算术运算中得到不同的结果?

在下面的代码中,为什么乘法方法不会产生舍入误差,而累积加法方法是什么?

function get_value() { return 26.82; }

function a($quantity) {
    $value_excluding_vat = get_value();
    $value_including_vat = round($value_excluding_vat * (1 + (20 / 100)),2);
    $total_nett = 0;
    $total_gross = 0;
    for($i=0; $i<$quantity; $i++) {
        $total_nett += $value_excluding_vat;
        $total_gross += $value_including_vat;
    }
    return array(
        $total_nett,
        $total_gross
    );
}

function b($quantity) {
    $value_excluding_vat = get_value();
    $value_including_vat = round($value_excluding_vat * (1 + (20 / 100)),2);
    return array(
        $quantity * $value_excluding_vat,
        $quantity * $value_including_vat
    );
}

$totals = a(1000);
print_r($totals);
echo $totals[1] - $totals[0];
echo "\n\n"; …
Run Code Online (Sandbox Code Playgroud)

php php-5.4

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

努力上传文件

编辑

好的,所以我今天早上已经做了:

我跑了这个命令:

sudo apt install php7.3-curl && \
sudo apt install php7.3-enchant && \
sudo apt install php7.3-gmp && \
sudo apt install php7.3-intl && \
sudo apt install php7.3-mbstring && \
sudo apt install php7.3-opcache && \
sudo apt install php7.3-pspell && \
sudo apt install php7.3-snmp && \
sudo apt install php7.3-sybase && \
sudo apt install php7.3-xmlrpc && \
sudo apt install php7.3-bcmath && \
sudo apt install php7.3-cli && \
sudo apt install php7.3-dba && …
Run Code Online (Sandbox Code Playgroud)

php

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

为什么PHP 5.4中的mb_convert_case会破坏我的字符串,而在5.2中却没有?

我有以下代码:

header('Content-type: text/html; charset=utf-8');
$str = 'áá áá';
echo $str."\n";
echo mb_convert_case($str, MB_CASE_TITLE)."\n";
echo bin2hex($str)."\n";
echo bin2hex(mb_convert_case($str, MB_CASE_TITLE))."\n";
Run Code Online (Sandbox Code Playgroud)

使用PHP 5.2.2,我得到以下输出:

áá áá
áá áá
c3a1c3a120c3a1c3a1
c3a1c3a120c3a1c3a1
Run Code Online (Sandbox Code Playgroud)

使用PHP 5.4.3,我得到这个:

áá áá
á? á?
c3a1c3a120c3a1c3a1
c3a1e3a120c3a1e3a1
Run Code Online (Sandbox Code Playgroud)

我在两种情况下的预期产出都是:

áá áá
Áá Áá
c3a1c3a120c3a1c3a1
c381c3a120c381c3a1
Run Code Online (Sandbox Code Playgroud)

所以我有两个问题:

  1. 为什么á被转换为Á?
  2. 为什么PHP 5.4会破坏我的字符串?

php unicode

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

我可以在不抛出异常的情况下实例化异常吗?

我正在使用名为Rollbar的SaaS错误和异常日志记录服务.在我的代码中,我有一个Rollbar静态对象,我可以用它来报告服务的异常.

例如:

try {
    ...
    throw new SomeException();
    ...
} catch (SomeException $e) {
    Rollbar::report_exception($e);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:我可以在不抛出异常的情况下实例化异常,就像它是任何其他普通对象一样,是否有任何警告?

我想做这样的事情:

if($api_response_ok) {
    // Do some stuff
    ...
} else {
    Rollbar::report_exception(new ApiException($api_error_msg));
}

// Script execution continues...
Run Code Online (Sandbox Code Playgroud)

php php-5.4

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

如何填写富文本编辑器字段以进行Codeception Acceptance测试

我正在尝试在Codeception中的验收测试中填写富文本编辑器字段(TinyMCE).

使用该fillField()功能不起作用,因为此"字段"实际上不是输入字段.它是一个iframe样式,看起来像一个花哨的textarea.

如何将一些文本设置到TinyMCE框的主体中?我想我正在寻找一个$I->setContent(xpathOrCSS)功能的添加.或者还有其他事情可以做到这一点吗?

tinymce acceptance-testing rich-text-editor ckeditor codeception

5
推荐指数
2
解决办法
1846
查看次数

什么是Laravel特质模式?

在查看Laravel源代码时,我注意到很多这样的东西:

控制器类:

class Controller extends BaseController
{
    use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests;
}
Run Code Online (Sandbox Code Playgroud)

其组成特征之一:

trait AuthorizesRequests {

    /**
     * Authorize a given action against a set of arguments.
     *
     * @param  mixed $ability
     * @param  mixed|array $arguments
     *
     * @return \Illuminate\Auth\Access\Response
     *
     * @throws \Illuminate\Auth\Access\AuthorizationException
     */
    public function authorize($ability, $arguments = []) {
        list($ability, $arguments) = $this->parseAbilityAndArguments($ability, $arguments);
        return app(Gate::class)->authorize($ability, $arguments);
    }

    // ...

}
Run Code Online (Sandbox Code Playgroud)

我有几个问题:

  • 这种模式(将可重用的功能抽象为特征)是否具有名称?
  • 这种模式在其他项目中是否有效?
  • 如果特征需要依赖性,是否有最佳实践方法来注入它们,而不是使用服务定位器(app()在这种情况下)?

我正在考虑在我的代码中使用这种方法在我的几个类之间共享一些通用功能 - 我正在考虑创建一个ChecksBarcodes特征,它将与股票信息库一起工作,并在一些相似但不相关的特性之间共享产品管理流程类,这些都需要检查条形码.

design-patterns dependency-injection laravel laravel-5

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

使用Mutagen在MP4文件中嵌入专辑封面

我希望能够使用mutagen将专辑封面添加到文件中,但是当我将其添加为文件时,它返回:

File "D:\Download\pandora\renamingMETAEFF.pyw", line 71, in <module>
    meta['covr'] = image
File "C:\Users\AMD\AppData\Local\Programs\Python\Python35\lib\site-packages\mutagen\_file.py", line 67, in __setitem__
    self.tags[key] = value
File "C:\Users\AMD\AppData\Local\Programs\Python\Python35\lib\site-packages\mutagen\mp4\__init__.py", line 357, in __setitem__
    self._render(key, value)
File "C:\Users\AMD\AppData\Local\Programs\Python\Python35\lib\site-packages\mutagen\mp4\__init__.py", line 371, in _render
    return render_func(self, key, value)
File "C:\Users\AMD\AppData\Local\Programs\Python\Python35\lib\site-packages\mutagen\mp4\__init__.py", line 732, in __render_cover 
    b"data", struct.pack(">2I", imageformat, 0) + cover))

TypeError: can't concat bytes to str
Run Code Online (Sandbox Code Playgroud)

相关的代码是这样的:

from mutagen.mp4 import MP4

image = jpgname + '.jpg'
meta['\xa9nam'] = song
meta['\xa9ART'] = artist
meta['\xa9alb'] = album
meta = MP4(songPath)
meta['covr'] = image …
Run Code Online (Sandbox Code Playgroud)

python m4a albumart mutagen

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

应该发送什么 HTTP 代码来响应可疑的恶意请求

假设我发现我的 Web 应用程序收到了明显是 SQL 注入攻击或类似攻击的请求。我编写了一个简短的测试来检查“顽皮”字符串的请求变量。如果我找到一个,我应该用什么代码来回应?

我正在考虑返回“403 Forbidden”并且没有内容,但我不确定。

http-headers

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

Google Map API v3中的清除/重置方向面板

每次我们通过方向服务搜索路线时,结果将附加到方向面板的底部.有些人建议将div选项卡中的面板重置为null ...任何人都可以建议如何操作...

function calcRoute() {
  directionsDisplay = new google.maps.DirectionsRenderer({
    'map': map,
    'preserveViewport': false,
    'draggable': true
  });
  directionsDisplay.setPanel(
    document.getElementById("directions_panel")
  );

  // ... code to make Directions API request and display response ...
}
Run Code Online (Sandbox Code Playgroud)

HTML部分:

     <div id="directions_panel" style="width:90%"></div>
Run Code Online (Sandbox Code Playgroud)

html google-maps-api-3 google-directions-api

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

使用codeception和log separete结果测试多个url(文件)

我正在尝试使用Codeception为家庭作业创建一个小测试套件.我的想法是将单个Cest测试场景应用于多个URL并获得不同的结果,然后我可以通过某些标识(例如文件的名称)进行记录.

我无法弄清楚有两件主要的事情:

  1. 如何使用不同的URL运行单个测试并记录每次测试失败的断言/传递断言?
  2. 如何检查每个断言,即使其中一些失败了?

提前致谢!

php automated-tests codeception

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