小编Sim*_*mon的帖子

PHP中有__equals方法,就像在Java中一样吗?

您是否可以在PHP中使用模式或魔术方法来定义何时比较类的两个实例?

例如,在Java中,我可以轻松地覆盖该equals方法,并创建一种自定义方式来检查和比较两个实例.

php oop equals

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

在Build Server上使用VCS在GitHub上使用Composer和Private Repository

我的compsoser.json使用来自我们的组织Github帐户的2个私有存储库,如下所示.

{
    "name": "API",
    "repositories": [
      {
        "type": "vcs",
        "url": "git@github.com/company/private.git"
      },
      {
        "type": "vcs",
        "url": "git@github.com/company/private2.git"
      }
    ],
    "require": {
        "php": ">=5.3.3",
        "zendframework/zendframework": ">2.1.3",
        "doctrine/mongodb-odm": "dev-master",
        "doctrine/doctrine-mongo-odm-module": "dev-master",
        "company/private": "dev-master",
        "company/private2": "dev-master"
    }
}
Run Code Online (Sandbox Code Playgroud)

我们设置了SSH密钥并将它们添加到我们的登台服务器上的授权密钥.当我们运行git clone时,它工作得很好,而不是要求任何凭据.

但是,当我们运行composer update时,获取存储库会失败,因为composer无法访问存储库.

由于这是以非交互方式运行的,因为这是构建脚本的一部分,因此我们无法输入凭据并希望将其自动化.

我们可以做些什么来让作曲家在构建过程中访问我们的私人回购?

php git ssh github composer-php

27
推荐指数
4
解决办法
3万
查看次数

Symfony2验证日期时间1应该在日期时间2之前

我正在查看Symfony2验证参考,但我找不到我需要的东西.

我有一个带有StartDateEndDate的课程.我想添加一个\ @Assert(),它验证StartDate始终是BEFORE EndDate.是否存在将类属性作为验证约束进行比较的标准方法,还是应该创建自定义验证约束?

class Employment {

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

    /**
    * @ORM\Column(type="datetime") 
    * @Expose()
    * @Assert\DateTime()
    */
    protected $startDate;

    /**
    * @ORM\Column(type="datetime", nullable=TRUE)
    * @Expose()
    * @Assert\DateTime()
    */
    protected $endDate;

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

php validation assert symfony doctrine-orm

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

使用AngularJS等框架的Symfony2和单个网页应用程序

(如果这不是发布此类问题的正确位置,我很乐意将其发布在其他地方)

我正在尝试构建一个交互式Web应用程序来管理公司资源.我有Symfony2的经验,但是我对这个新的应用程序有点不满.

我想在客户端使这个应用程序非常互动.几乎是一个完整的单一网页应用程序.我以前的Web应用程序通常只使用CRUD页面的典型MVC模式.

在那些简单的应用程序中我会有

/employees/
/employees/create
/employees/detail/45
/employees/update/45
/employees/delete/45
Run Code Online (Sandbox Code Playgroud)

在这种应用程序中使用symfony会给我很多好处:

  • 路由
  • 安全性(CSRF令牌)
  • FormTypes和表单处理
  • 验证
  • 与Doctrine整合
  • 枝条

特别是在Twig中这样的功能非常令人耳目一新(因为我的模型是作为Doctrine实体构建的):

<p>{{ employee.getCurrentTask().description }}</p>
Run Code Online (Sandbox Code Playgroud)

我现在面临的问题是我觉得Symfony2并不是真正构建单个网页应用程序.一旦我尝试添加一些Ajax功能,我就遇到了这些问题:

  • CSRF令牌无效
  • jQuery中有太多不可重用的视图/表示逻辑
  • 在html中添加数据属性以获取id等...

然后我研究了Knockout.js和Angularjs,但后来我觉得失去了Doctrine和Twig的所有优点.无论如何,我必须在客户端重建我的模型,然后必须将它们保存在两个不同的位置.

所以我提出了这个想法:

  • 使用Symfony2模型和控制器将数据保存到数据库,但让symfony中的控制器发送JSON并接收JSON(可能是FOSRestBundle?)
  • 使用像AngularJS或KnockoutJS这样的框架在客户端重建该JSON数据以使用双向绑定.

但是接下来我将如何处理像Doctrine2关系,表单验证,CSRF这样的问题,Symfony已经解决了但是如果我使用前端js框架则无法使用它?

欢迎所有建议!

architecture rest symfony angularjs knockout.js

18
推荐指数
1
解决办法
8083
查看次数

使用命令行删除MongoDB数据库中所有集合的所有索引

我已经使用mongorestore来恢复数据库,但是当我尝试运行我的应用程序时,我收到的错误是索引已经存在.

我知道函数db.collection.dropIndex()但是有没有办法自动执行此操作并立即从数据库中的所有集合中删除所有索引?

我试过了

db.getCollectionNames().forEach(function(col_name) {   
   var coll = db.getCollection(col_name);   
   coll.dropIndexes(); 
});
Run Code Online (Sandbox Code Playgroud)

但这并不能解决问题.有任何想法吗?

indexing mongodb mongorestore mongodump

14
推荐指数
1
解决办法
9070
查看次数

允许客户在 SAAS 应用程序中从他们自己的域发送

我目前正在运行一个 SAAS 应用程序,并且正在使用 Mailjet 从我们的应用程序发送邮件。

一些较大的客户一直要求允许从他们的域(例如 info@largehotel.com)而不是我们的系统(notifications@saasapp.com)发送电子邮件。

是否有任何我需要查看的初始指针?我猜他们也需要将我们的 SPF 记录添加到他们的 SPF 记录中,并且他们还需要添加我们为他们生成的 DKIM 密钥以添加到他们的记录中?然后在 DNS 级别对它们进行一些验证并将它们标记为已验证?

我有一些理解让客户针对我们的 SAAS 域运行他们自己的域,但在从他们的电子邮件域要求发送时有点迷失。

email dns saas spf

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

如果在键盘上按下姓名的第一个字母,则滚动到网页上的人名

我有一个包含大约 500 个名字的列表的页面。用户想s在他们的键盘上输入例如,然后页面将自动滚动到以 开头的名称s

我应该将这些名称的第一个字母转换为 an INT,将该 INT 作为数据属性并将 jQuery 函数添加到页面,还是有更好的解决方案?

php keyboard usability jquery keyboard-shortcuts

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

Symfony2 - 强制用户完成个人资料

我正在努力为这个问题找到一个可重用但不是硬编码的解决方案.

在我的注册页面上,我要求尽可能少的信息让用户注册.完成该步骤后,将创建一个用户.

在他们可以使用应用程序的其他部分之前,我希望他们完成他们的个人资料.(我知道这可能更好,使这个可选,但对于这个用例,它是强制性的).

我们在注册时已将标志profileComplete设置为false但我觉得在每个控制器中执行此标记检查是强制执行配置文件完成的一种不好的方法.

Symfony中是否有更多OO方式使用EventSubscriber或自定义角色(USER_PENDING)来解决此问题?如何为该角色设置额外的防火墙?

php access-control symfony fosuserbundle

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

直到我单击检查元素,图片才会在Chrome中显示

我在Chrome中使用OpenCart网站遇到了一个奇怪的错误。产品图像没有显示,但我看到它们应该出现的白色区域。

如果产品没有图像,则将其向左对齐,但是在这种情况下,我可以看到图片通常位于的白色区域。

这是疯狂的部分,如果我单击检查元素,图像会突然出现。

一些CSS代码

.product-list .image {
float: left;
margin-right: 10px;
overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)

html css google-chrome css3 opencart

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

MySQL表在一个字段中有多个值

我正在为一家房地产公司建立一个数据库..这些房地产物业由销售人员使用CodeIgniter网站管理.

我应该如何继续该表的数据库设计.地址/位置,价格等字段非常简单,但有些部分如Kitchen Appliences,Property Usage等...销售人员可以检查该字段的多个值.

此外,一个属性可以有多个人附加到它(从表人),这可以是intermediaire,所有者,卖方,财产律师等...我应该使用一个字段,或只是我创建一个额外的表和规范化绑定?

是继续使用一个字段并使用序列化数据的最佳方法还是有更好的方法吗?

mysql sql database database-design

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

具有Doctrine支持的ERD建模工具

我正在寻找一个可以用于ER建模的免费或付费软件应用程序.

由于我主要使用Symfony2/Doctrine开发应用程序,有没有人知道有Doctrine支持的软件?

database-design erd symfony doctrine-orm

0
推荐指数
1
解决办法
4295
查看次数