小编bla*_*amb的帖子

Node.js或Express.js REST API文档生成器

我正在使用Express.js开发restAPI,我想知道是否有办法生成API文档,允许用户查看API定义,甚至可能尝试API调用?

node.js express

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

使用自定义值时,composer update会覆盖parameters.yml

我在parameters.yml中有一些自定义条目,每次运行作曲家更新时,它都想添加丢失的条目,这甚至会覆盖我的自定义条目.我怎么能阻止这个?

例如在作曲家更新之前

#parameters.yml
# Env = GLOBAL
parameters:
# DB settings - GLOBAL
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306

#mailer settings
mailer_to: yo@yo.com
mailer_from: yo@site.com
mailer_transport: smtp
mailer_subject: ":-| Something is broken!"

# Framework use - GLOBAL
locale: en
Run Code Online (Sandbox Code Playgroud)

#parameters.yml
# This file is auto-generated during the composer install
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
mailer_transport: smtp
locale: en
database_name: 
database_user: 
database_password: 
mailer_host: 
mailer_user: 
mailer_password: 
secret: 
Run Code Online (Sandbox Code Playgroud)

幸运的是我的repo和我的工作文件通过我的ide是两个不同的文件,需要同步.在我运行编辑器更新后,当我运行同步时,我将所有文件下载到我的IDE除了参数.yml,我推回来覆盖刚刚自动创建的那个.

我想消除这个麻烦,因为我将db密码保存在per/env文件中.

编辑:当我尝试将不需要的变量作为虚拟值填充时将它们归零,它也会逆流.

$ composer update
Loading composer repositories with package …
Run Code Online (Sandbox Code Playgroud)

symfony composer-php

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

Symfony2和Doctrine 2结果数据错误地返回一个空数组

我有一个在Doctrine中运行的查询; 它现在失败了,但是以一种奇怪的方式.这个查询已经工作了一年,我只是composer.json通过添加几个新库和更改一些版本来搞砸我.我还更新了我的Linux盒子(也许MySQL或MariaDB已经更新,不确定).

无论发生了什么变化(怀疑它是我的捆绑包的Doctrine模型代码,除非它首先不是犹太教并且核心更新现在将其显示为已损坏),查询现在返回结果,其中包含正确数量的密钥数组,但是值以某种方式变为NULL.该数组看起来完全像这样,从var_dump直接复制和粘贴,例如

var_dump($query->getSql());
var_dump($results);
exit;

select GoalLabel from opt_goals where scale = 'mathematics'

array(17) { [0]=> NULL [1]=> NULL [2]=> NULL [3]=> NULL [4]=> NULL [5]=> NULL [6]=> NULL [7]=> NULL [8]=> NULL [9]=> NULL [10]=> NULL [11]=> NULL [12]=> NULL [13]=> NULL [14]=> NULL [15]=> NULL [16]=> NULL } 
Run Code Online (Sandbox Code Playgroud)

但是,当我运行MySQL命令行此相同的查询,我得到的实际效果,这是关键的相同金额,但值在那里.

这是我的composer.json需求部分的非默认部分:

    "components/jquery": "~1.11,<2.0",
    "twbs/bootstrap": "3.3.*",
    "braincrafted/bootstrap-bundle": "~2.1",
    "knplabs/knp-menu": "~1.1",
    "knplabs/knp-menu-bundle": "~1.1",
    "knplabs/knp-paginator-bundle": "dev-master",
    "symfony/icu": "1.1.*",
    "mnot/hinclude": "dev-master",
    "rhumsaa/array_column": "~1.1",
    "webfactory/exceptions-bundle": "@stable",
    "friendsofsymfony/jsrouting-bundle": …
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm

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

我可以轻松实现自己的Symfony2注释吗?

Symfony注释模块中有什么东西允许我将它们用于其他用途吗?

我知道@Route,@Method你需要扩展现有的库,所以它不是那么容易我猜.

目前,我正在使用JS History API,并且很乐意将popState我的JS文件的数据放在注释中.因此,当路由生成URL时,它们已经可用.

问:这里有一个HTML5带注释的标题或某个属性是否有意义?能够在已经存在的路由名称和内容旁边定义注释的数据是很棒的.

问:之前是否有人使用过注释进行了调整?

我想澄清我的意图,因为我认为我遗漏了一些关键细节(提到历史API)来理解我的用例.

有一些SPA前端通过前端捆绑集成,这通过AJAX调用连接到后端捆绑,这是一个直接的RESTful API,增加了一个非常有趣的开发PHP API类我使得以直接执行其他PHP类控制器方法的方式对AJAX进行解释和处理(路由).

我在这个Symfony 2应用程序(fosjsrouter)中使用了很多ajax来处理路由.因此,SPA点击事件不是触发路由和动作的URL,而是将AJAX触发到后端路由器,具有大的JSON有效负载,不限于PHP控制参数(类/方法/ var名称)和数据集.

好的,所以回到正轨; 鉴于上述情况; 在路由器的JS类对象端,我认为这是向它添加一些JS History API功能的最佳位置,(状态,后退按钮等)

如果调用了一个history标志,则可以调用上述类,该标志可能负责分配初始状态数据.首先,这是因为在这个JS方法中存在的JSON数据对象已经包含了很多关键的路由数据,以及后端PHP中需要的那条路由的param信息,它来自注释.

所以我的想法是,如果我将历史状态标题和URL的可访问性添加到注释中,那么我将可以访问那些可用于定义初始状态的信息,如果已标记,则ajax.done()在该主要JS路由方法中的an 内部.

现在我们可以在db和实时客户端异步之间来回传递状态两种方式.您可以使用前端的观察者或任何内容,以及后端的作业/队列,以使其完全被动.(也使用React :-))

编辑我不太确定这就是我的想法,看起来它让我在PHP函数的return语句中设置了这个title和的值url,我希望它在注释中设置(参见返回'Matthias Noback';)

所以我正在尝试这个,但我在哪里设置这些标题?

    <?php

namespace Blah\CoreBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

/**
 * @Annotation
 */
class HistoryAnnotationController
{

    //history state params are out properties here..
    /**
     * @var
     */
    private $url;

    /**
     * @var
     */
    private $title;


    /**
     *
     */ …
Run Code Online (Sandbox Code Playgroud)

routing annotations symfony html5-history popstate

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

composer 依赖说明它没有 php-xsl

Composer 依赖项声明它没有 php-xsl。我正在尝试安装 phpdocumentor/phpdocumentor,但由于要求它不会让我安装。所以现在我正在尝试安装要求,我得到了这个:

$ composer require phpdocumentor/template-zend
Using version ~1.3 for phpdocumentor/template-zend
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpdocumentor/template-zend 1.3.2 requires ext-xsl * -> the requested PHP extension xsl is missing from your system.
    - phpdocumentor/template-zend 1.3.1 requires ext-xsl * -> the requested PHP extension xsl is missing from your system.
    - phpdocumentor/template-zend 1.3.0 requires ext-xsl …
Run Code Online (Sandbox Code Playgroud)

php composer-php phpdocumentor2

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

使用/ bundles/path资产是否会暴露任何安全风险?

我在我的树枝模板中使用/ bundles/path作为图像,例如

<link href="{{ asset('bundles/acmedemo/css/contact.css') }}" rel="stylesheet" />
<img src="{{ asset('bundles/acmedemo/images/image.jpg') }}">
<img src="/bundles/acmedemo/images/image.jpg">
Run Code Online (Sandbox Code Playgroud)

是否有任何安全风险,用户可能会知道我使用symfony fw,并利用某些东西,或者用户可能知道我的包名称,谁知道这可能导致什么,或者用户可能能够我知道的热链接文件可以通过服务器设置进行更正,但是这样做是否存在任何问题,就混淆和安全性而言?

请注意,我正在开发一个基于这个fw的企业站点,并且我必须不披露等等,它不像它的开源包或任何东西.

php security assets symfony twig

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

节点和/或npm问题

我有一些npm包的各种权限和路径问题,这次是deployd的dpd二进制文件.然而,它似乎仍然与我偶尔收到的任何其他熟悉的令人沮丧的npm路径问题有关.考虑到我经常使用-g而不是在安装npm包时,它似乎非常熟悉npm的用法.

到目前为止,为了解决这个问题,我尝试了多次从用户和全局重新安装deployd和mongodb,我甚至重新安装了npm.我在运行dpd时获得一致的包错误.我发现很多相关的,但没有一个有效.这是今天运行dpd时的问题.任何宏伟的建议?

当从linux运行时,以下$ dpd启动deployd v0.8.4 ...无法启动MongoDB(确保'mongod'在$ PATH中或使用dpd --modod选项.参考:http://docs.deployd. com/docs/basics/cli.html)再见

$ sudo dpd
starting deployd v0.8.4...
Failed to start MongoDB (Make sure 'mongod' are in your $PATH or use dpd --mongod option. Ref: http://docs.deployd.com/docs/basics/cli.html)
bye

    $ dpd --mongod ./.dpd/pids
    starting deployd v0.8.4...
    child_process.js:1162
        throw errnoException(err, 'spawn');
              ^
    Error: spawn EACCES
        at exports._errnoException (util.js:746:11)
        at ChildProcess.spawn (child_process.js:1162:11)
        at exports.spawn (child_process.js:995:9)
        at Object.exports.restart (/usr/bin/node_modules/bin/lib/node_modules/deployd/lib/util/mongod.js:38:14)
        at start (/usr/bin/node_modules/bin/lib/node_modules/deployd/bin/dpd:149:16)
        at Object.<anonymous> (/usr/bin/node_modules/bin/lib/node_modules/deployd/bin/dpd:280:31)
        at Module._compile (module.js:460:26)
        at Object.Module._extensions..js (module.js:478:10)
        at Module.load (module.js:355:32)
        at Function.Module._load …
Run Code Online (Sandbox Code Playgroud)

node.js npm deployd

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

如何从针对远程主机的游戏中将事实委托给本地主机

Ansible 版本:2.9.16,在 RHEL 7.9 上运行,python ver = 2.7.5,针对 Windows 2016 服务器。(Linux 目标服务器的行为也应该相同)

我的剧本有两个剧本。一个针对 3 个远程服务器(注意:串行:0 即并发),另一个仅针对本地主机。在 play1 中,我尝试使用 delegate_facts 和 delegate_to 将从每个主机获取的事实委托给本地主机。目的是将这些事实委托给单个主机( localhost ),以便我稍后可以在针对 localhost 的 play2 (使用主机变量)中使用它。但奇怪的是这不起作用。它仅包含来自 Play1 的最后一个主机的信息。

任何帮助将不胜感激。

编辑:切换到在库存中使用主机特定变量以避免混淆,因为我只是试图打印组的主机名。即使在这里,它也是一种粗略的简化。假设 var1 是为每个服务器动态获取的,而不是在清单文件中声明的。

我的库存文件inventory/test.ini如下所示:

    [my_servers]
    svr1 var1='abc'
    svr2 var1='xyz'
    svr3 var1='pqr'
Run Code Online (Sandbox Code Playgroud)

我的代码:

    ## Play1
    - name: Main play  that runs against multiple remote servers and builds a list.
      hosts: 'my_servers'  # my inventory group that contains 3 servers svr1,svr2,svr3
      any_errors_fatal: false
      ignore_unreachable: true
      gather_facts: true
      serial: …
Run Code Online (Sandbox Code Playgroud)

ansible

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

如何使用这种模式将RSVP承诺设置为可链接的闭包装?

我想获取RSVP全局对象,并将其包装到我的全局应用程序闭包内的闭包中,以便我可以按照我想要的方式调用它.它还使我更容易记住如何使用它,以后在开发中.

以下是一些背景知识:RSVP库使用它的承诺教程.

所以给定RSVP的这个标准用法:

new RSVP.Promise(function(resolve, reject) {
  // succeed
  resolve(value);
  // or reject
  reject(error);
});
Run Code Online (Sandbox Code Playgroud)

如何使用您在下面看到的设计模式为此创建包装器?我想把这个RSVP对象放到包装器中,这样我就不必每次都在同一个地方实例化一个新的RSVP Promise并定义我的回调.

我希望var newPromise = app.core.promise(callback)每次想要做出新的承诺时都会打电话.

我怎样才能将它包装成一个闭包以便可能?这是我到目前为止 - 正确的方法是什么?

app.core.promise = function (resolveFunc, paramObj) {

    if(typeof(resolveFunc) === 'function'){

        //lets move on shall we?
        return new window.RSVP.Promise(function(resolveFunc, reject){

            //so this is the real question, what am i to do here?
            if(paramObj){
                //do something with this object first, or just run it, depending on your use case
                //paramObj = chopBalls(paramObj);
                resolveFunc(paramObj); …
Run Code Online (Sandbox Code Playgroud)

javascript promise deferred rsvp.js

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