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的请求只是跳过记录请求.
如何启用对控制台的所有请求的记录?
我有一个简单的组件,当用户加载页面时调用一个动作,并且在该动作中,我试图调度另一个动作来将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) 我有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(控制反转)。
这似乎只发生在我的系统上.没有其他人可以重现它.如果错误的消息太大(在我的情况下大约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) 我使用带有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个对象.这是一种"懒惰的装载"(不完全是,几乎)
我的问题很简单:是否可以在一个查询中检索整个对象图?
谢谢
在MySQL中是否有类似printf()的格式?
我在文档中找不到简单的方法.
例如,我怎样才能做出类似的事情:
SELECT STRFORMATFUNCTIONIMLOOKINGFOR("%03d", 17)
Run Code Online (Sandbox Code Playgroud)
得到017?
我有两个分支,
新功能有一个提交,我想添加到 master,但我想要控制我想要合并的数量。
我想要为每一行添加/拒绝更改的选项。类似的我可以做git add -p
我搜索了很多,可能是我搜索了错误的术语。这似乎是很明显的任务。
我如何验证两个查询,如果第一个查询是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) 假设我有一个<select id="chat" size="9" />,我想添加一些optgroup和选项,就像这样
像这样的对象
{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)
编辑:键入输入而不是选择...
编辑:在看了这里的一些答案和研究时间之后,我的团队得出结论,很可能没有办法优化这个比我们能够实现的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) php ×4
javascript ×3
mysql ×3
sql ×3
dbref ×1
dvcs ×1
facade ×1
format ×1
formatting ×1
git ×1
html ×1
mongodb ×1
node.js ×1
pdo ×1
phpunit ×1
react-redux ×1
reactjs ×1
redux ×1
redux-thunk ×1
regex ×1
shell ×1
symfony ×1
url-routing ×1