我是Symfony的新手,到目前为止一切正常,除了以下:我安装SmartyBundle使用Smarty模板引擎而不是默认的Twig.它运作良好.但是在第79页的Symfony一书中,他们解释了一个非常简洁的Twig函数:直接从模板中嵌入控制器结果的能力.
我没有设法与Smarty合作,所以你知道是否可以做到这一点,以及如何做到这一点?
我想我可以使用forward方法从我当前的控制器调用另一个控制器来获得相同的结果,但在我看来,它提供了更多的分解功能来使用这个渲染功能.
当我使用参数设置服务sme_task.listener.status_change时,它不接收事件.
services:
sme_task.service.task_template:
class: Sme\TaskBundle\Service\TaskTemplateService
arguments: [@doctrine.orm.entity_manager]
sme_task.listener.status_change:
class: Sme\TaskBundle\Listener\StatusChangeListener
arguments: ["@sme_task.service.task_template"]
tags:
- { name: doctrine.event_subscriber, connection: default }
Run Code Online (Sandbox Code Playgroud)
如果我删除参数,则到达事件.
sme_task.listener.status_change:
class: Sme\TaskBundle\Listener\StatusChangeListener
tags:
- { name: doctrine.event_subscriber, connection: default }
Run Code Online (Sandbox Code Playgroud)
中小企业\ TaskBundle \监听\ StatusChangeListener.php
class StatusChangeListener implements EventSubscriber {
private $taskTemplateService;
public function __construct($taskTemplate=null) {
$this->taskTemplateService=$taskTemplate;
}
[...]
public function onFlush(OnFlushEventArgs $eventArgs) {
throw new \Exception("Event reached");
[... some calls to TaskTemplateService ...]
}
function getSubscribedEvents()
{
return array("onFlush");
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么会发生这种情况以及如何解决这个问题?
您好我想将Yahoo BOSS API与Symfony2集成,但Yahoo建议的OAuth代码类似乎不适用于现代PHP框架.
http://oauth.googlecode.com/svn/code/php/OAuth.php
/* Generic exception class
*/
class OAuthException extends Exception {
// pass
}
class OAuthConsumer {
public $key;
public $secret;
function __construct($key, $secret, $callback_url=NULL) {
$this->key = $key;
$this->secret = $secret;
$this->callback_url = $callback_url;
}
function __toString() {
return "OAuthConsumer[key=$this->key,secret=$this->secret]";
}
} [...]
Run Code Online (Sandbox Code Playgroud)
http://developer.yahoo.com/boss/search/boss_api_guide/codeexamples.html#oauth_php
我认为OAuth类有命名空间问题,我需要采取哪些步骤来在Symfony2中实现这个类?
在尝试从Symfony 2.0迁移到2.1时,我发现了一些有趣的问题.
我无法获得本机会话ID,即使是在简单的下载Symfony 2.1副本.
/**
* @Route("/sess")
*/
public function sessionAction()
{
$session = $this->getRequest()->getSession();
return new Response($session->getId());
}
Run Code Online (Sandbox Code Playgroud)
那里发生了什么变化吗?
我想在我的服务中生成一个无类表单.
我这样做的方式是:
class StepSummary implements StepInterface
{
public function __construct($container)
{
$this->container = $container;
}
public function getVariables()
{
$form = $this->container->get('form.factory')->createBuilder('text')
->add('accept')
->getForm();
return array('form' => $form->createView());
}
}
Run Code Online (Sandbox Code Playgroud)
在API中,我发现我需要将表单类型传递给FormBuilder- 我没有找到任何引用,所以我放了虚构的text字符串.现在它以这种方式呈现表单:
<input type="text" id="text" name="text" required="required" />
Run Code Online (Sandbox Code Playgroud)
显然没有提到该accept领域.
这有效,但它很混乱.我一直在搞乱参数包,但没有什么比我的代码更好.
我只是想重定向到同一页面并删除一个查询字符串,但要比它更好地编码:
$r = $this->request;
$url = $r->getUri();
$replace = "abc=" . $r->query->get( 'abc' );
$url = str_replace("?".$replace, "?", $url);
$url = str_replace("&".$replace, "", $url);
$response = new RedirectResponse($url);
$this->event->setResponse($response);
Run Code Online (Sandbox Code Playgroud) 我有一个使用Symfony2 Framework构建的项目.该项目就像facebook,google circle,linkedIn等社交网站.
所需的功能是:
•快速开发初始原型社交网站,只需要最少的编码(比如一周或两周)
•控制最终自定义网站的几个关键组件(代码约5%的功能从头开始)
•支持:个人资料(图片,自我描述等),论坛,消息,朋友
我已经在服务器上安装并配置了Symfony 2.我想知道我应该从哪里开始?
我在用:
{{ asset('contact') }} (e.g.)
Run Code Online (Sandbox Code Playgroud)
生成我的联系页面的URL,输出:
http://localhost.project/contact.
Run Code Online (Sandbox Code Playgroud)
但我正处于发展环境中.
如何为开发环境制作资产显示网址?
应该是:
http://localhost.project/web/app_dev.php/contact
Run Code Online (Sandbox Code Playgroud)
不
http://localhost.project/web/contact
Run Code Online (Sandbox Code Playgroud)