小编otp*_*ran的帖子

Doctrine - OneToOne单向与OneToOne双向

我开始玩Doctrine ORM库,我正在学习表之间的所有关联.

所以我坚持单向和双向关系的差异.

我得到它,单向关系只在一侧有主键,而那边是拥有右侧的?并且双向关系在两个表中都有主键,因此您可以从两侧获得关系,并在两侧设置约束.

现在,我正在阅读关于关系的Doctrine文档,你有: 单向双向关联.

但它们生成相同的SQL,并且相同的表具有相同的主键和约束.所以我真的看不出这两者有什么不同.这两个例子都有主键.

当我得到真正的双向关系时,两个表中的主键应该指向另一个表吗?并且在Doctrine文档的给定示例中并非如此.两个例子都给出了相同的结果并且是相同的.

所以我做了,就是这样,假设我有用户和卡实体,并希望关系是OneToOne双向.

    /**
 * @Entity
 * @Table(name="users")
 */

class User
{
    /**
     * @Id
     * @GeneratedValue
     * @Column(type="bigint")
     */
    protected $id;

    /**
     * @OneToOne(targetEntity="Card", mappedBy="User")
     * @JoinColumn(name="card_id", referencedColumnName="id")
     */
    protected $card;

    /**
     * @Column(name="user_name", type="string")
     */
    protected $userName;

    /**
     * @Column(name="user_pass", type="string")
     */
    protected $userPass;
}

    /**
 * @Entity
 * @Table(name="cards")
 */

class Card
{
    /**
     * @Id
     * @GeneratedValue
     * @Column(type="bigint")
     */
    protected $id;

    /**
     * @OneToOne(targetEntity="User", inversedBy="Card")
     * …
Run Code Online (Sandbox Code Playgroud)

php orm doctrine relational-database doctrine-orm

16
推荐指数
2
解决办法
9538
查看次数

Symfony2中的模型和其他MVC框架?

我试图了解模型如何在适当的MVC中工作.

据我所知,MVC中的模型是应用程序逻辑发生的地方,模型是肉食,或MVC的骨干.视图只是表示,控制器是"粘合剂",它要求模型执行某些操作,返回一些数据,并将该信息传递给呈现给用户的视图.

现在,我正在探索各种不同的MVC框架,并想了解如何在MVC中使用模型.就模型而言,Symfony 2是一个有趣的框架,因为没有模型:)

我在掌握Symfony2的一些功能时遇到了问题,而Model在Symfony2 MVC中的适用范围.

根据定义,模型是域逻辑和数据库操作的所在.

所以我的问题是:

  1. 在Symfony2中我们有实体和服务,是Symfony中的那两个模型吗?
  2. Symfony2服务和Web服务有什么区别?

所以我的问题是Symfony2中的模型在哪里?由于Model是一个由Domain Objects和Data Mappers组成的层,我可以假设Entities是Domain Objects,而Doctrine是Data Mapper,这是正确的吗?

Symfony2服务在哪里适用?

php oop model-view-controller model symfony

11
推荐指数
3
解决办法
7206
查看次数

GitHub - README.md Windows编辑器?

我在GitHub上有很多lib,并希望为所有这些编写README.md.我这样做是通过在我的本地仓库上写入README.md,然后将其推送到github,在那里我可以看到变化.

有没有其他方法这样做?是否有一些Windows编辑器,所以我可以编写README.md和本地PC上的所有标签,看看谁将README.md输出看起来像?

谢谢!

github github-for-windows

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

PHP APC Cache,开箱即用吗?

所以这是困扰我的.我刚刚安装了APC缓存而我正在测试它.当使用APC Admin界面时,在apc.php文件中,我可以看到有关APC等的所有信息.当我进入系统缓存条目时,我可以看到我调用的每个脚本都写在那里.

那么这是否意味着APC Cache开箱即用?我可以安装APC缓存,它已经通过缓存脚本加速了我的应用程序?如果我想,我可以缓存变量,使其更快?

希望你能得到这个问题,对于有更多APC经验的人来说,这可能很简单.

它我知道我可以添加一些变量缓存,然后把它们拿出来,这将加快我的应用程序.但这是真的,APC会加速应用程序并缓存脚本全部由他自己?是否有任何好的文档可以让我了解更多有关APC的信息?

php caching apc

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

任何人都可以使用PHP解密此字符串吗?

今天我遇到了一个招聘广告,你应该使用PHP解密一个包含有效电子邮件地址的字符串.所以他们发布了这个代表加密电子邮件地址的字符串,当您解密该电子邮件地址时,您可以向他们发送电子邮件并表明您是高级PHP开发人员.他们为Junior开发者发布了另一个电子邮件地址.

现在这对我来说似乎很复杂,所以我不会发送电子邮件,因为我已经找到了工作,但我想知道这是否可能,因为如果使用mcrypt函数你就不能拥有密钥.

无论如何,这是字符串:MDA3MTY4MDAwODg4MDE0NzIwMDAwMzg4MDAwNDQ0MDAwNTEyMDAwMzg4MDI1NjAwMDA3NDg4MDA3Mjk2MDAzNTUyMDAyOTQ0MDAwODMyMDAzNjQ4IzYzNzIyMzI4NjY1NjM1

公司名称是Aduro,他们的电子邮件是xxx@aduro.hr,所以我们正在寻找以@ aduro.hr结尾的电子邮件

该字符串代表有效的电子邮件地址,是否有人能够解密这个?

php encryption

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

如何以任何顺序使用PHP函数或方法参数?

让我们说我用这样的方法定义类:

class Test {
    public function doStuff($a, $b, $c) {
    // -- Do stuff --
    }
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用此方法,但参数的顺序不同,如下所示:

$test = new Test();
$test->doStuff($b, $c, $a);
Run Code Online (Sandbox Code Playgroud)

它们的名称相同,但顺序不同.

我看到Symfony2可以使用其调度程序执行此操作,您可以按任何顺序使用参数.链接:Symfony2控制器可以做到这一点

问题是,如何使这项工作?Symfony2如何调用适当的动作控制器,然后可以按照您喜欢的任何顺序接受参数?

编辑:我不能使用数组,我知道php不使用命名参数.但不知何故,Symfony2设法做到了.

php symfony method-parameters

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

Symfony 2和Twig缓存 - 它们是一样的吗?

我的问题是Symfony 2缓存机制和Twig缓存机制是一样的吗?

假设我决定在我的MVC框架中使用Twig,我是否会使用Symfony 2使用的相同缓存机制?我知道Symfony2和Twig都是由Fabien创建的.但我不知道Symfony 2只使用Twig缓存还是还有更多东西?

所以我希望你能理解这个问题.Symfony 2是否使用Twig进行缓存?如果没有,Symfony 2和Twig缓存之间有什么区别?

php caching symfony twig

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

MVC框架中的缓存策略?

我编写了自己的小PHP MVC框架,现在我在PHP MVC框架中探索缓存策略.我在想什么可以缓存,在哪里以及如何.

我拥有的框架是简单的MVC框架.我有前置控制器,启动应用程序,注册类自动加载,设置php运行时指令......最后分析URL并将请求分派给适当的控制器,方法,动作控制器,如何调用它.从控制器,我可以访问域对象和数据映射器,它们可以将域对象持久保存到某个存储,大部分时间是关系数据库.从控制器我可以访问域对象和数据映射器.

因此,就缓存而言,这些是我所知道的事情,我知道我现在可以做的事情.使用PHP,我可以使用作为操作码缓存的APC缓存,但我也可以使用它将变量保存到RAM中.然后我可以使用Memcache和Memcahed作为APC缓存工作,但我可以从不同的服务器访问存储的缓存如果我必须扩展.而这两个不是操作码缓存.

据我所知,我可以做这些事情:

  1. 当在控制器中时,我可以将域对象保存到缓存中,因此如果我已经在缓存中已经拥有该域对象,那么每次都不必打开与数据库的连接.

  2. 我可以构建我的缓存系统,它会在引导程序中分析URL,然后在存在具有该页面URL的缓存时获取该URL的已解释页面,如果不存在则处理请求然后将该页面保存到缓存中并将其与当前URL关联

所以,正如你所看到的,我真的不知道如何在我的MVC中实现缓存,我应该在哪里缓存内容,如何以及存在哪些可能性.

那么有人可以更好地解释这一点,或者将我重定向到一些我可以学习缓存的好文章吗?

谢谢!

php model-view-controller memcached caching apc

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

PHP构造函数参数?

我正在构建一个需要两个参数的类,它们可以通过__constructor,或者可以使用setter方法设置它们.

检查参数是否通过构造函数传递的最佳方法是什么?

我是这样做的:

class Services {

    public function __construct(array $configs, array $services)
    {
        if(isset($configs) AND isset($services)) {
            $this->configs = $configs;
            $this->services = $services;
        }
    }

    public function setConfigs(array $configs)
    {
        $this->config = $configs;
    }

    public function setServices(array $services)
    {
        $this->services = $services;
    }
}   
Run Code Online (Sandbox Code Playgroud)

现在这个工作正常,但如果这是正确的方法,我不是100%.困扰我的是,如果参数是通过构造函数传递的,我希望它们都存在,而不仅仅是一个.

我如何阻止用户在构造函数中只放置一个参数?

php

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