小编Reu*_*ben的帖子

包装文档/文字数组的示例

我在查找包装文档/文字样式中的简单数组的实例时遇到了麻烦.

考虑一个PHP函数,它生成一个最大计数的数组.

/**
 * @param int $max
 * @return string[] $count
 */
public function countTo($max)
{
    $array = array();
    for ($i = 0; $i < $max; $i++) {
        $array[] = 'Number: ' . ($i + 1);
    }
    return $array;
}
Run Code Online (Sandbox Code Playgroud)

为此生成的WSDL类型是:

<xsd:complexType name="countTo">
  <xsd:sequence>
    <xsd:element name="max" type="xsd:int"/>
  </xsd:sequence>
</xsd:complexType>
<xsd:element name="countTo" nillable="true" type="ns:countTo"/>
<xsd:complexType name="ArrayOfCount">
  <xsd:sequence>
    <xsd:element minOccurs="0" maxOccurs="unbounded" name="count" nillable="true" type="xsd:string"/>
  </xsd:sequence>
</xsd:complexType>
<xsd:complexType name="countToResponse">
  <xsd:sequence>
    <xsd:element name="count" type="ns:ArrayOfCount"/>
  </xsd:sequence>
</xsd:complexType>
<xsd:element name="countToResponse" nillable="true" type="ns:countToResponse"/>
Run Code Online (Sandbox Code Playgroud)

正文中的请求看起来像:

<ns1:countTo>
  <max>5</max>
</ns1:countTo> …
Run Code Online (Sandbox Code Playgroud)

php xml arrays soap

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

如何确定不是大写或小写的字母字符

Microsoft将此规则用作其复杂性规则之一:

任何Unicode字符,分类为字母字符但不是大写或小写.这包括来自亚洲语言的Unicode字符.

测试通常的规则,如大写可以如此简单password.Any(char.IsUpper).

我可以在C#中使用什么测试来测试非大写或小写的字母Unicode字符?

.net c#

7
推荐指数
1
解决办法
1412
查看次数

如何使用 PHPUnit 重置 Mock 对象

如何重置 PHPUnit Mock 的 expects()?

我有一个 SoapClient 的模拟,我想在测试中多次调用它,重置每次运行的期望。

$soapClientMock = $this->getMock('SoapClient', array('__soapCall'), array($this->config['wsdl']));
$this->Soap->client = $soapClientMock;

// call via query
$this->Soap->client->expects($this->once())
    ->method('__soapCall')
    ->with('someString', null, null)
    ->will($this->returnValue(true));

$result = $this->Soap->query('someString'); 

$this->assertFalse(!$result, 'Raw query returned false');

$source = ConnectionManager::create('test_soap', $this->config);
$model = ClassRegistry::init('ServiceModelTest');

// No parameters
$source->client = $soapClientMock;
$source->client->expects($this->once())
    ->method('__soapCall')
    ->with('someString', null, null)
    ->will($this->returnValue(true));

$result = $model->someString();

$this->assertFalse(!$result, 'someString returned false');
Run Code Online (Sandbox Code Playgroud)

php phpunit soap unit-testing mocking

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

使用客户端证书身份验证连接到Web服务

我已经使用客户端证书身份验证通过SSL连接到Web服务的.p12文件.我使用cURL成功地在PHP中工作.这些是我在执行请求时使用的选项:

$headers = array(
    'Method: POST',
    'Connection: Keep-Alive',
    'User-Agent: PHP-SOAP-CURL',
    'Content-Type: text/xml; charset=utf-8',
    'SOAPAction: "'.$action.'"',
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $location);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_SSLCERT, $this->clientcert);
curl_setopt($ch, CURLOPT_SSLKEYTYPE, $this->clientcerttype);
curl_setopt($ch, CURLOPT_SSLKEY, $this->keyfile);
curl_setopt($ch, CURLOPT_SSLKEYPASSWD, $this->keypassword);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);

$response = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试使用C#和.NET执行相同的任务,但我不断收到错误"无法建立具有权限的SSL/TLS的安全通道:'.".

我似乎没有找到密钥的问题,似乎没有任何信任问题.然而,某些事情是不对的,在某个地方.

我做了一个测试程序,这样我就可以测试一个基本的调用是否有效.

public void StartviaWSHttp()
{
    var binding = new WSHttpBinding();
    binding.Security.Mode = SecurityMode.Transport;
    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
    binding.Security.Message.NegotiateServiceCredential …
Run Code Online (Sandbox Code Playgroud)

c# client-certificates

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

阻止DOMDocument :: loadHTML()转换实体

我有一个字符串值,我正在尝试提取列表项.我想提取文本和任何子节点,但是,DOMDocument正在将实体转换为角色,而不是保留原始状态.

我已经尝试将DOMDocument :: resolveExternals和DOMDocument :: substituteEntities设置为false,但这没有任何效果.应该注意我使用PHP 5.2.17在Win7上运行.

示例代码是:

$example = '<ul><li>text</li>'.
    '<li>&frac12; of this is <strong>strong</strong></li></ul>';

echo 'To be converted:'.PHP_EOL.$example.PHP_EOL;

$doc = new DOMDocument();
$doc->resolveExternals = false;
$doc->substituteEntities = false;

$doc->loadHTML($example);

$domNodeList = $doc->getElementsByTagName('li');
$count = $domNodeList->length;

for ($idx = 0; $idx < $count; $idx++) {
    $value = trim(_get_inner_html($domNodeList->item($idx)));
    /* remainder of processing and storing in database */
    echo 'Saved '.$value.PHP_EOL;
}

function _get_inner_html( $node ) {
    $innerHTML= '';
    $children = $node->childNodes;
    foreach ($children as $child) {
        $innerHTML .= $child->ownerDocument->saveXML( …
Run Code Online (Sandbox Code Playgroud)

php dom domdocument php-5.2

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

获取"哈希赋值中奇数个元素"时如何传递参数

我正在RT(http://bestpractical.com/rt)做一些模板编程,它使用Perl.不幸的是,我偶尔只会和Perl讨价还价.

我正在尝试调用以下开头的子过程:

sub PrepareEmailUsingTemplate {
    my %args = (
        Template => '',
        Arguments => {},
        @_
    );
Run Code Online (Sandbox Code Playgroud)

由于这是lib的一部分,我无法改变它.

我正在做的电话是:

my ($template, $msg) = RT::Interface::Email->PrepareEmailUsingTemplate( 
    Template => 'CCReplyFirstMessage' );
return (0, $msg) unless $template;
Run Code Online (Sandbox Code Playgroud)

而我得到"在/opt/rt4/sbin/../lib/RT/Interface/Email.pm线552哈希分配的元素奇数(/opt/rt4/sbin/../lib/RT /Interface/Email.pm:552),with是sub的第一行.

我知道我在传递参数方面做得很糟糕.我该怎么办呢?

perl rt

3
推荐指数
2
解决办法
3867
查看次数

查找hasMany关系的条件'NOT EXISTS'

这个问题类似于'NOT EXISTS'之类的查找条件,除了它正在使用hasMany关系.

表格是:

问题 id bigint ...

回答 id bigint question_id bigint ...

关系是问题有很多答案.

查询是查找没有答案的问题ID.

SQL可能看起来像

select id from questions where not exists 
    (select * from answers where answers.question_id = questions.id)
Run Code Online (Sandbox Code Playgroud)

快速的方法是使用语句运行query(),但我想知道是否有CakePHP方式.

我想避免使用NOT IN方案,因为这可能导致数据库的两次点击; 一个用于获得有问题答案的所有问题ID,第二个用于获取没有答案的问题的所有问题ID.

另一种方法可能是将条件数组中的整个where子句作为单个条目.我只是不确定这是不是最好的做法.

cakephp

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

如何配置 ngnix、vite 和 laravel 通过反向代理与 HMR 一起使用?

我刚刚接触 Laravel/Vue3,所以我正在学习基础知识。不过,我有一个现有的 Docker 生态系统,用于本地开发,还有一个 nginx 反向代理,用于将我的许多项目分开。

我在使 HMR 工作时遇到困难,更难以找到有关如何配置 Vite 和 Nginx 的适当文档,以便我可以在 nginx 中拥有单个 HTTPS 入口点并代理回 Laravel 和 Vite。

该构建基于https://github.com/laravel-presets/inertia/tree/boilerplate

为了完整起见,这是 package.json,以防万一它发生变化:

{
    "private": true,
    "scripts": {
        "dev": "vite",
        "build": "vite build"
    },
    "devDependencies": {
        "@vitejs/plugin-vue": "^2.3.1",
        "@vue/compiler-sfc": "^3.2.33",
        "autoprefixer": "^10.4.5",
        "postcss": "^8.4.12",
        "tailwindcss": "^3.0.24",
        "vite": "^2.9.5",
        "vite-plugin-laravel": "^0.2.0-beta.10"
    },
    "dependencies": {
        "vue": "^3.2.31",
        "@inertiajs/inertia": "^0.11.0",
        "@inertiajs/inertia-vue3": "^0.6.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

为了简单起见,我将尝试让它仅在 HTTP 下工作,稍后再处理 HTTPS。

因为我在容器中运行开发服务器,所以我0.0.0.0在 vite.config.ts 中将 server.host 设置为,将 server.hmr.clientPort 设置为 80。这将允许从容器外部连接到开发服务器,并希望实现公共端口是 80,而不是默认的 3000。

我尝试将 …

nginx laravel docker hot-module-replacement vite

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

Glimpse中的自定义时间轴项目

我刚刚开始寻找MVC3应用程序的分析.

我首先找到了MiniProfiler,然后找到了使用Glimpse的建议.两者看起来都很棒,而且我宁愿使用Glimpse,但我想在特定操作的时间轴上添加条目.

MiniProfiler有一个很好的功能,你可以抓住当前的MiniProfiler上下文并使用using()命令添加一个步骤.Glimpse有类似的东西吗?

我确实找到了一个条目,有人解释了如何做到这一点很长的路,但是想知道从那以后是否可能有更短的方法来做到这一点.

profiling asp.net-mvc-3 glimpse

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

在Nexus 7 Chrome上计算的字体大小与CSS字体大小不同

我有一些CSS和HTML,其中font-size明确地设置为13px,并且大多数情况下它保持这种状态,但有时Nexus 7上的Chrome有时会显示14px的同一页面的一部分;

不幸的是,我无法在jsfiddle中重现这个问题,所以我不确定是怎么回事.

在我尝试在http://jsfiddle.net/K9hyG/2/重新创建问题时,可以看到一些我用来影响font-family和font-size的样式.

使用Chrome调试器时,我可以在Computed Style中看到以下其中一个有问题的段落:

border-collapse: separate;
color: rgb(51,51,51);
display: block;
font-family: Optima, Lucia, 'MgOpen Cosmetica', 'Lucida Sans Unicode', sans-serif;
font-size: 14px;
    font[size="2"] - 13px   default.aspx:427
    body - 13px             default.aspx:2
height: 36px;
text-align: left;
text-shadow: rgb(255,255,255) 0px 1px 0px;
width: 877px;
Run Code Online (Sandbox Code Playgroud)

text-shadow是由我使用jQuery Mobile生成的.在Chrome调试器中,会出现text-shadow指令的两个实例.一个继承自div.ui-page.ui-body-c.ui-page-active(ui-body-c是激活组件),另一个来自body.ui-mobile-viewport.ui-overlay-c,( ui-overlay-c是激活组件),但两个定义来自主题文件中CSS的相同部分.

如果我停用其中一个,违规段落实际上会在Chrome调试器中更改为13px,但在设备上看起来仍然相同.如果它们在Chrome调试器中都已停用,则会返回到14px.即使文本阴影设置为,这仍然会发生rgb(255,255,255) 0px 0px 0px.

我看过这篇文章,但这个问题基本上没有得到解决.

css android cross-browser font-size responsive-design

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

如何使用@ Html.ActionLink生成一个空片段

如何生成与ASP.NET MVC @ Html.ActionLink的链接以获得空片段.

<a href="#">Title</a>
Run Code Online (Sandbox Code Playgroud)

我知道这@Html.ActionLink("Title", "action", "controller", null, null, "fragment", null, null)会给我<a href="/controller/action">Title</a>或者<a href="/">Title</a>,但是知道正确的方法可以做到这一点.

c# asp.net-mvc razor asp.net-mvc-3

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