标签: symfony1

<ModelName> .class.php和<ModelName> Table.class.php之间的Symfony区别

Cuold有人向我解释了Doctrine自动生成的文件<ModelName>.class.php<ModelName>Table.class.php?例如,在Jobeet教程中有JobeetJob.class.php和JobeetJobTable.class.php.

我不明白每个文件的作用以及我必须为模型类放置方法的位置.

php doctrine symfony1 model

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

在迁移期间添加新的枚举列

任何人都可以请告诉我如何为我的架构添加一个类型枚举的新列以实现Doctrine Migration?

migration doctrine symfony1

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

从Aptana Studio 3终端连接到远程主机

如何从Aptana Studio 3终端视图连接到远程主机,并使用该服务器上的命令?

我正在使用symfony框架,该项目在我的主机192.168.0.100中,所以我想运行symfony命令,如: $ symfony propel:build-schema

aptana ssh terminal symfony1 aptana3

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

Php框架:symfony 1,symfony 2或Yii

我们将从自制框架切换到Symfony或Yii.从我们的观点来看,这两个框架的能力是相似的(即它们都有我们需要的东西).

我们的情况:php 5.2.9,中型网站(10.000唯一身份/天)但共享主机.

  • 鉴于我们拥有的php版本,我们不能选择symfony 2(它需要5.3.4)因此,现在版本2已经用完了,这是一个聪明的举动去symfony 1吗?
  • 我们在共享托管(去专用服务器现在不是一个选项,我们没有钱),不会symfony 1和yii要求太多的资源(我更担心symfony 1 ,从我读过的)?
  • 一些网站贡献者并不熟悉php/MVC框架:一旦网站结构转换为这两个框架中的一个,这些贡献者会遇到困难吗?花2-3天发现框架是可以的,2-3周不是.我读过yii比symfony有更少的教程(但是完整的文档),但最后一个更难理解.

请不要回答"这个更好",最好是最近会使用这两个框架的人.

php frameworks symfony1 yii symfony

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

将POST请求发送到安全操作

我有一个动作,它接受sfGuard保护的POST数据.这意味着如果用户未登录,POST数据将被发送到登录表单.通常,这不是问题,用户继续登录,并且必须再次提交数据.

不幸的是,登录表单似乎使用POST数据,就好像它是与表单本身一起提交的.这意味着它抱怨所需的用户名和密码字段丢失,并且它抱怨它缺少CSRF令牌.无论如何,在提交表单后,最后一个问题不会消失,这意味着用户无法登录.

如果没有登录,则不应向用户显示表单,但用户可能可以在表单仍然打开的情况下注销.所以我要求保持界面的防水和无错误.

这是sfGuard的缺点,可以避免,还是我做错了?

澄清一下,路线如下:

add_subgroup:
  url:      /group/:id/add
  class:    sfPropelRoute
  options:
    model:  Group
    type:   object
  param:    { module: subgroups, action: create }
  requirements:
    group_id: \d+
    sf_method: [post]
Run Code Online (Sandbox Code Playgroud)

用于提交请求的表单如下:

<form action="<?php echo url_for('add_subgroup', $group) ?>" method="post">
  <input type="hidden" name="group_id" value="<?php echo $group->getId() ?>" />
  <input type="text" name="subgroup_id" />
  <input type="submit" class="button" value="Add" />
</form>
Run Code Online (Sandbox Code Playgroud)

php post symfony1 sfguard symfony-1.4

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

是否可以在Doctrine 2 ODM中的多个字段上使用sort()?

我在我的学说mongodb*odm*中对结果文档进行查询.文档中有两个索引字段,我想在排序中使用.我写了类似的东西:

$results = $this->createQueryBuilder('Document\Score')
            ->sort('finalScore', 'desc')
            ->sort('date', 'desc')
            ->getQuery()
            ->execute();
Run Code Online (Sandbox Code Playgroud)

这里第二个sort()函数会覆盖第一个函数,并且永远不会找到指定的结果.

在此先感谢您的帮助.

sorting symfony1 mongodb doctrine-orm odm

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

在Doctrine PHP Symfony中重写Doctrine_Record(sfDoctrineRecord)实例方法

我的背景是在Propel中,所以我希望在Doctrine_Record(sfDoctrineRecord)中覆盖一个神奇的getter是一件简单的事情,但是我得到了一个Segfault或者覆盖方法被简单地忽略了,而不是超类.

https://gist.github.com/697008eaf4d7b606286a

class FaqCategory extends BaseFaqCategory
{

  public function __toString()
  {
    return $this->getCategory();
  }

  // doesn't work
  // override getDisplayName to fall back to category name if getDisplayName doesn't exist
  public function getDisplayName() {

    // also tried parent::getDisplayName() but got segfault(!)
    if(isset($this->display_name)) {
      $display_name = $this->display_name;
    } else {
      $display_name = $this->category;
    }

    return $display_name;

  }

}
Run Code Online (Sandbox Code Playgroud)

在Doctrine_Record实例上扩展/覆盖方法的正确Doctrine方法是什么(通过sfDoctrineRecord扩展Doctrine_Record)?这必须是可行的......或者我应该查看模板文档?

谢谢,Brian

php doctrine symfony1 extending getter-setter

8
推荐指数
3
解决办法
4630
查看次数

应该在哪里放置"全球"Symfony功能?

放置在多个MVC层中使用的函数的最佳实践是什么?

我最近不得不编写一些在View和Model中使用的统计函数.如果我把它们放在帮助器中,我就会在模型层中加载助手,这很烦人,似乎不正确,并且当从任务调用这些函数时会完全中断(因为没有默认上下文).如果我将它们放在顶级lib目录中,我就会像Stats::normalPercentile在视图中那样进行调用.

还有其他选择吗?Symfony开发者是否有任何关于应该放置这些功能的评论?

编辑:显然在视图中进行静态调用没有问题.我推断这是基于Symfony没有将他们的助手编写为类(即使经过重要的讨论.)在这种情况下,是否有任何约定放置文件的约定?把它们扔进去lib/util

php symfony1

8
推荐指数
1
解决办法
2784
查看次数

如何在symfony中返回特定的状态代码(例如24)

我需要在symfony中为API返回疯狂的http代码状态

我需要返回状态码24我试着这样做:

$this->getResponse()->setStatusCode('24');
Run Code Online (Sandbox Code Playgroud)

但我总是得到响应代码500

当我尝试返回像404,403这样的"正常"状态代码时:

$this->getResponse()->setStatusCode('403');
Run Code Online (Sandbox Code Playgroud)

它没有问题

任何想法为什么?

php symfony1 http http-headers

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

VMWare 6.5 + PHP 5.3.3 + Symfony 1.4中出现奇怪的PHP解析/语法错误

在遵循"实践Symfony"课程的同时,我遇到了一个奇怪的错误.

我在VMWare 6.5.5机器上安装了Debian Squeeze.它附带PHP 5.3.3,我使用的是Symfony 1.4.源文件在主机上,我使用共享文件夹功能(vmhgfs mount)访问它们.

现在,当我尝试以下命令时,出现错误:

php symfony doctrine:build --model    
php symfony doctrine:build --sql
Run Code Online (Sandbox Code Playgroud)

错误:

PHP Parse error:  syntax error, unexpected ')' in /var/www/appli/lib/model/doctrine/base/BaseJobeetJob.class.php on line 144
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我: - 在没有共享文件夹的情况下做同样的事情(例如在ext3分区上),它可以工作, - 将VM转换为VirtualBox并在共享文件夹上执行相同的操作,它可以工作, - 降级PHP到5.2.6(来自lenny),它的工作原理.

我记得前一段时间与Smarty生成的PHP代码有同样的问题.因为它是自动生成的PHP并且可以随意重新生成,所以它是在本地direcorty中生成的.但我不认为这适用于Doctrine生成的文件.

有没有人知道发生了什么以及如何解决它?

编辑:这是第144行的代码:

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('JobeetCategory', array(
             'local' => 'category_id',
             'foreign' => 'id',
             'onDelete' => 'CASCADE'));

        $timestampable0 = new Doctrine_Template_Timestampable();
        $this->actAs($timestampable0);
    }
} // Line 144 here.
Run Code Online (Sandbox Code Playgroud)

它实际上是文件的结尾......

编辑#2:说清楚我已经测试了以下组合以缩小问题范围:

  • VM软件:VMWare Workstation 6.5.5/VirtualBox 4.0.8
  • PHP版本:5.3.3/5.2.6,
  • 挂载类型:vmhgfs(或带有VirtualBox的vboxsf)/ …

php doctrine symfony1 vmware-workstation

8
推荐指数
1
解决办法
1333
查看次数