根据此文档,我可以创建许多通道,这些通道将使用以下名称创建服务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) 你能解释一下之间的区别 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) 我有一个Symfony 2捆绑包,只能通过使用访问 mydomain.com/box
要访问/框,您必须登录,但我想启用匿名访问 mydomain.com/box/download
# Security.yml
access_control:
- { path: ^/box , roles: ROLE_USER}
Run Code Online (Sandbox Code Playgroud)
我能怎么做 ?
我正在撰写博客评论包,我想让用户使用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|raw
和foo|escape
正在打破解析)
我有两个使用Prestashop的商店.我想从第一个到第二个导入产品URL列表.
我可以通过使用访问产品列表http://example.com/api/products
我也可以使用访问产品信息
http://example.com/api/products/{ProductID}
通过这种方式,我可以访问所有产品数据,但我找不到产品URL.
有没有办法从Prestashop检索产品URL?
我想知道如何在类别中添加自定义字段以及如何在后台编辑(在说明字段下).我要添加的字段是名称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) 我正在创建一个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)
我假设这个控制器没有做任何事情,我将来会添加逻辑.
我的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) 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.我没有合理的解释为什么会发生这种情况.
我想知道它为什么不起作用
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)
我没有任何错误,但我的字符串没有改变.谢谢
我有两张桌子,comp_product
和comp_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查询返回有价格的产品的价格,而不是其他产品...任何想法?
我想知道如何从我的视图中生成一个 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) php ×6
symfony ×4
prestashop ×3
.net ×1
api ×1
c# ×1
django ×1
django-urls ×1
django-views ×1
firewall ×1
markdown ×1
monolog ×1
mysql ×1
operators ×1
replace ×1
sql ×1
symfony-3.2 ×1
twig ×1