我在理解如何header("Location: http://www.google.com/");在HTML页面中工作时遇到问题<body>.
不应该出现错误,因为在<?php ... ?>部件启动之前,由于HTML输出已经发送了标头.
我指的Cannot modify header information - headers already sent by...是我期待得到的警告.
我正在我的本地PHP开发环境(Apache/2.2.15(Win32)PHP/5.3.2)上测试它.
这是一个例子:
<html>
<head>
</head>
<body>
<?php header("Location: http://www.google.com/"); ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢.
这更像是一个文档,而不是一个真实的问题.这似乎还没有在SO上得到解决(除非我错过了),所以这里有:
想象一下包含静态成员的泛型类:
class Foo<T> {
public static int member;
}
Run Code Online (Sandbox Code Playgroud)
是否有每个特定类的成员的新实例,或者所有Foo类类只有一个实例?
可以通过以下代码轻松验证:
Foo<int>.member = 1;
Foo<string>.member = 2;
Console.WriteLine (Foo<int>.member);
Run Code Online (Sandbox Code Playgroud)
结果是什么,这种行为记录在哪里?
我正在开发iphone应用程序,它将在第一个视图中显示4个按钮.点击一个按钮,它将加载一个带导航控制器的新视图.此导航控制器视图允许最多11个子视图.在第11个子视图中,我有一个重置按钮.点击重置按钮,我会回到导航控制器第一个视图而不遍历所有11个视图?有可能实现吗?如果有,怎么样?如果不是,可以解决什么问题?
我正在尝试在JUnit测试中使用使用Apache CXF的HTTP基本身份验证的远程Web服务.
我得到的错误是:
javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://localhost:8080/services/MyService?wsdl. It failed with:
Server returned HTTP response code: 401 for URL: http://localhost:8080/services/MyService?wsdl.
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:151)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:133)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:165)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93)
at javax.xml.ws.Service.<init>(Service.java:76)
at com.wave2.marketplace.importer.impl.adportal.ws.MyServiceService.<init>(MyServiceService.java:37)
at com.wave2.marketplace.importer.impl.adportal.MyWSTest.testConsumingTheWS(MyWSTest.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) …Run Code Online (Sandbox Code Playgroud) 我刚到新公司,之前从未与Qt合作,但我的任务是在2周内学习Qt,所以我可以给别人培训.所以我有2个星期的时间学习Qt并准备2周的Qt教学.我死了!请指出一些常见的错误,技巧,风格,以便我可以使训练更好一点!
谢谢!
编辑:我用过这本书 - 用Qt 4进行C++ GUI编程,非常好.例子非常好.我还有一些来自previos培训的培训材料.那是2周的训练,我们几乎涵盖了所有Qt方面!好一个!;)
edit4:wikified ,因为这似乎已经变成了讨论而不是特定的问题.
在C++编程中,通常认为"更喜欢非成员非朋友函数"而不是实例方法是一种好习惯.这是Scott Meyers在这篇经典的Dr. Dobbs文章中推荐的,Herb Sutter和Andrei Alexandrescu在C++编码标准中重复了这一点(第44项); 一般的论点是,如果一个函数只能通过依赖类暴露的公共接口来完成它的工作,它实际上增加了封装,使其成为外部的.虽然这在某种程度上混淆了班级的"包装",但通常认为其好处是值得的.
现在,自从我开始用C#编程以来,我有一种感觉,这就是他们试图通过"非成员,非朋友的函数来实现这个概念的最终表达"接口".C#为混合添加了两个关键组件 - 第一个是接口,第二个是扩展方法:
因此,您可以通过会员的便利获得"非会员,非朋友"功能的封装优势.对我来说似乎是两全其美的事情; .NET库本身在LINQ中提供了一个光辉的例子.然而,我看到的每个地方都看到人们警告不要过度使用扩展方法; 甚至MSDN页面本身都说明:
通常,我们建议您谨慎实施扩展方法,并且只在必要时才实施.
(编辑:即使在目前的.NET库,我能看到它会一直有扩展,而不是实例方法有用的地方-例如,所有的实用功能List<T>(Sort,BinarySearch,FindIndex等)将是非常有用的如果他们被提升到IList<T>- 获得这样的免费奖励功能可以为实现界面带来更多好处.)
那么判决是什么?扩展方法是封装和代码重用的极致,还是我只是在欺骗自己?
(编辑2 :对Tomas的回应 - 虽然C#确实从Java(过度,imo)OO心态开始,但似乎每个新版本都采用了更多的多范式编程;这个问题的主旨是使用扩展方法来推动风格改变(朝向更通用/功能性的C#)是有用或有价值的.)
到目前为止,使用此方法确定的唯一真正问题是,如果需要,您无法专门使用扩展方法.我一直在考虑这个问题,我想我已经找到了解决方案.
假设我有一个接口MyInterface,我想扩展 -
我在MyExtension静态类中定义我的扩展方法,并将其与另一个接口配对,调用它MyExtensionOverrider.MyExtension方法是根据这种模式定义的:
public static int MyMethod(this MyInterface obj, …Run Code Online (Sandbox Code Playgroud) 我刚刚更改了所有代码以使用__autoload来发现它与joomla自动加载器冲突.在某些情况下,我将我的应用程序与joomla集成到注册用户等.
我发现spl_autoload_register()显然允许许多自动加载器.
我该怎么办?
更新:这是joomla的作用
从/library/loader.php加载此文件
function __autoload($class)
{
if(JLoader::load($class)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
更新2:
好的,在我加载我调用的Joomla库之后
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
//autoloader so that it does not interfere with mine
spl_autoload_register('__autoload');
Run Code Online (Sandbox Code Playgroud)
这就是我的自动加载看起来像:
<?php
//IMPORT
function myAutoload($class_name)
{
$path = str_replace('_', '/', $class_name);
include $path . '.php';
}
?>
spl_autoload_register('myAutoload',false,true);
Run Code Online (Sandbox Code Playgroud)
Mine首先被调用而joomla被调用一秒,然而,app仍然无法找到Joomla类.
更新3:
运行后:
echo "PRE: myAutoload:" . spl_autoload_functions() . "<br />";
spl_autoload_register('myAutoload',false,true);
echo "POST: myAutoload:" . spl_autoload_functions() . "<br />";
Run Code Online (Sandbox Code Playgroud)
和
echo "PRE: …Run Code Online (Sandbox Code Playgroud) 尝试获取一个线程来更改Windows Mobile中的表单控件.
引发不受支持的异常.
这是否意味着它根本无法完成?
如果没有,我该怎么做呢?在父/主线程中创建表单,然后创建一个线程在后台执行一些工作,但我想这样做,以便后台线程可以更新表单以显示其完成...
我正在使用原始查询,我无法找到如何获得它返回的结果数.有办法吗?
编辑
.count()不起作用.它返回:'RawQuerySet'对象没有属性'count'
有没有办法更改cmd标题?我写了一个vbs程序。但是dos标题不好。
名称是 c:\windows\system32\cscript.exe 我尝试使用:
标题 the_name 和标题 ="姓名"
但两者都不起作用。
感谢帮助。