小编Mik*_*ike的帖子

如何加载控制器功能并使用Symfony2在树枝标签中呈现它?

我正在使用Symfony2和Twig.我的控制器中有一个函数(下面),它返回一个特定的文本.是否可以直接从我的模板调用该函数并将模板中的{{text}}更改为函数返回的任何内容,可能是通过Ajax?

这是我的功能:

public function generateCode($url) {
    $url = $_SERVER['SERVER_NAME'] . '/embed/' . $url;
    $return = '<iframe>'.$url.'</iframe>';
    return $return;
}
Run Code Online (Sandbox Code Playgroud)

另一个控制器函数调用上面的函数并呈现我的模板:

public function getCodeAction($url) {
    $text = $this->generateCode($url);
    return $this->render('MyMyBundle:User:code.html.twig', array('text' => $text));
}
Run Code Online (Sandbox Code Playgroud)

在我使用的模板中:

{{ text }}
Run Code Online (Sandbox Code Playgroud)

显示值.

symfony twig

20
推荐指数
4
解决办法
5万
查看次数

重定向后window.opener为null

我正在从父母那里打开一个paypal窗口window.open().付款并重定向回我的页面后(在弹出窗口中),我想关闭弹出窗口并更新父窗口URL.

我发现这可以通过window.opener.location工作.

然而控制台显示

window.opener.location为null

重定向后因为子窗口更改,弹出窗口会丢失有关开启器的信息.

好极了 现在有什么办法解决这个问题吗?也许为听父母的网址的父母添加一种"听众"?

javascript window.open

15
推荐指数
2
解决办法
2万
查看次数

使用andwhere()的Symfony2/Doctrine QueryBuilder

我在存储库类中使用以下方法来查找数据库中的某些标记:

public function getItemsByTag($tag, $limit = null)
{
    $tag = '%'.$tag.'%';

    $qb = $this->createQueryBuilder('c');

    $qb->select('c')
       ->where($qb->expr()->like('c.tags', '?1'))
       ->setParameter(1, $tag)
       ->addOrderBy('c.clicks', 'DESC');

    if (false === is_null($limit))
        $qb->setMaxResults($limit);

    return $qb->getQuery()->getResult();
}
Run Code Online (Sandbox Code Playgroud)

这很好..但是:如何添加2个额外的变量(其中:reviews = 1,enabled = 1)?我试过andwhere(),但我无法弄明白.

我也发现了这样的事情:

public function getItems($limit = null)
{
        $qb = $this->createQueryBuilder('b')
               ->select('b')
               ->add('where', 'b.reviewed = 1')
               ->add('where', 'b.enabled = 1')
               ->addOrderBy('b.name', 'ASC');

        // ...
}
Run Code Online (Sandbox Code Playgroud)

不会工作......

任何提示?

doctrine symfony

11
推荐指数
2
解决办法
4万
查看次数

git clone localhost?

我对ubuntu并不大,但我设法在我的客户端设置git并在我感到自豪的服务器上gitosis.我将我的本地ssh公钥添加到gitosos的授权密钥,并且可以克隆,推送,提交等.一切正常,从我的本地机器到服务器 - 来回.

但是,由于服务器也充当我的网络服务器,我只需要连接到服务器并在我的一个webroot文件夹中创建一个"git clone git @ localhost:gitproject.git",但它根本不起作用.

我是否必须将服务器pub密钥添加到授权主机?如果是这样,怎么样?或者还有其他方法吗?

谢谢

ubuntu gitosis

9
推荐指数
1
解决办法
8926
查看次数

Symfony2:FOS_Userbundle更新数据库模式时的重复定义?

我试图使用FOS_UserBundle来管理我的用户,但每次我尝试更新数据库

php app/console doctrine:schema:update --force
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

在字段或标识符列映射中实体上的列'username'的重复定义.用户捆绑包

当我注释掉用户名时,它也会出现'电子邮件'.

我的用户类实际上非常基本:

namespace My\MyBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{

/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;

/**
* @ORM\Column(type="string", length="100") 
*/
protected $username;

/**
* @ORM\Column(type="string", length="100") 
*/
protected $name;

/**
* @ORM\Column(type="string", length="100")
*/
protected $firstname;

/**
* @ORM\Column(type="string", length="150")
*/
protected $email;

}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

symfony

9
推荐指数
3
解决办法
1万
查看次数

Symfony2/Monolog:日志级别 - 只显示app.INFO?

我使用Symfony2和monolog在定义的日志文件(mylogfile.log)中写入特定日志:

#config_dev.yml
monolog:
    handlers:
        main:
           type:  stream
           path:  %kernel.logs_dir%/%kernel.environment%.log
           level: debug
       file:
           type:   stream
           path:   %kernel.logs_dir%/mylogfile.log
           level:  info
Run Code Online (Sandbox Code Playgroud)

我通过以下方式访问控制器中的日志文件:

    $logger = $this->get('logger'); // Log
    $logger->info('somelogcontent');
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我的日志文件包含整个信息级别,这意味着它给了我所有app.INFO日志(这是我想要的)和request.INFO(我真的不需要):

[2012-04-04 11:13:17] request.INFO: Matched route ... blablabla
[2012-04-04 11:13:17] app.INFO: somelogcontent
...
Run Code Online (Sandbox Code Playgroud)

有没有办法不记录Request.INFO?

麦克风

symfony monolog

7
推荐指数
2
解决办法
1万
查看次数

树枝空变量 - >例外?

我在Twig中经历一个循环:

{% for item in items %}
<div class="description">
   Title: {{ item.name }}<br />
   Price: {{ item.price }}
</div>
{% else %}
<p>...</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

如果item.price为空,则会抛出异常.当某个值为空时,我不能简单地强制Twig给出"没有"吗?

或者我是否总是需要{%if item.x%} {{item.x}} {%endif%}获取所有值?

symfony twig

6
推荐指数
3
解决办法
3237
查看次数

将外部库添加到Symfony2项目

我正在尝试将一个外部库(PHP Simple DOM Parser,http://simplehtmldom.sourceforge.net/index.htm)添加到Symfony2项目中.我参加了一个教程,解释了如何将第三方库包含在Symfony2中http://www.kiwwito.com/article/add-third-party-libraries-to-symfony-2.

我设置了一个类文件,如:

# vendor/phpsimpledom/lib/Phpsimpledom/simple_html_dom.php

require_once __DIR__.'/src/simple_html_dom.php';

class Phpsimpledom_Phpsimpledom extends simple_html_dom_node {
}
Run Code Online (Sandbox Code Playgroud)

并在我的Autoloader(autoload.php)中注册了我的课程:

$loader->registerNamespaces(array(
...
'Phpsimpledom' => __DIR__.'/../vendor/phpsimpledom/lib/',
...
),));
Run Code Online (Sandbox Code Playgroud)

我打电话给:

$phpsimpledom = new \Phpsimpledom();
Run Code Online (Sandbox Code Playgroud)

但这给我带来了一个错误(致命错误:未找到类'simple_html_dom_node').

但是:库的主文件(simple_html_dom.php)由不属于类的函数组成.

当我尝试直接使用该文件时,它也不起作用:

    $loader->registerNamespaces(array(
...
'Phpsimpledom' => __DIR__.'/../vendor/phpsimpledom/lib/Phpsimpledom/src/simple_html_dom.php',
...
),));
Run Code Online (Sandbox Code Playgroud)

任何提示?

谢谢!

libraries symfony

6
推荐指数
1
解决办法
9246
查看次数

好的Symfony编辑器Netbeans还是Eclipse?

我正在为Symfony2项目和其他项目寻找一个好的编辑器.我真的不需要花哨或成千上万的脚本加载等.我个人更喜欢简单而干净的结构化IDE - 这就是为什么我总是倾向于关闭Eclipse.

我在OS X Lion的Macbook上运行Mamp.

目前我总是回到科莫多.所以我的问题是:在Eclipse和Netbeans中支持Symfony有什么好处(我实际上都试过了)?

我不介意编辑和在编辑器和浏览器之间来回切换.我从来没有真正理解为什么需要有一个巨大的应用程序.除了代码智能和编辑器中集成的颠覆工具之外,我看不到任何其他优点.有人可以同意吗?

eclipse ide symfony

5
推荐指数
1
解决办法
3707
查看次数

Zend Framework或Symfony2

我知道这个问题已被问过几次了,但我想解释一下我的立场,如果有专业知识的人可以给我一个很好的答案,我会很高兴.

我目前正在开展两个大型项目,这些项目都是专用的,并且在他们自己的debian服务器上运行.我对PHP3 +非常有经验,这意味着我总是用大约10年的时间做硬编码PHP方式,拥有自己的文件结构,库等等.现在,对于这两个项目,我需要有a)安全性,b)负责人和c)易于实施(这对我来说节省时间).

据我所知,到目前为止,两者都是很好的框架.Zend Framework是非常模块化的,所以我基本上可以选择我想要的功能,如果我错了,请纠正我 - 而且它更"原始"-PHP导向,这将为开始提供良好的基础.另一方面,Symfony非常注重社区,并且有很多东西.我注册了symfony google小组并整天收到问题和答案.所以在获得支持方面,我认为symfony是首选.

现在:对于具有非常安全的客户区域,注册和与数据库对应的智能功能的项目,基本上需要框架.我还需要从现有的mysql数据库迁移旧数据.我需要一些自编的php函数,jquery和paypal api.(这两个项目实际上是大量支付和计算导向)

frameworks zend-framework symfony

4
推荐指数
1
解决办法
8064
查看次数