小编Nin*_*inj的帖子

来自路由的Symfony2全局和可选区域设置检测

这就是我想要实现的目标,然后汇编我获得的知识,没有解决方案.

在Symfony2项目中,不使用专用包,我希望路径中的第一个目录定义语言环境.它必须是可选的:

由于我将在项目结束时拥有超过100条路由,并且考虑到可以随时添加区域设置,我需要将所有区域设置路由仅写入一次.

没有机会用一个路由文件实现这一点.SF2.1的一个有趣的解决方案是链式路由文件,由Fabien Potencier自己解释:一个文件将语言环境和链接作前缀到正常路由.我们到了:

第一个文件列出了非语言环境感知的路由以及链接到所有其他正常路由的语言环境感知路由文件.

- routing.yml:

sys_ajax:
  resource: "@SystemAjax/InternalAjax/get"
  prefix:   /sysajax

locale_routing:
  resource: base_routing.yml
  prefix: /{_locale}
  defaults:
    _locale: fr
Run Code Online (Sandbox Code Playgroud)

- base_routing.yml:

user:
  resource: "@UserBundle/Resources/config/routing.yml"
  prefix:   /user
Run Code Online (Sandbox Code Playgroud)

@ BTUserBundle/Resources/config/routing.yml是一个普通的捆绑路由文件.

好的,这适用于路径中具有区域设置的URL(示例2和3),但如果我删除了可选的区域设置部分(示例1),则找不到路由.很容易猜到问题来自{_locale}令牌,当URL中没有区域设置字符串时,将URL的"用户"部分捕获为区域设置.但是,如果URL的第一部分不是en | fr | it | de,那我该怎么告诉它让URL解开并将它链接到下一个文件?

论坛的解决方案是制作2条路线:

- routing.yml:

sys_ajax:
  resource: "@SystemAjax/InternalAjax/get"
  prefix:   /sysajax

locale_routing:
  resource: base_routing.yml
  prefix: /{_locale}
  requirements:
    _locale: fr|en

locale_routing2: …
Run Code Online (Sandbox Code Playgroud)

locale url-routing symfony-2.1

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

Youtube API v3显示"未配置访问"

我在开发者控制台中创建了一个Google应用程序,打开了"YouTube Data API v3",生成了服务器API密钥,并授权我的家庭和工作IP.

我的网站使用V3 API列出了Youtube频道中的所有视频.它使用官方PHP库,将其传递给服务器API密钥.

这一切在昨天从家里运行良好,今天早上下班.然后,它突然停止工作在上午11点(格林尼治标准时间+ 1),没有我的部分行动,这个错误:

[Google_Service_Exception]调用GET时出错 https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=xxxxxxxxxx&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:(403)未配置访问权限.API未针对您的项目启用,或者您的APIkey上配置了每IP或每个Referer限制,并且请求与这些限制不匹配.请使用Google Developers Console更新您的配置.

注意:我使用了少于10个请求,在白天允许的50万个请求中,我有一个静态的公共IP地址,这部分代码没有受到影响.

为了解决这个问题,我能找到什么呢?我真的不知道从哪里开始......谢谢.

youtube-data-api

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

为什么 Outlook 不使用 text/plain 部分?

首先,你好,

使用 SwiftMailer,我发送 HTML+PLAIN 电子邮件。

在 Outlook 中,当将此电子​​邮件显示为纯文本时,这不是我显示的纯文本部分,而是 HTML 的自动解析版本。

有谁知道如何强制 Outlook 在显示纯文本时使用消息的文本/纯文本部分?

我的代码执行以下操作:

$plain_body = convert_html_to_text($body);
$message->setBody($body, 'text/html')
->addPart($plain_body, 'text/plain');
Run Code Online (Sandbox Code Playgroud)

$body 有一些格式和图像:

vardump($body);

<html>
<head>...</head>
<body>
<img src="logo.png" alt="Company name" /><br />
<img src="border.png" alt="border" /><br />
<img src="face.png" alt="Mr Somebody" /><br />
<p>Hello Ninj!

You requested a confirmation by email...</p>
<img src="footer.png" alt="footer" />
</body></html>
Run Code Online (Sandbox Code Playgroud)

$plain_body包含一个非常干净的文本(感谢javon):

vardump($plain_body);

"Hello Ninj!

You requested a confirmation by email..."
Run Code Online (Sandbox Code Playgroud)

但是在 Outlook 中查看的纯文本版本中,我看到alt的是 HTML 版本图片的所有属性,一行一行,然后是一些格式较浅的文本:

公司名

边界

某人先生 …

outlook plaintext

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