我正在创建一个具有一个公共方法的类,它返回一个由参数索引的值.我目前只有一个捆绑.我目前拥有的包中的目录是:
/Controller
/DataFixtures
/DependencyInjection
/Document
/Entity
/Resources
/Tests
Run Code Online (Sandbox Code Playgroud)
放置像这样的类的惯例是什么?
我一直在寻找我的Symfony2验证选项.问题是这样的:
我有一个在setPassword方法中哈希密码的Member类:
public function setPassword($password)
{
$this->password = Encrypt::cryptPassword($password);
}
Run Code Online (Sandbox Code Playgroud)
散列是一个长字符串,无论原始输入如何都存在.
出于这个原因,这样的验证是无用的:
* @Assert\NotBlank()
* @Assert\Length(
* min = "8",
* max = "15",
* minMessage = "Your password must be at least {{ limit }} characters",
* maxMessage = "Your password cannot be longer than {{ limit }} characters"
* )
Run Code Online (Sandbox Code Playgroud)
触发验证是因为无论输入的有效性如何都会创建哈希字符串.
我看了尝试getter验证,但这似乎也是一个死路一条,因为我真正想要验证的是setPassword()的原始输入,并且在setPassword创建了一个hash值之后得到了hash值很有帮助.
推荐的方法是什么,它与现有的Validation组件一起使用,可以让我验证原始用户输入?
更新
虽然我接受了答案,但它并不可行.它确实让我专注于生命周期回调系统,这可能是解决方案的一部分.
根据当前的建议,一旦第一次对密码进行编码,每次尝试编辑实体时都会超过验证,因为散列密码当然不是输入,也不能解密为原始输入.
我现在正在试验实体中的单独属性,纯粹是为了输入密码,以及使用验证组来触发在某些情况下使用验证(新用户创建/密码更改),而在其他情况下省略它案例.我计划使用prePersist和preUpdate回调来进行密码编码.
仅供记录,这是在提供REST API的应用程序中使用,以及管理工具和所选功能的Web前端.
我遇到了一个问题。在应用程序的数据库中,我有一个schedule表,用于存储用户提供的时间表。例如
等等。然后,这些时间表将提供参考点来安排不同的任务或确定它们的重复性。
我想不出合适的数据库结构。我能得到的最好的是有一个包含以下列的表格:
然后将指定的时间表存储在相关列中并提供类型。例如,每周可以像周列中的 1 和 1(重复整个的指定值)或类似的东西。
这种方法的问题是这个表将被非常频繁地使用,并且检索到的数据不会很简单。需要计算才能知道计划类型,因此需要复杂的数据库查询来获取每种类型的计划。
如果可以提供任何其他方法,我将在 Laravel 应用程序中实现它。这是一个 SAAS 应用程序,其中包含与日程表相关的大量数据。
任何帮助将不胜感激。谢谢
我正在尝试解决 leetcode 类型问题,这是一个练习问题,伴随着我需要为工作做的即将进行的代码测试,但我遇到了麻烦。谁能帮助我了解出了什么问题?
\n我本质上是在寻找暴力选项,因为我不知道 algos/DS。
\n PROBLEM:\nRun Code Online (Sandbox Code Playgroud)\n写一个函数:
\n函数解(A);
\n给定一个包含 N 个整数的数组 A,返回 A 中未出现的最小正整数(大于 0)。
\n例如,给定 A = [1, 3, 6, 4, 1, 2],该函数应返回 5。
\n给定 A = [1, 2, 3],该函数应返回 4。
\n给定 A = [\xe2\x88\x921, \xe2\x88\x923],该函数应返回 1。
\n为以下假设编写一个有效的算法:
\nN 是 [1..100,000] 范围内的整数;\n数组 A 的每个元素都是 [\xe2\x88\x921,000,000..1,000,000] 范围内的整数。
\n HERE IS MY SOLUTION: \n\nfunction solution(A) {\n let newArray = A.sort(function(a, b){return a-b})\n let lowestNumber = 1\n for(i=0; i < newArray.length; i++) …Run Code Online (Sandbox Code Playgroud) php ×2
symfony ×2
arrays ×1
database ×1
for-loop ×1
javascript ×1
laravel ×1
mysql ×1
scheduler ×1
validation ×1