当前位置: 首页 > 面试题库 >

Symfony2-创建自己的供应商捆绑包-项目和git策略

许丁雷
2023-03-14
问题内容

我们正在考虑common为实体映射和服务创建自己的捆绑软件,以便在几个单独的应用程序中使用。捆绑软件应该易于修改,运行,包含和测试。我了解有关构建捆绑包的最佳实践的信息,但是我不知道git在开发时使用哪种策略。

我们应该将commonbundle作为一个整体项目创建,然后将整个存储库提交到我们的git服务器,还是最好仅针对commonbundle的根目录启动源代码控制并仅推送其内容?我在上看到了捆绑销售中的这种方法github,但是我不知道以这种方式开发捆绑销售的简便方法。


问题答案:
php composer.phar create-project symfony/framework-standard-edition demo/ 2.4.1
cd demo

产生一个新的捆绑包

(例如src/Company/DemoBundle

php app/console generate:bundle
cd src/Company/DemoBundle/

在以下位置初始化您的github存储库 src/Company/DemoBundle

git init
touch README.md
git add .
git commit -m "initial commit"
git remote add origin https://github.com/YourAccount/DemoBundle.git
git push -u origin master

添加一个composer.json文件

src/Company/DemoBundle/composer.json

{
    "name" : "company/demobundle",
    "description" : "A demo bundle",
    "type" : "symfony-bundle",
    "authors" : [{
        "name" : "demo",
        "email" : "demo@company.com"
    }],
    "keywords" : [
        "demo bundle"
    ],
    "license" : [
        "MIT"
    ],
    "require" : {
    },
    "autoload" : {
        "psr-0" : {
            "Company\\DemoBundle" : ""
        }
    },
    "target-dir" : "Company/DemoBundle",
    "repositories" : [{
    }],
    "extra" : {
    "branch-alias" : {
            "dev-master" : "some_version-dev"
        }
    }
}

现在您有了捆绑包的基本结构

在另一个项目中使用

composer.json:

    [...]
    "require" : {
        [...]
        "company/demobundle" : "dev-master"
    },
    "repositories" : [{
        "type" : "vcs",
        "url" : "https://github.com/Company/DemoBundle.git"
    }],
    [...]

做:

curl -sS https://getcomposer.org/installer | php
php composer.phar update company/demobundle

app / AppKernel:

new Company\DemoBundle\CompanyDemoBundle(),

在…上下功夫

  • 您可以在src/Company文件夹中克隆DemoBundle ,然后手动安装
  • 您可以使用符号链接

结论

您可以在第一个项目中开发和测试捆绑软件,并在第二个项目中将其与github和composer结合使用。



 类似资料:
  • 我们正在考虑为实体映射和服务创建自己的包,以便在几个单独的应用程序中使用。包应该易于修改、运行、包含和测试。我知道构造包的最佳实践,但我不知道在开发时使用什么策略。 我们应该将bundle创建为一个完整的项目并将整个存储库提交到我们的git服务器,还是只对bundle的root启动源代码管理并只推送其内容更好?我在上的bundle中看到了这种方法,但我不知道以这种方式开发bundle的简单而舒适的

  • 问题内容: 编辑:Symfony最佳做法回答了我的大部分问题。 关于我的Symfony2应用程序,我有几个问题。 它将有一个前端和一个后端,并且它们将使用一些通用代码(例如日期显示器,分页器,一些经常使用的模板等)。 因此,我创建了一个FrontendBundle和一个BackendBundle,它们分别包含各自的布局。第一个问题:为前端和后端创建捆绑包(这是甚至没有控制器的“通用”捆绑包)的优良

  • 我制作了一个简单的API包,它将在项目之间共享。每个对象/实体都有自己的配置,说明哪些字段以及如何序列化(分解为标量值)。它们将如何序列化取决于所选的规范化程序。现在只有一个默认的规范化器可以将值识别为标量、iterable或object。到目前为止效果很好。当您需要一些特定的序列化(比如DateTime)时(您不希望将对象分解为隐式标量值,而是设置输出格式),您只需要创建一个新的规范化器来相应地

  • 我知道这个答案:Pax考试:提供具有所有依赖项的捆绑包,但当我必须包含作为我项目外部捆绑包一部分的捆绑包时,感觉我做错了什么。 这是我得到的错误: 下面是我的pax考试的配置代码: 所以我的问题是:为什么我会遇到关于未解决约束的错误,我是否必须包括外部捆绑包,以及我需要做什么才能让我的测试运行?

  • 当我在android Studio中创建一个新项目时,捆绑文件显示错误 找不到此代码包,显示错误为-无法解析符号“Bundle”,且“@Override”不适用于方法。。我的android工作室缺少什么我不知道有什么建议。。什么是错误。。

  • 我正在开发一个NPM包,它使用rollup绑定并发布到NPM。我想了解一个依赖项是否应该通过汇总绑定,最佳实践是什么。以下是我的逐步分析: > “src”中使用的每个依赖项都应该添加到“deps”或“peerDeps”中 如果您选择只将其放在“peerDeps”中,而不是“deps”,考虑到本地构建目的,最好添加到“devDeps”。否则,您可能必须使用第三方工具在“peerDeps”中安装依赖项