【问题标题】:Some difficulties to understand a namesapace and his use理解命名空间及其使用的一些困难
【发布时间】:2015-11-09 07:21:04
【问题描述】:

我很难理解这个命名空间的用途:

namespace Utilisateurs\UtilisateursBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;

我找到了一个名为 FOS 的命名空间(在 /Applications/MAMP/htdocs/ecommerce/vendor/friendsofsymfony/user-bundle 中):

namespace FOS\UserBundle;

但我不明白\Entity\User。

这是我的实体的代码:

<?php
// src/Acme/UserBundle/Entity/User.php

namespace Utilisateurs\UtilisateursBundle\Entity;

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

/**
 * @ORM\Entity
 * @ORM\Table(name="Utilisateurs")
 */
class Utilisateurs extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}

当我了解这个命名空间后,我将能够解决这个问题:

致命错误:在第 14 行的 /Applications/MAMP/htdocs/ecommerce/src/Utilisateurs/UtilisateursBundle/Entity/Utilisateurs.php 中找不到类 'FOS\UserBundle\Entity\User' [2015-08-16 17:19:57] php.CRITICAL:致命错误:找不到类 'FOS\UserBundle\Entity\User' {"type":1,"file":"/Applications/MAMP/htdocs/ ecommerce/src/Utilisateurs/UtilisateursBundle/Entity/Utilisateurs.php","line":14,"level":-1,"stack":[]}

致命错误:在中找不到类 'FOS\UserBundle\Propel\om\BaseUser' /Applications/MAMP/htdocs/ecommerce/vendor/friendsofsymfony/user-bundle/Propel/User.php 第 18 行

【问题讨论】:

  • use FOS\UserBundle\Model\User as BaseUser;
  • 它工作正常,谢谢,但我不明白为什么......
  • 因为类User 存在于文件夹/vendor/friendsofsymfony/user-bundle/Model 中的文件User.php 中。命名空间FOS\UserBundle 指向文件夹/vendor/friendsofsymfony/user-bundle/

标签: symfony namespaces bundles


【解决方案1】:

我建议你观看PHP namespaces in 120 seconds 截屏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多