有没有办法在PHP中的函数内访问一个类的实例?像这样:
include("class.php");
$bla=new Classname();
function aaa(){
$bla->DoSomething(); //Doesn't work.
}
$bla->DoSomething(); //Works.
Run Code Online (Sandbox Code Playgroud) 我正在使用不重复使用MVC的ASP.NET网站进行URL重写.该网站工作正常,直到今天我才开始收到2个错误.根据FireBug,这两个错误都在WebResource.axd的第3行.这是文件中的第一行代码,行只有这个:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?这对我来说没什么意义.
另外,我正在使用RouteCollection和IRouteHandler.我曾经指导过的网站是http://www.4guysfromrolla.com/articles/051309-1.aspx.我做的唯一真正的改变是我在我的页面中添加了2个链接,我没有创建路由,但我从未点击过这些链接.
我已经修复了我的2个链接,页面工作正常大约一个小时,然后它开始再次抛出错误,这次似乎没有押韵或理由.我最大的问题是它没有任何意义.第一行的语法错误似乎是一个奇怪的错误.
我刚刚开始使用OCUnit并发现断言有点麻烦.在JUnit中,我可以编写一个测试来比较下面的数字.这个测试显然会失败,但这显示了一个很好的,简单的断言,我可以写两个数字和我得到的反馈:"预期<2>但是<3>",代码非常少.
替代文字http://i49.tinypic.com/2aeo8kn.png
我到目前为止尝试的是XCode:
替代文字http://i48.tinypic.com/25kj1x2.png
哪个有效,但不如JUnit那么优雅.你知道它是否存在断言宏alàJUnitfor XCode(OCUnit)?此外,是否可以在XCode中获得红色/绿色条?
我刚刚创建了一个非.NET内部自定义系统将使用的Web服务.关于在.NET 3.5环境中专门针对.asmx(最佳实践,如何测试调用,不执行哪些操作等)设置测试类和方法的最佳方法,我想提供一些建议.
我将使用NUnit进行此测试.它是否像创建测试项目一样简单,向其添加服务,然后创建测试类和该服务的实例.然后开始创建测试方法?
我需要测试.asmx和.asmx.cs方法(单元测试方法),以便我知道是否将其传递给队友,它将会起作用.
也许直接测试.asmx.cs是不可能的,我只需通过集成测试进行测试.我想我真正需要的是模拟我的.asmx.可能不可能.
我的页面上有以下jQuery代码:
var isChanged = false;
$(document).ready(function()
{
$('.change').change(function() {
isChanged = true;
});
});
Run Code Online (Sandbox Code Playgroud)
我正在使用一个插件来修改它链接到的文本框的值:
target.val('xxxx');
Run Code Online (Sandbox Code Playgroud)
html中的文本框(来自asp.net)是:
<input name="ctl00$cphHolder1$rptFlex$ctl01$txtLeftRank"
type="text"
value="52°"
id="ctl00_cphHolder1_rptFlex_ctl01_txtLeftRank"
class="change atiselector" />
Run Code Online (Sandbox Code Playgroud)
使用代码更改文本框的值时,更改不会触发.如果我在文本框中输入,则更改将触发.我错过了什么?
我正在尝试TabItem在设计视图中向另一个添加控件,但我只能看到第一个TabItem带有我之前添加的所有控件,目前我只能通过代码视图窗口上的硬编码添加控件,因此我必须编译程序,以便查看硬编码添加的控件的结果.
任何帮助,将不胜感激.
如何在按降序排序的列表上使用bisect模块?例如.
import bisect
x = [1.0,2.0,3.0,4.0] # normal, ascending
bisect.insort(x,2.5) # --> x is [1.0, 2.0, 2.5, 3.0, 4.0] ok, works fine for ascending list
# however
x = [1.0,2.0,3.0,4.0]
x.reverse() # --> x is [4.0, 3.0, 2.0, 1.0] descending list
bisect.insort(x,2.5) # --> x is [4.0, 3.0, 2.0, 1.0, 2.5] 2.5 at end, not what I want really
Run Code Online (Sandbox Code Playgroud)
唯一的方法是insort(insort_right)或insort_left - 这些方法都不适用于我.有什么建议?谢谢
您将如何实现如Expression Blend中所示的对接工具箱窗口系统,您可以通过多种方式将工具箱窗口对接在一起,重叠为标签或浮动顶层窗口.我的系统应该与Expression Blend中的行为非常相似.此外,我得到视觉提示的方式,拖动时工具箱窗口将停靠,这正是我需要的.
只有一个例外:在混合时,当拖动到已经顶层(撕下)的工具箱窗口时,我只能将其作为填充整个窗口的选项卡停靠.但是我需要一个工具箱窗口和主窗口之间没有区别的系统.我需要能够将窗口停靠在工具箱窗口中,就像在主窗口中一样.
另请注意,由于内部策略,我无法使用任何开源或第三方库.
我会对你如何为这样的东西设置一般类设计感兴趣?我希望保持尽可能通用,以便它可以用于许多不同的场景.
停靠行为如下图所示.中心图像显示了感应拖曳对接区域.窗口会突然出现的外部图像:
alt text http://img196.imageshack.us/img196/2450/dockingregions.png
一般来说,我在这里遇到市长问题:我如何设计编程模型(如何在XAML中持久化对接配置)以及如何实际实现底层功能.我的第一个想法是,我想成为DockPanel和TabControl的共生.有点像这样:
<DockTabControl>
<DockTabItem Dock="FirstLeft">
<DockTabItem.Header>
<TextBlock>Tab 1</TextBlock>
</DockTabItem.Header>
<!-- Tab 1 content -->
</DockTabItem>
<DockTabItem Header="Tab 2" Dock="SecondLeft" DockMode="MergeWithPreviousToTabgroup">
<!-- Tab 2 content -->
</DockTabItem>
<DockTabItem Header="Tab 3" Dock="FirstMiddle">
<!-- Tab 3 content -->
</DockTabItem>
</DockTabControl>
Run Code Online (Sandbox Code Playgroud)
当然这还没有意义.无法以这种方式定义停靠,并且此处尚未解决窗口问题.但我喜欢仅通过在DockTabItem上定义一些属性来定义对接和tabgroups的想法.我真的不想引入像TabGroups或类似的额外控件.我只是通过定义子节点和Dock附加属性的顺序来了解DockPanel中的对接行为.当然,我的对接会更复杂,行为更像网格.
我有一个扫地机应该到期一些动作缓存.即使调试器在调用expire_action之前立即停止,它实际上并没有使操作到期.知道会发生什么吗?
这是相关的清扫车和控制器.
#company_sweeper.rb(在'models'目录中)
class CompanySweeper < ActionController::Caching::Sweeper
observe Company
def after_save(company)
expire_cache(company) if company.final_save && company.valid?
end
def expire_cache(company)
debugger <= #debugger stops here!
right before the call
I'm trying to make.
expire_action :controller => 'reports',
:action => 'full_report'
end
end
Run Code Online (Sandbox Code Playgroud)
#reports_controller.rb
class ReportsController < ApplicationController
layout false
caches_action :full_report, :supplier_list, :service_categories
cache_sweeper :company_sweeper
def full_report
#do stuff...
end
end
Run Code Online (Sandbox Code Playgroud)
我知道它没有到期的方式是完整的报告返回旧数据,并几乎立即响应.很奇怪,对吗?
检查密钥是否存在的更有效/更快/更好的方法是哪种?
if 'subject' in request.POST:
subject = request.POST['subject']
else:
// handle error
Run Code Online (Sandbox Code Playgroud)
要么
try:
subject = request.POST['subject']
except KeyError:
// handle error
Run Code Online (Sandbox Code Playgroud)