Symfonyob娱乐下载 4.1新增功能:准备好的命令
2018年2月28日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
哈姆萨Amrouche
在# 24763.
在Syob娱乐下载mfony 4.1中,我们改进了流程组件允许写作“准备命令”,这一概念类似于SQL中的预准备语句。基本思想是用占位符替换命令的某些部分,这些占位符的值稍后在实际运行命令(或通过环境变量)时提供:
1 2 3 4
使用ob娱乐下载\组件\过程\过程;$过程=新过程(ls -lsa "${:path}");$过程->运行(零, (“路径”= >/ /一些/ dir /途经]);
占位符必须跟在" $ {: placeholder_name} "
严格的语法,这与Twig没有任何关系,除了括号的使用的巧合。如果运行该命令时缺少一些占位符值,则会得到一个InvalidArgumentException
.
类的第二个参数传递占位符值之外run ()
方法中也可以传递它们过程
类构造函数:
1 2 3 4
使用ob娱乐下载\组件\过程\过程;$过程=新过程(ls -lsa "${:path}",零, (“路径”= >/ /一些/ dir /途经]);$过程->run ();
预准备命令的最佳特性之一是占位符值会自动转义,这使您作为开发人员的工作更容易,并确保命令始终按预期工作。
1 2 3 4 5 6 7
$过程=新过程(', mysqldump——用户= " $ {:db_user}”——密码= " $ {:db_pass} " " $ {: db_name} " > " $ {: db_backup_path}”);$过程->运行(零, (“db_user”= > getenv (“DB_USER”),“db_password”= > getenv (“DB_PASS”),“db_name”= >sob娱乐下载ymfony的,“db_backup_path”= >“/ var /备份/ db -”.time()。. sql的]);
如果你因为某些原因不喜欢在命令中使用占位符,Process组件也允许从Symfony 3.3开始传递一个数组,其中第一个元素是要运行的命令,其余元素是它的选项和参数,允许你以编程方式构建一个复杂的命令:ob娱乐下载
1 2 3 4 5 6 7
$过程=新过程(数组(“,mysqldump”,”——用户= '.getenv (“DB_USER”),”——密码= '.getenv (“DB_PASS”),$dbName));$过程->run ();
发表在#生活在边缘
评论
迈克尔Hirschler
2018年3月1日说在07:58
天才!这将使我的一些命令更容易阅读!
谢谢你!
谢谢你!
@Gemorroj我们正在Symfony 4.1发布之前对这个特性做一些修改。ob娱乐下载请继续关注,因为我们将在这些更改准备就绪时更新本文。
Wissem Riahi
2018年3月8日说在06:50
感谢这个功能!
随着时间的推移,他们的行为发生了变化。现在,在unix上它应该是这样的:
$过程=新进程(' ls lsa“${}:路径",null,['路径' = > ' /道路/ /一些/ dir));
(参见https://github.com/syob娱乐下载mfony/symfony/pull/34848)
随着时间的推移,他们的行为发生了变化。现在,在unix上它应该是这样的:
$过程=新进程(' ls lsa“${}:路径",null,['路径' = > ' /道路/ /一些/ dir));
(参见https://github.com/syob娱乐下载mfony/symfony/pull/34848)
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Almahdi TRIMECH is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now谢谢哈维尔:)