问题列表 - 第37265页

在PHP 5.3中创建Singleton基类

直截了当:我有两个单身人士课程,都是从超级课程继承他们的单身自然.我在第一个单例上初始化一些属性,然后让第二个单例检索第一个单例实例.然而,那个例子似乎并不是我最初初始化的那个例子.一些示例代码可能有助于解释这个:

首先,超类,提供单例性质(需要PHP 5.3或更高版本):

class Singleton {

    protected static $instance;

    protected function __construct() { }

    final private function __clone() { }

    public static function getInstance() {
        if (!(static::$instance instanceof static)) {
            static::$instance = new static();
        }
        return static::$instance;
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我们得到了第一个带有值的单身人士:

require_once('Singleton.php');

class SingletonA extends Singleton {

    protected $value;

    public function SingletonA() {
        $this->value = false;
    }

    public function getValue() {
        return $this->value;
    }

    public function setValue($value) {
        $this->value = $value;
    }

}
Run Code Online (Sandbox Code Playgroud)

然后引用第一个单例的第二个单例:

require_once('Singleton.php');
require_once('SingletonA.php');

class SingletonB extends …
Run Code Online (Sandbox Code Playgroud)

php singleton

10
推荐指数
1
解决办法
4069
查看次数

大型CSS设计 - 设计建议

我有一个包含所有输入(文本,复选框,广播等等)的大型表单,我将它们组合在一个fieldset标记和每个feildset的图例中.每个输入都有一个与之关联的标签.我的问题是在一个屏幕上显示信息并利用用户可能或可能没有的横向空间的最佳方法是什么?

我希望它是最小的(如果有的话)表布局的所有CSS,因为我认为表是用于表格数据而不是表示.CSS3和HTML5也是受欢迎的.

此外,我希望能够添加品牌,因为这可能需要看起来像另一个网站而不是为其开发的原始网站.

对此最好的方法是什么?我有这个想法,我会使用li标签来做水平外观,但我想打破到屏幕末尾的下一行(想想没有滚动水平但垂直是好的)

CSS新手寻找设计模式的建议

这是一个例子,但我想我有大约50个字段

<!DOCTYPE HTML>
<html>
<head>
<title>Large Form</title>
</head>
<body>
<form action="">

<fieldset>
<legend>***</legend> 

<label for="fname">First Name</label><br />
<input type="text" name="fname" id="fname" value="" /><br /><br />

<label for="lname">Last Name</label><br />
<input type="text" name="lname" id="lname" value="" /><br /><br />

<label for="gender">Gender</label><br />
<select name="gender" id="gender">
    <option value="">-- select</option>
    <option value="male">Male</option>
    <option value="female">Female</option>
</select>

</fieldset>

<br />
<input type="submit" value="Submit" />
</form>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

css forms html5 css3

4
推荐指数
1
解决办法
2841
查看次数

估算一个有许多未知数的项目

我正在开展一个有许多未知数的项目,比如将应用程序从一个平台移动到另一个平台.

我最初的估计是偏离的,我无法确切知道何时结束.

我怎样才能处理无法估计这样一个项目的问题.这不是我在屏幕上添加按钮或设计网站,或创建和应用甚至修复错误.这些不是带有错误的方法,这些是在整个代码中做出的假设,这些假设不再正确并且逐步找到并且每个都被分析和减轻了许多未知数.

estimation time-estimation

0
推荐指数
1
解决办法
607
查看次数

使用数据库在图形上获取范围而不打开图形

在AutoCAD .NET API中,打开图形时,可以使用环境变量EXTMAX和EXTMIN获取范围.但是,如果没有打开图形,这些变量将不提供正确的值.如何在不打开绘图的情况下获得相同的范围(使用数据库的AKA)?

c# autocad

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

JSF:为什么在表单中prependId = false?

我知道是什么prependId="false"呢.它设置了标志,以便表单的id不会添加表单子的id,但为什么呢?你为什么或者不想加前缀ID的任何特殊原因?

jsf

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

如何从本机代码中的XML或模数/指数导入RSA公钥,以便与Windows CAPI的CryptVerifySignature一起使用?

在C#中,我能够通过以下任一方式对公钥进行哈希验证:

// Import from raw modulus and exponent
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) {
    RSAParameters rsaKeyInfo = new RSAParameters {Modulus = modulus, Exponent = exponent};
    rsa.ImportParameters(rsaKeyInfo);
    return rsa.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA512"), signature);
}

// Import from XML
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) {
    rsa.FromXmlString(xmlPublicKey);
    return rsa.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA512"), signature);
}
Run Code Online (Sandbox Code Playgroud)

我需要知道的是,在给定入站RSA公钥的情况下,如何使用CAPI完成同样的事情?

除了了解如何将公钥导入加密提供程序的上下文之外,我还有大多数验证哈希所需的CAPI函数:

HCRYPTPROV hCryptProv;
HCRYPTHASH hHash;

CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0);
CryptCreateHash(hCryptProv, CALG_SHA512, 0, 0, &hHash);
CryptHashData(hHash, pDataToHash, lenDataToHash, 0);
CryptVerifySignature(hHash, pSignature, sigLength, NULL, CRYPT_NOHASHOID);
CryptDestroyHash(hHash);
CryptReleaseContext(hCryptProv, 0);
Run Code Online (Sandbox Code Playgroud)

谢谢!

cryptography rsa cryptoapi public-key mscapi

0
推荐指数
1
解决办法
3094
查看次数

需要设置一个字节[]

目标是得到一个字节[16],其中第一个元素是十六进制值55,第二个元素是十六进制值AA.其他14是十六进制值0.

我试过了

byte[] outStream = System.Text.Encoding.UTF8.GetBytes("55 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
Run Code Online (Sandbox Code Playgroud)

但这会使用ascii值填充byte [],而不是十六进制值.

我试过了

  byte[] outStream = new byte[16];
  outStream[0] = byte.Parse("55");
  outStream[1] = byte.Parse("AA");
  for(int i=2; i<16; i++)
  {
    outStream[i] = byte.Parse("00");
  }
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.它不提供十六进制值,而是在AA上崩溃的整数值,因为它不是可解析的int.

任何帮助,将不胜感激.

c# parsing

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

ASP.Net MVC:Html.Display()用于Collection中的对象

使用适当的视图模板绘制项目的标准MVC示例是:

Html.DisplayFor(m => m.Date)

如果Model对象具有名为Date of DateTime的属性,则返回带有Display/DateTime.ascx模板中的HTML的字符串.

假设您想要执行相同的操作,但无法使用强类型版本 - 您在编译时不知道此View的Model类型.你使用旧的:

Html.Display( "日期");

所以这是困难的部分.

假设模型是IEnumerable.您不知道这些对象在编译时是什么,但在运行时它们恰好是Date类型为Date的对象,如:

public class ModelClass
{
    public DateTime Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在假设您希望View迭代这些对象并渲染每个对象.如果你所关心的只是价值,你可以做到这一点:

<%
StringBuilder sb = new StringBuilder();
foreach(object obj in (IEnumerable<object>)Model)
{
    Type type = obj.GetType();

    foreach(PropertyInfo prop in type.GetProperties())
    {
        // TODO: Draw the appropriate Display PartialView/Template instead
        sb.AppendLine(prop.GetValue(obj, null).ToString());
    }
}
%>
<%= sb.ToString() %>
Run Code Online (Sandbox Code Playgroud)

我显然采取了一些捷径来保持这个例子的重点.

这就是重点 - 我如何实现我为自己写的TODO?我不只是想获得价值 - 我希望它的格式很好,如Html.Display("Date").但是,如果我只是调用Html.Display("Date"),它会检查Model,这是一个IEnumerable,用于名为Date的属性,它当然没有.Html.Display不会将对象作为参数用作模型(如Html.Display(obj,"Date"),并且我可以找到的所有类和方法都在内部,所以我可以' t调整并直接调用它们.

必须有一些简单的方法来完成我想要做的事情,但我似乎无法找到它.

只是为了确保我清楚 - 这是DateTime.ascx代码的一个例子:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime>" %>
<%= …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc html-helper asp.net-mvc-partialview

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

如何将此Javascript正则表达式更改为不区分大小写?

我在下面有这个正则表达式来验证一个安全问题,其中一些人必须输入两次答案.我的客户希望答案不区分大小写.因此,如果有人在切斯特打字并且在第二个字段中他们输入切斯特,那么它将匹配.我可以对此表达式做些什么来实现这一点:

/^(\w|[a-zA-Z\d\s\.\@\-\?\,\&\/\_\#\+\(\)\""\'']){3,50}$/
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

如何告诉gzip_static不要查找图像文件?

我安装了nginx并激活了gzip_static.它适用于CSS和JavaScript文件,但它也查找gzip版本的图像文件,如.png和.gif,虽然这些不在要压缩的文件列表中:

# strace -p 25044 2>&1 | grep gz
open("/var/www/css/ymax.css.gz", O_RDONLY|O_NONBLOCK) = 438
open("/var/www/images/tools.png.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/var/www/images/ads/bs.gif.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/var/www/images/gfxborder/border_right.gif.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/var/www/images/ads/hocuto03.gif.gz", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

这是我的nginx配置:

gzip  on;
gzip_disable     "msie6";
gzip_min_length 1000;
gzip_types text/plain text/css application/x-javascript text/javascript;
gzip_static on;
Run Code Online (Sandbox Code Playgroud)

有办法防止这种情况吗?

nginx

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