小编Kev*_*erg的帖子

两个应用程序中的断点使用Xdebug共享相同的代码库

我在运行Ubuntu的本地Vagrant实例上设置了Xdebug.它按预期工作,我可以在我的应用程序中设置断点.

我有一个场景,应用程序向内部API发出请求.内部API位于同一服务器和相同的代码库中.

树例证

codebase/
  app/
    root
  api/
    root
Run Code Online (Sandbox Code Playgroud)

该应用程序可通过https://local.myapplication.com访问,API可在本地访问,如http://local.api.myapplication.com).

如果我现在在API的某些代码中设置断点,然后访问https://local.myapplication.com/some/action/that/triggers/the/api/code,只有在我不初始化Xdebug时才会触发断点第一个应用程序的会话,即我没有设置XDEBUG_SESSION_START查询参数.如果已设置,则忽略我的断点.

这有一定的缺点.如果我在应用程序和API中有断点,那么我现在无法触发这两个断点.我可以触发应用程序断点或API断点.

我正在使用Sublime Text 3和插件https://github.com/martomo/SublimeTextXdebug.我的Xdebug设置php.ini是:

zend_extension="/usr/lib/php5/20090626/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=192.168.3.1
xdebug.remote_port=9000
xdebug.remote_log="/tmp/php5-xdebug.log"
Run Code Online (Sandbox Code Playgroud)

这可以解决吗?任何答案/评论表示赞赏!

php debugging xdebug vagrant sublimetext3

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

ActiveRecord如何检测链中的最后一个方法调用?

让我为你想象一下.

class Product < ActiveRecord::Base
end

Product.first.title
#=> "My sample product"
Run Code Online (Sandbox Code Playgroud)

这里没什么特别的.只是一个简单的方法调用.现在看一下下面的例子.

class Product < ActiveRecord::Base
  def method_missing
  end
end

Product.first.title
#=> nil

Product.first
Product.first.title
#=> "My sample product"
Run Code Online (Sandbox Code Playgroud)

这怎么可能?在某种程度上,他们确定方法链的结束并采取行动?至少这就是我的理论.

谁能解释这种行为?

ruby activerecord method-chaining

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