我想知道使用上次出现的新symfony安装程序和旧式作曲家创建新的symfony项目时的差异.
我已经安装了最新版本的symfony(2.6.1),结果不同,例如当我用composer安装symfony时,我得到.gitignore文件.当我使用新的symfony安装程序脚本安装时,缺少gitignore.
以下是新项目中的目录和文件数量:
symfony installer: 1498 directories, 7136 files
symfony installer + composer update: 1571 directories, 7749 files
composer create-project: 1615 directories, 7905 files
Run Code Online (Sandbox Code Playgroud)
我想我会坚持旧的方式 - 作曲家,因为新的安装程序似乎被窃听或者至少还没有完成,但是我想更多地了解这个主题,有什么区别,使用新的安装程序等是否安全?
在文档中说我们可以在查询参数上应用复杂约束,如:
@QueryParam(
array=true,
name="filters",
requirements=@MyComplexConstraint,
description="List of complex filters"
)
Run Code Online (Sandbox Code Playgroud)
摘自https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/3-listener-support.md
但是当我尝试在我的项目中使用它时:
@Annotations\QueryParam(
name="departurePoint",
array=true,
strict=true,
requirements=@DeparturePoint,
nullable=false,
description="The destination from where to start the journey"
)
Run Code Online (Sandbox Code Playgroud)
正确使用DeparturePoint(作为symfony约束实现)时,会抛出一个错误,指出requirements参数只能是一个字符串.
是否可以为queryParam使用自定义验证器?
我已经更新了代码,脚本仍然返回"失败".信息.我必须遗漏一些东西,我已经听取了每个人的意见.那或者我只是愚蠢的大声笑!这是更新的代码:
require('../connect.php');
$username = $_POST['username-sign-in'];
$password = $_POST['password-sign-in'];
if true then exit() for {
empty($username);
empty($password);
}
if (isset($username, $password)) {
$getuser = $connection->prepare('SELECT `username`, `password`
FROM `users` WHERE `username` = ?');
$getuser->bind_param('s', $username);
$getuser->execute();
$userdata = $getuser->get_result();
$row = $userdata->fetch_array(MYSQLI_ASSOC);
echo 'Password from form: ' . $password . '<br />';
echo 'Password from DB: ' . $row['password'] . '<br />';
if (password_verify($password, $row['password'])) {
echo 'Success.';
exit();
}
else {
echo 'Fail.';
exit();
}
}
else {
echo 'Please …
Run Code Online (Sandbox Code Playgroud)