小编Vla*_*pak的帖子

启用请求日志,即使路由器脚本用于PHP内置Web服务器也是如此

PHP的内置Web服务器允许使用"路由器脚本",允许在内部重写URL.

这种路由器脚本的问题在于,无论何时它实际处理文件而不是让PHP处理它,都会导致该请求的请求日志输出被抑制.例如,请考虑以下脚本:

<?php
if (preg_match('/^\/(js|css)/', $_SERVER['REQUEST_URI']) === 1) {
  return false;
}
else {
  echo 'hello world!'
}
Run Code Online (Sandbox Code Playgroud)

这会导致请求/js/*/css/*登录控制台; 而对任何其他URL的请求只是跳过记录请求.

如何启用对控制台的所有请求的记录?

php regex url-routing front-controller

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

Redux路由器 - "未定义调度"

我有一个简单的组件,当用户加载页面时调用一个动作,并且在该动作中,我试图调度另一个动作来将loggedIn商店的状态设置为true或false:

import React, { Component } from 'react'
import { Link, browserHistory } from 'react-router'
import $ from 'jquery'

class Login extends Component {

  constructor(props) {
    super(props)
  }
  componentDidMount() {
    this.props.actions.guestLoginRequest()
  }
  render() {
    return (
      <div>
        <div classNameName="container">
          <div className="row">
            We are signing you in as a guest
          </div>
        </div>
      </div>
    )
  }
}

export default Login
Run Code Online (Sandbox Code Playgroud)

我可以在guestLoginRequest调用操作时获取登录信息,但是当我尝试在其中调度另一个操作时,没有任何反应:

guestLoginRequest: function(){
    var ref = new Firebase("https://penguinradio.firebaseio.com");
    ref.authAnonymously(function(error, authData) {
      if (error) {
        console.log("Login Failed!", error);
      } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux redux-thunk react-redux

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

Symfony 如何在我的服务中获取容器

我有项目,在这个项目中,我有很大的自己的服务,它庞大而复杂,有自己的依赖项等......我想为这个服务创建,目的是使用我的服务controllers

$myService = $this->container->get('service_from_my_domain');
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在我的门面内部访问container服务的依赖项。我只知道一种方法 - 是在 yaml 配置中将依赖注入到服务中。
但是还有其他方法可以做到吗?喜欢:

$dependency = Container::getInstance()->get('my_dependency_service');
Run Code Online (Sandbox Code Playgroud)

我找到了这个答案,但是使用全局变量感觉就像回到了过去......

PS:我不想通过 yaml 配置(不是构造函数注入或 setter 注入)注入依赖项,因为我在这里不需要 IoC()。

php design-patterns facade inversion-of-control symfony

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

什么可能导致PHPUnit不打印非常大的错误消息?

这似乎只发生在我的系统上.没有其他人可以重现它.如果错误的消息太大(在我的情况下大约65k字节),屏幕上不会打印任何内容.我在Windows 7上使用PHP 7.1.3,默认的php.ini(内存限制设置为8gb)和默认的PHPUnit 6.0.13配置.错误不会出现在prompt和powershell中.

<?php

use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\TestCase;

class MyConstraint extends Constraint
{
    protected $expected;

    function __construct($expected){
        parent::__construct();
        $this->expected = $expected;
    }

    protected function matches($actual){
        return false;
    }

    function failureDescription($other): string{
        return "desc";
    }

    function toString(){
        return "description";
    }

    function additionalFailureDescription($other): string{
        return str_repeat("x", 100000);
        // If set to a smaller dump, error will appear
        // some people I asked to try could dump one million
        // bytes without problems, while I can't print more
        // than about 50k …
Run Code Online (Sandbox Code Playgroud)

php phpunit

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

Nodejs + mongodb:如何查询$ ref字段?

我使用带有nodejs REST服务的MongoDB,它暴露了我存储在里面的数据.我有一个关于如何查询使用$ ref的数据的问题.

以下是Object的示例,其中包含对其他对象(详细信息)的引用:

{
    "_id" : ObjectId("5962c7b53b6a02100a000085"),
    "Title" : "test",
    "detail" : {
        "$ref" : "ObjDetail",
        "$id" : ObjectId("5270c7b11f6a02100a000001")
    },
    "foo" : bar
}
Run Code Online (Sandbox Code Playgroud)

实际上,使用Node.js和mongodb模块,我执行以下操作:

db.collection("Obj").findOne({"_id" : new ObjectID("5962c7b53b6a02100a000085"},
function(err, item) {
    db.collection(item.$ref).findOne({"_id" : item.$id}, function(err,subItem){
        ...
    });
});
Run Code Online (Sandbox Code Playgroud)

实际上我做了2个查询,得到了2个对象.这是一种"懒惰的装载"(不完全是,几乎)

我的问题很简单:是否可以在一个查询中检索整个对象图?

谢谢

javascript mongodb node.js dbref

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

MySQL中的字符串格式

在MySQL中是否有类似printf()的格式?
我在文档中找不到简单的方法.

例如,我怎样才能做出类似的事情:

SELECT STRFORMATFUNCTIONIMLOOKINGFOR("%03d", 17) 
Run Code Online (Sandbox Code Playgroud)

得到017?

mysql sql format formatting

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

我可以从另一个分支向暂存区添加更改吗?

我有两个分支,

  • 掌握
  • 新功能

新功能有一个提交,我想添加到 master,但我想要控制我想要合并的数量。

我想要为每一行添加/拒绝更改的选项。类似的我可以做git add -p

我搜索了很多,可能是我搜索了错误的术语。这似乎是很明显的任务。

git shell version-control dvcs

8
推荐指数
2
解决办法
2037
查看次数

我如何在mysql中查询两个不同的表

我如何验证两个查询,如果第一个查询是NULL继续第二个查询?

第一查询:

 SELECT max(logs) as logs,id FROM table1 WHERE 
 message NOT LIKE "[ SYSTEM%"
Run Code Online (Sandbox Code Playgroud)

第二个查询:

 SELECT max(logs) as logs,id FROM table2 WHERE 
 message LIKE "[ SYSTEM%"
Run Code Online (Sandbox Code Playgroud)

php mysql sql pdo

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

javascript html选择动态添加optgroup和选项

假设我有一个<select id="chat" size="9" />,我想添加一些optgroup和选项,就像这样

http://jsfiddle.net/ZP4E9/

像这样的对象

{friendchat:[{name:"somefriend1",...},{name:"somefriend2",...},
otherchat:[{name:"someother1",...},{name:"someother2",...},
friendrequest:[{name:"somerequest1",...},{name:"somerequest2",...},
sentrequest:[{name:"somesent1",...},{name:"somesent2",...}]
Run Code Online (Sandbox Code Playgroud)

编辑:键入输入而不是选择...

html javascript

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

优化慢速MySQL选择查询

编辑:在看了这里的一些答案和研究时间之后,我的团队得出结论,很可能没有办法优化这个比我们能够实现的4.5秒(除非可能在offers_clicks上进行分区,但是会有一些丑陋的副作用).最后,经过大量的头脑风暴,我们决定拆分两个查询,创建两组用户ID(一个来自users表,一个来自offers_clicks),并将它们与Python中的set进行比较.来自users表的id组仍然是从SQL中提取的,但我们决定将offers_clicks移动到Lucene并在其上添加了一些缓存,这样就可以从中获取另一组ID了.最终的结果是缓存下降到大约半秒,没有缓存时下降到0.9秒.

原始帖子开始:我无法优化查询.第一个版本的查询很好,但是在第二个查询中加入了offers_clicks,查询变得相当慢.Users表包含1000万行,offers_clicks包含5300万行.

可接受的表现:

SELECT count(distinct(users.id)) AS count_1
FROM users USE index (country_2)
WHERE users.country = 'US'
  AND users.last_active > '2015-02-26';
1 row in set (0.35 sec)
Run Code Online (Sandbox Code Playgroud)

坏:

SELECT count(distinct(users.id)) AS count_1
FROM offers_clicks USE index (user_id_3), users USE index (country_2)
WHERE users.country = 'US'
  AND users.last_active > '2015-02-26'
  AND offers_clicks.user_id = users.id
  AND offers_clicks.date > '2015-02-14'
  AND offers_clicks.ranking_score < 3.49
  AND offers_clicks.ranking_score > 0.24;
1 row in set (7.39 sec)
Run Code Online (Sandbox Code Playgroud)

以下是它的外观而不指定任何索引(甚至更糟):

SELECT count(distinct(users.id)) AS count_1
FROM offers_clicks, users
WHERE …
Run Code Online (Sandbox Code Playgroud)

mysql sql query-optimization

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