小编Ste*_*eve的帖子

访问由数字字符串索引的数组元素

我遇到了一些奇怪的事情.

我有一个php数组,用数字键索引.但是,似乎无法访问任何元素,因为php会自动将数字字符串视为整数,从而导致非法的偏移通知.

在正常情况下,它无法创建一个带有数字字符串索引的php数组,但它可能会发生类型转换.

重现:

$object = new stdClass();
$object->{'1'} = 'one';

$array = (array) $object;

var_dump($array);
/* produces
array(1) {
  ["1"]=>
  string(3) "one"
}
*/

//none of the following will work
$key = '1';
echo $array[1], $array['1'], $array["1"], $array[(string)1], $array[$key];
Run Code Online (Sandbox Code Playgroud)

这只是一个边缘案例错误吗?我在尝试改进另一个SO问题的答案时才遇到问题

实时代码示例:http://codepad.viper-7.com/dFSlH1

php

15
推荐指数
2
解决办法
1141
查看次数

合并dev和live prestashop数据库

我对prestashop 1.6网站进行了大量修改.

我已经创建了一个本地副本,并且正在跟踪git中的文件系统更改.

但是prestashop中的很多更改都存储在数据库中,特别是在我的情况下:

  • 安装和配置新模块
  • 卸载模块
  • 添加商店类别和更改层次结构
  • 更改模块位置
  • 并且通常修改哪些模块出现在什么钩子中.

在开发过程中,实时站点收到了大量新订单,客户,订户等,因此数据库不同步.

我通过在db中转储和导入特定表,或者使用迁移功能中内置的框架解决了其他框架中的类似问题,但我找不到专门针对prestashop的建议.

这是怎么处理的?

考虑到开发站点可能经历了比实时站点更多样化的更改,我想知道将新订单等复制到开发站点然后覆盖整个事件会更容易吗?

php mysql prestashop prestashop-1.6

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

WordPress 将自定义 url 映射到函数

我正在尝试向基于 WordPress 的网站添加自定义 URL 结构。

例如:

example.com/machines             //list all machines in a table

example.com/machines?some=params //list filtered machines in a table

example.com/machines/1           //show single machine
Run Code Online (Sandbox Code Playgroud)

数据将来自我已经开发的外部 API,通过 curl。

我无法将数据导入自定义帖子类型,因为它在许多表上进行了规范化,业务逻辑很复杂,而且 api 无论如何都被其他设备使用。

我查看了add_rewrite_rule的文档,但第二个参数让我感到困惑

$redirect
(string) (required) The URL you would like to actually fetch
Run Code Online (Sandbox Code Playgroud)

好吧,我没有要获取的 url,我想运行一个函数,它将充当一个简单的路由器 - 获取 url 部分,调用外部 api 并返回一个包含正确数据的模板。

调用 API 很简单,但我如何实际将 url 路由到函数,以及如何加载模板(利用现有的 WordPress header.php 和 footer.php)让我感到困惑。

php wordpress

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

php内置开发服务器的最大并发连接数

我使用php内置的webserver遇到了一个问题,因为它似乎只允许一个并发连接.

我在测试一些似乎同时完成的并发ajax请求时发现了这一点.

这不是什么大问题,因为我总是可以启动apache(这是我得出的结论),但我已经习惯直接从我的IDE运行php.

有没有办法增加这个,还是php限制?

我的示例代码使用内置服务器阻止但在apache上正常工作:

        $.ajax({
            type: "POST",
            url: slow.php,
            data: "",
            success: function(data){
                clearInterval(checkid);
                console.log('slow call finished');
            }
        });

        checkid = setInterval(function(){
            $.get('somefile.txt', function(data){
                console.log('quick call finished');
            });
        },1000);


        //slow.php
        sleep(10);
        echo 'all done';
Run Code Online (Sandbox Code Playgroud)

php

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

Encog中的多类SVM分类

有人可以告诉我如何在Encog 3.1中使用多类SVM分类?

我已经使用他们的神经网络取得了一些成功,但无法弄清楚如何设置多类SVM.

文档有这样的说法:

"这是一个由一个或多个支持向量机(SVM)支持的网络.它的设计功能与Encog神经网络非常相似,并且在很大程度上可与Encog神经网络互换.分类用于你希望SVM将输入数据分组到一个或多个类中.支持向量机通常只有一个输出.神经网络可以有多个输出神经元.为了解决这个问题,如果有多个SVM,这个类将创建多个SVM输出指定"

但是我看不出如何指定多个输出,实际上输出属性只返回1:

 /// <value>For a SVM, the output count is always one.</value>
    public int OutputCount
    {
        get { return 1; }
    }
Run Code Online (Sandbox Code Playgroud)

Java或c#中的答案非常感谢

编辑仍然无法解决这个问题.真的很享受使用Encog,但支持论坛只有Jeff Heaton(项目的作者)在他有机会时自己回答,所以即时联系项目代码并添加赏金,希望有人能看到我明显缺少的东西.

该项目:http: //heatonresearch.com/

Google代码上的SupportVectorMachine类:https: //code.google.com/p/encog-cs/source/browse/trunk/encog-core/encog-core-cs/ML/SVM/SupportVectorMachine.cs

c# java svm encog

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

并行处理的依赖注入

我正在尝试练习手动依赖注入(还没有框架)来删除我的代码中的紧耦合.这只是为了练习 - 我没有考虑具体的实现.

到目前为止,简单的构造函数注入工作正常.

但是,当一个类必须在并行循环中使用另一个类时,我无法弄清楚如何解决创建紧耦合问题.例:

public class Processor
{
    private IWorker worker;
    public Processor(IWorker worker)
    {
        this.worker = worker;
    }
    public List<string> DoStuff()
    {
        var list = new List<string>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(worker.GetString());
        }
        return list;
    }

    public List<string> DoStuffInParallel()
    {
        var list = new System.Collections.Concurrent.ConcurrentBag<string>();

        Parallel.For(0, 10, i => 
        { 
            //is there any trivial way to avoid this??
            list.Add(new Worker().GetString());
        });
        return list.ToList();
    }
}

public class Worker : IWorker
{
    public …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection task-parallel-library

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

使用VirtualDocumentRoot在SSL中进行虚拟主机托管

我在ubuntu 16.04 VM上进行开发工作

当我处理许多项目时,为了让我的生活更轻松,我使用*.dev域将VirtualDocumentRoot和hosts文件从我的主文件夹中用于服务器站点:

在000-default.conf我有:

<VirtualHost *:80>
  VirtualDocumentRoot  /home/steve/websites/%-2/%-2/public_html
  ServerAlias *.dev
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

然后在主机中我有我正在研究的各种网站:

127.0.0.1   somesite.dev
127.0.0.1   another.dev
127.0.0.1   athirdone.dev
127.0.0.1   blog.athirdone.dev
Run Code Online (Sandbox Code Playgroud)

这样,当我添加一个新项目时,我只需要在网站目录中创建正确的文件夹结构并向主机添加一行,例如,如果我想处理一个新项目somecoolproject.dev,我只需添加一个文件夹:

/home/steve/websites/somecoolproject/somecoolproject/public_html
Run Code Online (Sandbox Code Playgroud)

和主机中的一行:

127.0.0.1    somecoolproject.dev
Run Code Online (Sandbox Code Playgroud)

我很高兴去.

无论如何,我现在工作的几乎所有内容都运行在https上,并且许多项目都有代码来强制执行此操作,无论是在源代码还是htaccess等,这使得处理开发副本变得很麻烦.

我想在我的开发机器上创建一个自签名证书,理想情况是我不需要为每个项目生成一个新的证书,所以某种通配符*.dev会很棒.

但即使我确实需要为每个项目创建一个新项目,我仍然无法解决如何使用我的设置安装它 - 我找到的所有内容都假设一个固定文档和硬编码的服务器名称.

apache ubuntu ssl virtualhost

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

laravel post route不工作

我在路径文件夹中的web.php中有他的代码:

Route::post('/benice', function(\Illuminate\Http\Request $request)
{
    if(isset($request['action']) && $request['name']){
        if(strlen($request['name']) >0){
            return view('actions.nice', ['action' => $request['action'], 'name'=>$request['name']]);
        }
        return redirect()->back();
    }
    return redirect()->back();
});
Run Code Online (Sandbox Code Playgroud)

这是在view文件夹里面的home.blade.php中:

 <form action="{{ route('benice') }}" method="post">
        <label for="select-action">Iwant to ...</label>
        <select id="select-action" name="action">
            <option value="greet">greet</option>
            <option value="hug">hug</option>
            <option value="kiss">kiss</option>
        </select>
        <input type="text" name="name"/>
        <button type="submit" class="btn btn-primary btn-block">Do an action</button>
        <input type="hidden" value="{{ Session::token() }}" name="_token">
    </form>
Run Code Online (Sandbox Code Playgroud)

错误是:

Route [benice] not defined. (View: C:\wamp64\www\testLaravel\resources\views\home.blade.php)
Run Code Online (Sandbox Code Playgroud)

任何帮助我将非常感谢我目前刚开始laravel并仍在学习谢谢你

php laravel

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