Tag: symfony

如何获得Symfony2应用程序的根目录?

从控制器内部获取根应用程序目录的最佳方式是什么? 是否有可能在控制器之外? 现在我通过将它(从参数)传递给服务作为参数来获取它,如下所示: services: sr_processor: class: Pro\Processor arguments: [%kernel.root_dir%] 有没有更好,更简单的方法来获取Symfony2中的这些信息?

如何从symfony2的控制器中的parameters.yml读取?

我在app / config / parameters.yml中放了几个自定义variables。 parameters: api_pass: apipass api_user: apiuser 我需要从我的控制器访问这些,并试图获取它们 $this->get('api_user'); 从我的控制器文件中。 当我尝试这个,我得到这个错误消息: You have requested a non-existent service "api_user". 什么是正确的方法来做到这一点?

在树枝模板中获取当前的url?

可能重复: 如何在Symfony 2中获得当前路线? 我四处寻找代码,以获取当前path在树枝模板(而不是完整的URL),即我不想要http://www.sitename.com/page ,我只需要/page 。

Running Composer返回:“无法打开input文件:composer.phar”

我是symfony2和阅读symblog的新手 。 在第三章尝试使用数据夹具时,我尝试了下面的命令: php composer.phar update 但我得到的错误: Could not open input file: composer.phar 所以我GOOGLE了一下,并试图 php composer.phar install 但仍然得到相同的错误。 所以,请指导如何处理这个composer php安装新的扩展或捆绑像symfony2数据固件使用wamp。

如何在Symfony2 Twig模板中获取configuration参数

我有一个Symfony2枝条模板。 我想输出一个configuration参数在这个树枝模板(一个版本号)的值。 所以我定义了这样的configuration参数: parameters: app.version: 0.1.0 我能够在控制器中使用此configuration参数,但我不知道如何在我的树枝模板中获取它。

如果第一个响应与AppCache(Symfony2)是私密的,那么它是否正确?

我试图使用httpcaching。 在我的控制器中,我设置了一个响应,如下所示: $response->setPublic(); $response->setMaxAge(120); $response->setSharedMaxAge(120); $response->setLastModified($lastModifiedAt); 开发模式 在开发环境中,第一个响应是200以下标题: cache-control:max-age=120, public, s-maxage=120 last-modified:Wed, 29 Feb 2012 19:00:00 GMT 接下来的2分钟,每个响应是一个304以下标题: cache-control:max-age=120, public, s-maxage=120 这基本上是我所期望的。 产品模式 在产品模式下,响应标头是不同的。 请注意,在app.php中我将内核包装在AppCache中。 第一个响应是200以下标题: cache-control:must-revalidate, no-cache, private last-modified:Thu, 01 Mar 2012 11:17:35 GMT 所以这是一个私人的无caching响应。 接下来的每一个请求都是我所期望的。 304以下标题: cache-control:max-age=120, public, s-maxage=120 我应该担心吗? 这是一个预期的行为? 如果我把Varnish或Akamai服务器放在它的前面会发生什么? 我做了一些debugging,我发现这个响应是私有的,因为最后修改的头文件。 HttpCache内核使用EsiResponseCacheStrategy来更新caching的响应( HttpCache :: handle()方法)。 if (HttpKernelInterface::MASTER_REQUEST === $type) { $this->esiCacheStrategy->update($response); […]

如何用Composer更新单个库?

我需要为我的SF2发行版(DoctrineFixtures)只安装一个软件包。 当我跑步 php composer.phar update 我明白了 – Updating twig/twig (dev-master 39d94fa => v1.13.0) The package has modified files: M CHANGELOG M doc/filters/batch.test M doc/filters/index.rst M doc/filters/url_encode.rst M doc/functions/index.rst M doc/tags/index.rst M doc/tests/index.rst M lib/Twig/Autoloader.php M lib/Twig/Compiler.php M lib/Twig/CompilerInterface.php -10 more files modified, choose "v" to view the full list 看起来最后一位开发者编辑了很多供应商内部的文件。 为了解决这个问题,我试了一下 php composer.phar update <package_name> […]

如何获取symfony2中的请求参数

我对symfony很陌生。 在其他语言如java和其他语言中,我可以使用request.getParameter('parmeter name')来获取值。 有什么类似的,我们可以用symfony2做。 我看过一些例子,但没有一个能为我工作。 假设我有一个名称为username的表单域。 在表单动作中,我试图使用这样的东西: $request = $this->getRequest(); $username= $request->request->get('username'); 我也试过了 $username = $request->getParameter('username'); 和 $username=$request->request->getParameter('username'); 但没有任何选项正在工作。但以下工作正常: foreach($request->request->all() as $req){ print_r($req['username']); } 我在哪里使用getParameter()方法做错了。 任何帮助将不胜感激。

如何从Symfony2 config.yml读取configuration设置?

我已经添加了一个设置到我的config.yml文件,如下所示: app.config: contact_email: somebody@gmail.com … 对于我的生活,我无法弄清楚如何将它读入一个variables。 我在我的一个控制器中尝试了这样的事情: $recipient = $this->container->getParameter('contact_email'); 但是我得到一个错误说: 必须定义参数“contact_email”。 我已经清除了我的caching,在Symfony2重新加载的网站文档中,我也到处寻找,但我无法find如何做到这一点。 大概现在太累了,现在就解决这个问题。 有人能帮忙吗?

用doctrine2删除级联

我试图做一个简单的例子,以了解如何从父表中删除一行,并自动删除使用Doctrine2在子表中匹配的行。 以下是我正在使用的两个实体: Child.php: <?php namespace Acme\CascadeBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="child") */ class Child { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\ManyToOne(targetEntity="Father", cascade={"remove"}) * * @ORM\JoinColumns({ * @ORM\JoinColumn(name="father_id", referencedColumnName="id") * }) * * @var father */ private $father; } Father.php <?php namespace Acme\CascadeBundle\Entity; use Doctrine\ORM\Mapping […]