小编Fab*_*pet的帖子

Symfony autowiring monolog渠道

根据此文档,我可以创建许多通道,这些通道将使用以下名称创建服务monolog.logger.<channel_name>

如何通过DI注入和自动装配将这些服务注入我的服务?

class FooService
{
    public function __construct(LoggerInterface $loggerInterface) {  }
}
Run Code Online (Sandbox Code Playgroud)

YAML

#existing
foo_service:
    class: AppBundle\Services\FooService
    arguments: ["@monolog.logger.barchannel"]
# what I want to do
foo_service:
    autowire: true # how to inject @monolog.logger.barchannel ? 
Run Code Online (Sandbox Code Playgroud)

symfony monolog symfony-3.2

10
推荐指数
5
解决办法
2905
查看次数

:: class和get_class之间的差异

你能解释一下之间的区别 get_class($instance)ClassName::class

<?php
// PHP 5.5
var_dump(get_class(new Datetime())); // string(8) "DateTime" 
var_dump(Datetime::class); // string(8) "Datetime" with lower t
Run Code Online (Sandbox Code Playgroud)

php

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

允许匿名访问symfony防火墙受保护包中的特定URL

我有一个Symfony 2捆绑包,只能通过使用访问 mydomain.com/box

要访问/框,您必须登录,但我想启用匿名访问 mydomain.com/box/download

# Security.yml
access_control:
    - { path: ^/box , roles: ROLE_USER}
Run Code Online (Sandbox Code Playgroud)

我能怎么做 ?

firewall symfony

8
推荐指数
2
解决办法
6498
查看次数

使用TWIG Markdown转义HTML代码

我正在撰写博客评论包,我想让用户使用Markdown发布一些代码.
我正在使用symfony2,TWIG和KNPMarkdownBundle进行解析

{{ post.content|markdown }}
Run Code Online (Sandbox Code Playgroud)

实际上,内容被很好地降价解析(<code> <p>...)但是如果我的内容中有一些HTML代码,例如:

Some content
``` <script>alert("hello world");</script> ```
Run Code Online (Sandbox Code Playgroud)

代码未转义,我有一条警告消息.有人可以解释我如何处理XSS问题?(foo|rawfoo|escape正在打破解析)

markdown symfony twig

8
推荐指数
2
解决办法
2915
查看次数

使用Prestashop API获取产品URL

我有两个使用Prestashop的商店.我想从第一个到第二个导入产品URL列表.

我可以通过使用访问产品列表http://example.com/api/products
我也可以使用访问产品信息

http://example.com/api/products/{ProductID}

通过这种方式,我可以访问所有产品数据,但我找不到产品URL.

有没有办法从Prestashop检索产品URL?

php api prestashop prestashop-1.5

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

Prestashop 1.6 - 将自定义字段添加到类别

我想知道如何在类别中添加自定义字段以及如何在后台编辑(在说明字段下).我要添加的字段是名称description_long

字段类型是 TEXT

我已经覆盖了我的前台办公室,我的场地显示得很好.

覆盖\类\ Category.php

<?php 

class Category extends CategoryCore
{

    public $description_long;

    /**
     * @see ObjectModel::$definition
     */
    public static $definition = array(
        'table' => 'category',
        'primary' => 'id_category',
        'multilang' => true,
        'multilang_shop' => true,
        'fields' => array(
            'nleft' =>              array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
            'nright' =>             array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
            'level_depth' =>        array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
            'active' =>             array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => true),
            'id_parent' =>          array('type' => self::TYPE_INT, …
Run Code Online (Sandbox Code Playgroud)

php prestashop prestashop-1.6

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

扩展Symfony2控制器解析器

我正在创建一个bundle,如果request是Ajax请求,它可以将fooAction重命名为fooAjaxAction.正如那个问题的答案所说,我必须扩展控制器解析器类.ResourceNotFoundException如果我更改config.yml中的controller_resolver.class,我有一个.但如果我不这样做,我没有任何错误(但没有覆盖,所以这不是我想要的)

我的问题是:如何注册我的新控制器解析器并使用它?我是对的 ?错了吗?

这就是我所做的:

您可以在packagist中找到我的Bundle进行测试并通过以下方式下载:

composer require "/prefix-bundle":"dev-dev"

在AppKernel.php中激活它:

<?php 
// AppKernel.php
new \PrefixBundle\PrefixBundle()
Run Code Online (Sandbox Code Playgroud)

配置

# App/Config/config.yml
parameters:
    controller_resolver.class: PrefixBundle\Component\Controller\ControllerResolver
Run Code Online (Sandbox Code Playgroud)

所以这是我的自定义控制器.

<?php 
namespace \PrefixBundle\Component\Controller;

use Symfony\Component\HttpKernel\ControllerControllerResolver as BaseControllerResolver;
use Symfony\Component\HttpFoundation\Request;

class ControllerResolver extends BaseControllerResolver
{

    public function getArguments(Request $request, $controller)
    {
        parent::getArguments($request, $controller);
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设这个控制器没有做任何事情,我将来会添加逻辑.

php symfony symfony-components

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

模块控制器重定向到404 Prestashop

我的Prestashop有问题,我想在不使用CMS的情况下在模块中创建网页.

但是,当我想使用此Url访问控制器时:http://example.com/comparateur/module/ProduitsMarchand/ProductList

我有这个消息,当我点击链接时,我有404错误

[Debug] This page has moved
Please use the following URL instead: http://example.com/comparateur/index.php?controller=ProductList&module=ProduitsMarchand
Run Code Online (Sandbox Code Playgroud)

我的控制器看起来像这样

class ProduitsMarchandProductListModuleFrontController extends ModuleFrontController {

    public $php_self ="ProductList";
    /**
     *  Initialize controller
     *  @see FrontController::init()
     */
    public function init() {
        parent::init();
    }

    /**
     *  Assign template vars related to page content
     *  @see FrontController::initContent()
     */
    public function initContent() {
        parent::initContent();

        $this->setTemplate("ProductList.tpl");
    }
}
Run Code Online (Sandbox Code Playgroud)

首选项> SEO和URL

Page: produitsmarchands - productlist
URL: product-list
Run Code Online (Sandbox Code Playgroud)

php prestashop prestashop-1.5

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

为什么(false和false或true)返回true

var_dump(false and false || true);
// result: bool(false)
Run Code Online (Sandbox Code Playgroud)

(false and false || true) 按预期返回false.

var_dump(false and false or true);
// result: bool(true)
Run Code Online (Sandbox Code Playgroud)

但是(false and false or true)返回true.我没有合理的解释为什么会发生这种情况.

php operators operator-precedence

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

String.Replace C#.NET

我想知道它为什么不起作用

string filename = optionFileNameFormat; // "{year}-{month}-{day} {name}"
Dictionary<string, string> tagList = new Dictionary<string, string>();
tagList.Add("author",System.Security.Principal.WindowsIdentity.GetCurrent().Name);
tagList.Add("year" , "" + DateTime.Now.Year);
tagList.Add("month", "" + DateTime.Now.Month);
tagList.Add("day"  , "" + DateTime.Now.Day);

foreach (var property in tagList)
{
    filename.Replace(@"{" + property.Key + @"}", property.Value);
}
Run Code Online (Sandbox Code Playgroud)

我没有任何错误,但我的字符串没有改变.谢谢

.net c# replace

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

SQL外连接2表

我有两张桌子,comp_productcomp_product_marchand.

comp_product包含产品信息(描述,名称等)

comp_product_marchand含有不同的价格(产品经销商).每个经销商都有产品价格.但不适用于所有产品

我想只为每个经销商提供一个SQL查询产品列表及其价格(即使经销商没有)

我有这个SQL查询:

SELECT
    p.id_product,
    pm.price
FROM comp_product_marchand pm
LEFT OUTER JOIN comp_product p
    ON p.id_product = pm.id_product
WHERE id_marchand = 4
Run Code Online (Sandbox Code Playgroud)

(WHERE子句仅用于演示)

这个SQL查询返回有价格的产品的价格,而不是其他产品...任何想法?

mysql sql

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

Django 从视图生成 URL

我想知道如何从我的视图中生成一个 URL。

我的网址是

url(r'^team/(?P<teamid>\d+)/wall/$', 'xxx.views.team_wall', name='team_wall'),

如何从视图中生成我的网址?

# Views.py
def myview(request):
    teamID= fields["id"] # ID for URL
    teams.append({"title":fields["title"],  "url":  "???"})
Run Code Online (Sandbox Code Playgroud)

django django-urls django-views

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