我有一个PHP客户端通过HTTP请求XML文件(即通过URL加载XML文件).截至目前,XML文件的大小只有几KB.我可以预见的一个问题是XML的大小会变成几个MB或Gbs.我知道这是一个很大的问题,可能有无数的解决方案,但您有什么想法将这些数据传输到客户端?
谢谢!
最近我一直习惯于将整数值赋给常量,并简单地使用常量名作为识别其目的的手段.但是,在某些情况下,当需要字符串表示时,这导致需要编写类似typeToString($ const)的函数.显然这是低效和不必要的,但每隔一段时间只是一个问题.
所以我的问题是,我应该考虑其他任何权衡吗?哪种情况被认为更清洁/更符合标准?此外,大多数情况下性能差异是否可以忽略不计?
案例1 :(当不需要字符串版本时更快?)
class Foo {
const USER_TYPE_ADMIN = 0;
const USER_TYPE_USER = 1;
const USER_TYPE_GUEST = 2;
public $userType = self::USER_TYPE_ADMIN;
public function __construct($type) {
$this->userType = $type;
}
public function typeToString() {
switch($this->userType) {
case self::USER_TYPE_ADMIN:
return 'admin';
break;
case self::USER_TYPE_USER:
return 'user';
break;
case self::USER_TYPE_GUEST:
return 'guest';
break;
default:
return 'unknown';
break;
}
}
}
$foo = new Foo(Foo::USER_TYPE_GUEST);
echo $foo->typeToString();
// Displays "guest"
Run Code Online (Sandbox Code Playgroud)
案例2 :(需要字符串版本时更快/更容易)
class Foo {
const USER_TYPE_ADMIN = 'admin';
const USER_TYPE_USER …Run Code Online (Sandbox Code Playgroud) 我有一个.NET UserControl(FFX 3.5).此控件包含几个子控件 - 一个Panel,一对标签,一对TextBox,以及另一个自定义控件.我想在基本Control上的任何地方处理右键单击 - 所以右键单击任何子控件(如果是Panel,则为子项的子项).我想这样做,以便在有人对Control进行更改时可以维护,而不必为新控件连接处理程序.
首先我尝试覆盖WndProc,但正如我所怀疑的,我只是直接获取表单上的点击消息,而不是任何子节点.作为半黑客,我在InitializeComponent之后添加了以下内容:
foreach (Control c in this.Controls)
{
c.MouseClick += new MouseEventHandler(
delegate(object sender, MouseEventArgs e)
{
// handle the click here
});
}
Run Code Online (Sandbox Code Playgroud)
现在,这会获得支持该事件的控件的点击次数,但是,例如,标签仍然没有得到任何结果.有一种简单的方法可以做到这一点,我忽略了吗?
是否有比下面更好的方法来检查字符串是否为零或在Ruby中长度为0?
if !my_string || my_string.length == 0
return true
else
return false
end
Run Code Online (Sandbox Code Playgroud)
在C#中有方便的
string.IsNullOrEmpty(myString)
Run Code Online (Sandbox Code Playgroud)
有类似于Ruby的东西吗?
是否有SharePoint的开源替代方案?
我想要的东西提供相同的层次结构和基于portlet的SharePoint设计,但是在源代码中是开放的.基于Web的管理和定制也是一个优势.
例外:无法比较数组中的两个元素.
private void assignNames(DropDownList ddl, Hashtable names)
{
List<ListItem> nameList = new List<ListItem>();
if (ddl != null)
{
ddl.ClearSelection();
ddl.Items.Add(new ListItem("Select Author"));
foreach (string key in names.Keys)
{
nameList.Add(new ListItem(names[key].ToString(), key));
}
nameList.Sort();
}
Run Code Online (Sandbox Code Playgroud)
那么如何使用Sort()来比较"名称"而不是卡在键上?
我最近负责开发团队的wiki.维基仍处于起步阶段,因此我有很大的工作空间.它的目标是为开发团队提供内部服务.目前,维基所拥有的主要信息是编码标准.
- 编辑 -
我在一些WSDL中有这个:
<element name="startDate" type="xsd:dateTime"/>
<element name="endDate" type="xsd:dateTime"/>
Run Code Online (Sandbox Code Playgroud)
这导致SOAP信封中的以下文本:
<startDate>2008-10-29T12:01:05</endDate>
<endDate>2008-10-29T12:38:59.65625-04:00</endDate>
Run Code Online (Sandbox Code Playgroud)
只有一些时间具有毫秒和区域偏移.这让我头疼,因为我试图在这个例子中获得37分54秒的范围,但由于偏移我最终得到了4小时37分54.65625秒.这是DateTime中的某种舍入错误吗?我该如何防止这种情况发生?
我想显示一个没有通常围绕它的页面模板的Drupal视图 - 我只想要视图节点的纯HTML内容.
此视图将包含在另一个非Drupal站点中.
我希望必须通过一些视图来做到这一点,所以一个让我快速轻松地设置它们的解决方案将是最好的 - 我不希望每次需要时都不必创建.tpl.php文件在某处包含一个视图.
php ×3
.net ×2
c# ×2
coding-style ×1
constants ×1
css ×1
datetime ×1
drupal ×1
drupal-views ×1
events ×1
html ×1
http ×1
list ×1
open-source ×1
performance ×1
ruby ×1
sharepoint ×1
soap ×1
sorting ×1
standards ×1
wiki ×1
winforms ×1
xml ×1