我可以从控制器运行symfony命令吗?

我正在制作像symfony中的论坛,人们可以在这里共同制作故事,有点像角色扮演游戏。 </ p>

当有人显示一个角色正在讲话时,该线条将以角色所有者设置的字体和颜色显示。 所以我写了一个句子,选择它并按下一个带有该字符名称的按钮,然后用一个类名作为该字符的名称在内部包装该句子,所以当css读取该行时,它就会被格式化。 / p>

现在我遇到了问题,我的想法是角色的所有者可以修改字体或样式,所以当我这样做时,控制器会生成一个名为css文件的css文件。 特殊文件夹。 然后我可以使用symfony中的资产组件来加载来自该文件的所有css文件 夹。 问题是,如果我想在生产中使用它们,我需要从symfony运行一个特殊的命令(php bin / console assetic:dump --env = prod --no-debug)。</ p>

< p>现在的问题是,我可以从控制器运行该命令吗? 我想不是出于安全原因。</ p>

我知道我总是可以用一个字符的所有类来制作一个css,但我需要解析文件寻找类并修改 它不是仅仅覆盖文件而是让symfony完成剩下的工作。</ p>

如果不可能你知道我的想法可以“轻松”完成吗?</ p>

嗨希望你能理解我,谢谢</ p>
</ div>

展开原文

原文

I am making something like a forum in symfony where people can make stories in common, a bit like a roleplaying game.

When someone is showing that one character is talking the line will be shown with a font and color set by the owner of the character. So I write a sentence, select it and press a button with the name of the character, and internally wraps that sentence in a span with a classname that is the name of the character, so when the css reads that line it is formated.

Now the problem I have, my idea is that the owner of the character can modify the font or the style, so when I do that the controller generates a css file named like the character in a special folder. Then I can use the assetic component from symfony to load all the css files from that folder. The problem is that if I want to use them in production I need to run a special command from symfony (php bin/console assetic:dump --env=prod --no-debug).

The question now is, can I run that command from the controller? I guess not for security reasons.

I know that I can always make just one css with all the classes of the characters, but I would need to parse the file looking for the class and modifying it instead of just overwrite the file and let symfony do the rest.

If it isn't possible do you know someway my idea could be "easily" done?

Hi hope you can understand me, thanks

doson1998
doson1998 我尝试过,但它没有用。它表示在安装时无法找到资产命名空间。不管怎么说,多谢拉
大约 4 年之前 回复
doushi1912
doushi1912 本文可能对您有所帮助:symfony.com/doc/2.6/cookbook/console/command_in_controller.html
大约 4 年之前 回复

2个回答



您可以使用php中的 exec()</ code>函数从PHP运行命令。 我认为可能有一种更干净,更安全的方式来实现您的尝试,但是对于使用php运行命令,您可以使用 exec()</ code>。 祝你的项目好运。 听起来很酷。</ p>
</ div>

展开原文

原文

You can run commands from your PHP using the exec() function from php. I think there is probably a more clean and secure way to achieve what your trying to do, but regarding running commands with php, you can use exec(). Good luck with your project. Sounds cool.

ds12093213
「已注销」 我试过,奇怪的是,命令的输出表明文件已创建,但文件夹中不存在该文件。 不管怎么说,多谢拉
大约 4 年之前 回复



您将在文档。</ p>
</ div>

展开原文

原文

You will find everything you need in the documentation.

dpgvdfg321041670
dpgvdfg321041670 它的工作原理,你得到的输出是'<html> <body>倾倒所有prod资产。 调试模式已打开。</ body> </ html>'这个命令的输出不是由assetic生成的结果。 或者我不明白你想做什么。
大约 4 年之前 回复
douyou4819
douyou4819 / ** * @Route(“/ testassetdump”,name =“asset”)* / public function assetAction(){$ kernel = $ this-> get('kernel'); $ application = new Application($ kernel); $应用程序 - > setAutoExit(假); $ input = new ArrayInput(array('command'=>'assetic:dump',' - env'=>'prod')); $ output = new BufferedOutput(); $ application-> run($ input,$ output); $ content = $ output-> fetch(); 转储($内容); 返回新的响应('<html> <body>'。$ content。'</ body> </ html>'); }
大约 4 年之前 回复
dsvjw20866
dsvjw20866 复制/粘贴您的代码。
大约 4 年之前 回复
dongzaijiao4863
dongzaijiao4863 是的,我试过了。 我做了文档的例子,它说“[Symfony \ Component \ Console \ Exception \ CommandNotFoundException]”swiftmailer:spool“命名空间中没有定义命令。” 与assetic命令相同。
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐