我正在为我的User实体创建一个自定义实体提供程序.但是当我在登录表单中输入用户名和密码时,我得到以下异常:
There is no user provider for user "Ibw\UserBundle\Entity\User".
Run Code Online (Sandbox Code Playgroud)
当我切换回默认的Doctrine实体提供程序时,一切顺利.
首先是我的security.yml:
security:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
anonymous: ~
form_login:
login_path: /login
check_path: /login_check
default_target_path: ibw_job_index
logout:
path: /logout
target: /
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
providers:
default_provider:
entity: { class: Ibw\UserBundle\Entity\User }
encoders:
Ibw\UserBundle\Entity\User: sha512
Run Code Online (Sandbox Code Playgroud)
这是Ibw\UserBundle\Entity\User班级:
<?php
namespace Ibw\UserBundle\Entity;
use Doctrine\Bundle\DoctrineBundle\Registry;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Security\Core\Role\Role;
use Symfony\Component\Security\Core\User\UserInterface;
use Doctrine\ORM\Mapping …Run Code Online (Sandbox Code Playgroud) 在symfony2中有一个内置的方法来验证字符串(在我的情况下是用户名和另一个属性)对经典的az,AZ和0-9规则吗?
我是否必须在regexp中将其作为自定义验证器编写?(如果是这样,提示在哪里看,表示赞赏)
我尝试使用此代码,但它不起作用,
<input type="button" value="Home" class="homebutton" id="btnHome" onClick="<?php header("Location: /index.php"); ?>" />
Run Code Online (Sandbox Code Playgroud) 在面向分布式服务的架构中,假设我有一个生产者,它使用 RMQ 向消费者发送消息。
然后我们决定通过添加更多消费者来横向扩展我们架构的消费部分,但我们面临一些限制。
发布者在它发送的每条消息中都提供一个序列号。消费者根据其拥有的序列号处理消息非常重要。
每次处理给定的资源时,比如说 A,发布者都会发送 RMQ 消息说“嘿,让我们为 A 做序列 1”然后“嘿,让我们为 A 做序列 2”等等。
例如,如果发布者为 A 提供了 3 条消息,序列为 1、2 和 3,并且这 3 条消息被分发到我们消费者的 3 个不同实例。序列 2 的消息重新排队,直到序列 1 被很好地处理,序列 3 也是如此。
最后消息都得到了很好的处理,但是经过多次重试!如果我们有 100 个序列要消耗,这会在我们的系统中导致一些延迟,因为我们会多次重试。
一种可能的解决方案是确保给定资源的每组序列都必须由同一个使用者处理。但是我们怎样才能做到这一点呢?
我怎样才能避免重新排队以确保我们的消费者的每个实例总是得到有序的给定资源的消息?
我想翻译我的枝条模板的一部分,而不是我的 trans_default_domain
举个例子:
{% trans_default_domain 'FOSUserBundle' %}
{{ 'test.trans'|trans({}, 'ProjectMainBundle') }}
Run Code Online (Sandbox Code Playgroud)
所以test.trans在ProjectMainBundle中翻译,但我总是test.trans在我的文本中.
编辑:
test.trans 在... src/Project/MainBundle/Resources/translations/messages.en
它可以在任何地方工作,但是当我试图让我的trans用a时它不起作用 trans_default_domain
我有一个调用php文件的ajax调用,该文件运行一个长PHP函数,它返回一个JSON编码的数组/对象.现在我需要将HTML也发送到ajax响应中.我想过在数组中发送HTML.
这是一个好习惯吗?
现在我无法使它工作,我获得了NULL该属性的值.不知道为什么.
$statHTML = '<table>';
foreach ($toHTML as $key=>$value) {
$statHTML.= '
<tr class="'.$key.'">
<td class="side">'.$value[0].'</td>
<td>'.$value[2].' '.$value[1].'</td>
</tr>';
}
$statHTML.= '</table>';
// echo $statHTML; // - this works
//function return
$answer = array('mostSearched'=>$mostSearched,
'timeOfDay' => $timeOfDay,
'mostSearchedDays'=>$mostSearchedDays,
'statHTML' => $statHTML
);
return json_encode($answer);
Run Code Online (Sandbox Code Playgroud)
来自控制台的ajax响应JSON.parse():
{
"mostSearched": {
"title": "Most serached houses",
"colNames": [21],
"rowNames": [2013],
"rows": [1]
},
"timeOfDay": {
"title": "Time of search",
"colNames": ["07:30"],
"rowNames": ["07:30"],
"rows": [
[1]
]
},
"mostSearchedDays": …Run Code Online (Sandbox Code Playgroud) 在开发机器上,我们有apache附带的默认证书,当我们尝试使用facebook进行身份验证时,HWIOAuthBundle会触发异常:
SSL证书问题:无法获得本地颁发者证书
很明显,在普通的PHP中我们需要设置一个选项CURLOPT_SSL_VERIFYPEER = false,并传递给curl_setopt_array(...).
我们如何为Symfony或HWIOAuthBundle定义这些选项?
我需要使用Symfony2向我的所有视图(twig模板)发送一个参数.
每个视图都扩展了一个特殊视图:base.html.twig所以我认为我只需要将此参数发送到此基本视图.
这是我在我的php文件中获取此参数的方法:
$svn = File('.svn/entries');
$svnrev = $svn[3];
Run Code Online (Sandbox Code Playgroud)
其中代表当前修订的数量.
.yml?中检索这个变量?我只需要从 datetime 变量中获取日期。我正在使用此代码。它工作正常,但现在当我尝试仅在 mysql 中存储日期时遇到了问题。看看下面的代码,请告诉我我错过了什么,
$date_time = "11-Dec-13 8:05:44 AM"
Run Code Online (Sandbox Code Playgroud)
从我从用户输入中获得的日期开始,我只需要将日期保存在att_date变量中。
$arr = explode("/", $date_time);
$arr2 = explode(" ", $arr[2]);
$att_date = $arr2[0].'-'.$arr[0].'-'.$arr[1];
Run Code Online (Sandbox Code Playgroud) $almostallTech=array();
$almostallTech[]="no";
$almostallTech[]="no";
$almostallTech[]="yes";
$almostallTech[]="yes";
$almostallTech[]="no";
$almostallTech[]="yes";
$almostallTech=array_unique($almostallTech);
printf("size of array: %d<br/>", sizeof($almostallTech));
for ($x = 0; $x < (sizeof($almostallTech)); $x++) {
printf("%s", $almostallTech[$x]);
}
Run Code Online (Sandbox Code Playgroud)
调用unique方法后,返回大小为2 - 这是正确的.然而,for循环给出了未定义的偏移误差.
进一步检查,如果我打印出来:
printf("%s", $almostallTech[0]); - I get no
printf("%s", $almostallTech[2]); - I get yes
printf("%s", $almostallTech[1]); - undefined offset error
Run Code Online (Sandbox Code Playgroud)
因此,唯一的功能是删除重复项,但保留前一个数组的相同索引 - 这是它的工作原理.这应该很简单,但无法弄清楚如何删除空或更具体的未定义索引.尝试了array_filter但仍然无法正常工作.有什么建议?
我想要的是在调用array_unique方法之后,删除重复项但应该应用新索引.即:我希望$ almostallTech [0]包含"否"我希望$ almostallTech [1]包含"是"
php ×8
symfony ×5
asynchronous ×1
certificate ×1
curl ×1
doctrine-orm ×1
html ×1
json ×1
mysql ×1
rabbitmq ×1
regex ×1
security ×1
ssl ×1
svn ×1
translation ×1
utf-8 ×1
validation ×1