小编Lei*_*igh的帖子

如何在Eclipse中隐藏.svn文件夹而不显示空包?

如何在Eclipse中隐藏.svn文件夹,而不是同时显示空包?

在此输入图像描述

Eclipse显示这些包,因为那里有一个.svn文件夹.

我正在使用TortoiseSVN.

java eclipse svn tortoisesvn

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

在PHP中缓存MongoDB对象

我一直在尝试编写"好代码"并使用依赖注入来传递我的类的构造函数中的数据库对象.

构造函数通常采用以下形式:

public function __construct(MongoDB $db) {
    $this->collection = $db->collectionName;
}
Run Code Online (Sandbox Code Playgroud)

我注意到,对于创建的每个对象,都会创建一个 对象MongoCollection.(即访问 $db->collectionName 属性两次返回两个不同的对象,而不是同一个对象)

我一直在使用ActiveRecord样式基类,因此对象可以自己CRUD.

现在,当我使用某种getAllRecords()功能,并返回100个这些对象时,MongoCollection会创建100个对象.(快速查看驱动程序源似乎表明在那里也创建了新对象,而不仅仅是PHP中的新表示)

我通过包装两个类MongoMongoDB类来实现缓存,从而解决了这个问题.

class MyMongo extends Mongo
{
    private $objectCache = array();

    public function __get($name) {
        return array_key_exists($name, $this->objectCache)
            ? $this->objectCache[$name]
            : $this->objectCache[$name] = new MyMongoDB($this, $name);
    }
}

class MyMongoDB extends MongoDB
{
    private $objectCache = array();

    public function __get($name) {
        return array_key_exists($name, $this->objectCache)
            ? $this->objectCache[$name]
            : $this->objectCache[$name] = new MongoCollection($this, $name); …
Run Code Online (Sandbox Code Playgroud)

php caching mongodb

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

PHP"注意:未定义的索引"是无害还是真正的错误?

虽然我的网站工作没有任何问题,但我突然开始在我的服务器上拥有非常高的CPU使用率,所以我开始更仔细地检查代码并启用E_ALL错误报告.

然后我发现我有很多这样的"通知":

Notice: Undefined index: userID in /var/www/vhosts/mydomain.com/httpdocs/header.php on line 8
Run Code Online (Sandbox Code Playgroud)

大多数或他们引用未设置的cookie,例如:

$uid = $_COOKIE['userID'];
Run Code Online (Sandbox Code Playgroud)

如果用户未登记,我会立即收到通知,并且每次使用时都会收到通知$uid.

我想知道的是:这些通知是否无害或者它们是否真的会导致我的网站出现任何问题?(速度问题,错误等)

php debugging

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

对于循环递增时间45分钟

我知道我可以用这样的整数做一个正常的循环

for($i=0;$i<10;$i++)
{
   echo $i;
}
Run Code Online (Sandbox Code Playgroud)

问题:
我想循环遍历一个不是整数而是浮点数(45分钟)的循环.我希望结果如下:

0.45
1.30
2.15
3.00
3.45
...
Run Code Online (Sandbox Code Playgroud)

PHP中是否有任何辅助函数来实现?

php for-loop

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

你如何在Silex中设置和获取cookie?

正如标题所示,

这是代码......

public function index(Request $request, Application $app)
{
    $cookies = $request->cookies;
    print_r($request->cookies);
    if(!$cookies->has("recordsPerPage"))
    {
        $response = new Response();
        $cookie = new Cookie("recordsPerPage", $app['defaultRecordsPerPage']);
        $response->headers->setCookie($cookie); 
    }
    print_r($request->cookies);exit; //prints nothing here !!
}
Run Code Online (Sandbox Code Playgroud)

我也尝试将其设置为$app->after()但失败了.你有没有其他方法来设置除控制器以外的cookie.

谢谢.

php silex

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

为什么`echo的输出是真的?'a':是吗?'b':'c';''b'?

我有这个PHP代码:

echo true ? 'a' : true ? 'b' : 'c';
Run Code Online (Sandbox Code Playgroud)

这个输出是:

b

但我预期的输出是:

一个

php

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

防止Javascript解码编码的HTML

首先让我说Javascript不是我的强项,我为此主题的信息所做的所有搜索都导致了如何处理url编码/解码字符串.

我遇到类似以下代码的问题:

<a href="#" onclick="<?php echo "alert('&#039;');"; ?>">test</>
Run Code Online (Sandbox Code Playgroud)

我希望由于传递给alert的值是url编码的,因此当点击链接时,会显示一个警告框,其中包含值&#039;.

事实证明,因为它位于onclick的引号之间,所以浏览器在执行之前将'解码'为单引号.基本上导致代码alert(''');明显破坏可怕.

以下工作正常.

<script>alert('&#039;');</script>
Run Code Online (Sandbox Code Playgroud)

首先,有没有办法禁用这种行为,或一个聪明的解决方法?(我猜不是)

我目前的解决方案是解码html编码的字符串,将斜杠应用于引号,然后重新编码.显然不是很优雅.

我们非常感谢更好的解决方案.

javascript php

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

如何使用PHP在字符串中查找内容

我对PHP有点绿色,因为我以前在ASP经典编码,它真的不一样

我有3个包含以下文本的字符串:

$str1 = "is simply dummy text of the printing $$ 6/4r $$ and typesetting industry"
$str2 = "is simply dummy text of the printing $$ 11/11tr $$ and typesetting industry"
$str3 = "is simply dummy text of the printing $$ 15/6 $$ and typesetting industry"
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得6/4r,11/11tr并且15/6出单独的变量?

  1. 我认为这就像搜索一样 $$
  2. 问,下一个char是一个空间吗?
  3. 问,下一个字母是一个数字吗?
  4. 问,是下一个字母'/'

当所有这些都是真的时,我想抓住6/4r并把它放在一个单独的var中.

我怎么能用PHP做到这一点?

php

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

由于ZEND_NUM_ARGS()宏而无法构建扩展

我正在编写小的php扩展,并在构建它时遇到问题.代码:

PHP_RINIT_FUNCTION(pstat)
{
    int argc = ZEND_NUM_ARGS();
    return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

on make出错了:

.... /ext/pstat/pstat.c:122:31: error: 'ht' undeclared (first use in this function)
Run Code Online (Sandbox Code Playgroud)

ZEND_NUM_ARGS()是Zend_API.h中的一个宏

#define ZEND_NUM_ARGS()     (ht)
Run Code Online (Sandbox Code Playgroud)

但是'什么'是什么?有任何想法吗?

php c php-internals

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

INSERT上的PHP MySQL错误

我真的把头发拉出来了.我在自建的php应用程序上有一个简单的评论部分,如果我抓住$ _GET参数,我只想添加一个新行.但无论我如何构建MySQL插入请求,我都会收到错误.

这是我到目前为止:

if(isset($_GET['r'])){
    $replyid = mysql_real_escape_string($_GET['r']);
    $sentnow = date("Y-m-d H:i:s");
    mysql_query("INSERT INTO eis_inbox (messageid, toid, from, contact, seen, message, date) VALUES (NULL, '".$replyid."', 'TESTUSER', 'CONTACTINFO', '0', 'MESSAGE', '".$sentnow."'") or die(mysql_error());
    echo '<meta http-equiv="refresh" content="0;/messages">';
}
Run Code Online (Sandbox Code Playgroud)

我的MySQL数据库字段被称为完全相同:messageid(auto_increment),toid(int11),from(varchar255),contact(varchar255),seen(int3),message(text)和date(timestamp/CURRENT_TIMESTAMP).

执行上面的页面,让我们说"index.php?r = 777"应该,正如我所看到的,用一个新行填充我的MySQL:

messageid = (AUTO_INCREMENT)
toid = 777
from = TESTUSER
contact = CONTACTINFO
seen = 0
message = MESSAGE
date = 2013-01-17 11:50:01
Run Code Online (Sandbox Code Playgroud)

相反,我收到以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server …
Run Code Online (Sandbox Code Playgroud)

php mysql insert

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