小编mol*_*olf的帖子

在PHP(> = 5.0)中,通过引用更快地传递?

在PHP中,函数参数可以通过在函数声明中的参数前加一个&符号来引用,如下所示:

function foo(&$bar)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

现在,我知道这不是为了提高性能,而是为了允许函数更改通常超出其范围的变量.

相反,PHP似乎使用Copy On Write来避免复制对象(也可能是数组),直到它们被更改为止.因此,对于不更改其参数的函数,效果应与通过引用传递它们的效果相同.

但是,我想知道Copy On Write逻辑是否可能在传递引用时短路,以及是否会对性能产生任何影响.

ETA:可以肯定的是,我认为它并不快,而且我很清楚这不是引用的内容.所以我认为我自己的猜测非常好,我只是想找一个真正知道发生在幕后的人的回答.在PHP开发的五年中,我总是发现很难通过阅读源来获得PHP内部的高质量信息.

php performance pass-by-reference

64
推荐指数
4
解决办法
3万
查看次数

将图像浮动到右下角,文字环绕

我有一个带有段落和标题的文本容器.在页面的底部,我想将图像浮动到页面的右侧,而文本环绕图像.图像的底部应与最后一段的底部齐平.

页面宽度是可变的(响应),但图像尺寸是固定的.是否有可能在HTML和CSS中实现这一点(CSS3很好)?如果没有,可以用最少量的Javascript完成吗?

这是我想要完成的示意图:

浮动图像到右下角

HTML目前看起来像这样,但如果需要可以更改.我并不特别关心图像所在的文档中的位置.使用背景图像也可以.

<section>
  <h2>...</h2>
  <p>... ...</p>
  <p>... ...</p>
  ...
  <img src="...">
</section>
Run Code Online (Sandbox Code Playgroud)

当我float: right在图像上设置时,它会向右浮动,但我无法将其对齐到页面底部.建议?

编辑:我得到的最接近是 ... :-)

html css image

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

Ruby on Rails - 我可以在保存之前修改数据吗?

快速示例:用户在表单中输入用户名,在将其存储在应用程序的数据库中之前,我需要创建该文本用户名,从而使其永久小写.

我将把这段代码放在哪里,以及如何访问要小写的数据?

谢谢.

ruby ruby-on-rails

44
推荐指数
5
解决办法
3万
查看次数

为占有字符串制作铁轨变形?

我想创建一个除了默认的'foo'.titlecase之外的方法,它将正确地添加"占有性".

字符串是用户的名字(< - 只是在那里做了一个!)

例如:"sam"是用户<%= user.titlecase.possessive +'个人资料'%> => #Sam的个人资料

它只需要处理边缘情况,如:

钢人队的简介(应该是钢人队的简介)罗斯的简介(应该是罗斯的简介)

ruby-on-rails

34
推荐指数
4
解决办法
9452
查看次数

Sendmail vs SMTP

生产中的rails应用程序应该使用smtp或sendmail发送邮件吗?

smtp sendmail ruby-on-rails

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

RoR和RSpec:如何在不定义访问器的情况下访问控制器实例变量?

我正在为我的控制器编写一个rspec测试,但我找不到解决问题的方法.对于其中一个边缘案例测试,我需要验证一个实例变量的值.如何在不必定义访问者的情况下访问它?通常默认情况下:

controller.variable.should == '3.15' 
Run Code Online (Sandbox Code Playgroud)

不起作用.

定义

attr_reader:变量

只是让测试通过将是愚蠢的,我敢肯定有一个更智能的方式.

controller rspec ruby-on-rails

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

以在编译时和运行时都可用的方式在C++中描述像素格式信息

我有一个对像素进行操作的库.像素可以采用多种不同的格式.我正在寻找一种有效的方法来描述库API中的格式(内部和外部).

对于某些类,像素格式是模板参数,对于其他类,它是运行时参数.因此像素格式需要在运行时(作为构造函数或函数参数)和编译时(作为模板参数)都可用.我只想描述像素格式一次.

我现在拥有的是这样的:

enum class color_space : uint8_t { rgb, cmyk /* , etc... */ };

struct pixel_layout {
    color_space space;
    uint8_t channels;
    /* etc... */
};

template <color_space ColorSpace, uint8_t Channels /* etc.. */>
struct pixel_type {
    static constexpr color_space space = ColorSpace;
    static constexpr uint8_t channels = Channels;
    /* etc... */

    static constexpr pixel_layout layout() {
        return {space, channels /* , etc... */ };
    }
};

struct rgb  : public pixel_type<color_space::rgb, 3 …
Run Code Online (Sandbox Code Playgroud)

c++ templates c++11

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

使用mysql group by显示计数为0的行

我在MySql公司有两个表:(cname,city)有效:( ename,cname,salary)

我想显示为每家公司工作的员工人数,即使这个数字为零.

例如为...

Company : 
Microsoft Bangalore
IBM       NY

works : 
emp1 Microsoft 10000
emp2 Microsoft 90000
Run Code Online (Sandbox Code Playgroud)

输出应该是:

Microsoft 2
IBM 0
Run Code Online (Sandbox Code Playgroud)

但是以下查询和其他类似查询仅打印那些至少有一名员工的公司:

Select count(*) from works natural join company group by company.cname
Run Code Online (Sandbox Code Playgroud)

如果我使用外部联接,那么零雇员的公司仍然会出现在一行中,因此该选项也是如此.

怎么做?

mysql group-by

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

用正则表达式解析CSS

我正在创建一个CSS编辑器,我正在尝试创建一个可以从CSS文档中获取数据的正则表达式.如果我有一个属性但是我不能让它适用于所有属性,这个正则表达式是有效的.我在PHP中使用preg/perl语法.

正则表达式

(?<selector>[A-Za-z]+[\s]*)[\s]*{[\s]*((?<properties>[A-Za-z0-9-_]+)[\s]*:[\s]*(?<values>[A-Za-z0-9#, ]+);[\s]*)*[\s]*}
Run Code Online (Sandbox Code Playgroud)

测试用例

body { background: #f00; font: 12px Arial; }
Run Code Online (Sandbox Code Playgroud)

预期结果

Array(
    [0] => Array(
            [0] => body { background: #f00; font: 12px Arial; }
            [selector] => Array(
                [0] => body
            )
            [1] => Array(
                [0] => body
            )
            [2] => font: 12px Arial; 
            [properties] => Array(
                [0] => font
            )
            [3] => Array(
                [0] => font
            )
            [values] => Array(
                [0] => 12px Arial
                [1] => background: #f00
            )
            [4] => Array(
                [0] => 12px Arial …
Run Code Online (Sandbox Code Playgroud)

css php regex css-parsing

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

在Rails 2.2+中测试HTTP Basic Auth

作为我正在构建的API的一部分,有一种用户身份验证方法,成功时返回有用的用户信息,API令牌等的有效负载.

在为处理此问题的控制器编写功能测试时,我遇到了测试HTTP Basic auth的问题; 我发现很多博客提到以下代码应该用于欺骗标头以进行身份​​验证尝试:

@request.env['HTTP_AUTHORIZATION'] = ActionController::HttpAuthentication::Basic.encode_credentials(email, pass)
Run Code Online (Sandbox Code Playgroud)

问题是这没有效果; authenticate_with_http_basic没有看到标题,因此即使存在有效凭据也会返回false.

我错过了什么吗?

请注意,如果在回答中有用,应用程序将被冻结到Rails 2.2.2.

authentication testing ruby-on-rails basic-authentication http-headers

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