vivi / nakima-address-bundle
该包最新版本(0.0.1)没有提供许可信息。
我的超级项目必须有超级描述
0.0.1
2017-03-30 11:15 UTC
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2024-09-14 10:22:26 UTC
README
首先,我们将使用此存储库来获取项目的基础代码。
- 克隆此存储库
git clone git@bitbucket.org:nkm_solutions/basephpproject.git my-proyect
cd my-proyect
rm -rf .git
composer update
- 可选:
composer autoload dump
- 打开composer.json文件,需要进行以下更改
- 'Base' 改为你的项目的基命名空间
- "name": "vivi/nakima-___-bundle"
一旦我们有了基础代码,我们就在新存储库中添加它。
git init
git remote add origin git@bitbucket.org:nkm_solutions/____________.git
git add .
git commit -m "Initial commit with BasePHPProject"
git push -u origin master
然后,如果我们想在 PACKAGIST 中添加此存储库,我们将执行以下步骤
- 导航到:https://packagist.org.cn/packages/submit
- 添加存储库的HTTP URL(不包含USERNAME)
- 自动更新:添加以下webhook
最后,通过composer将存储库添加到symfony。
- composer require vivi/nakima-___-bundle dev-master
到此为止,我们就准备好了 :)
如何从头创建一个新的Symfony 3 Bundle
假设新Bundle的名称为:NakimaAddressBundle
将文件 "src/Main.php" 重命名为 "src/NakimaAddressBundle.php"
#!php <?php namespace Nakima\AddressBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class NakimaAddressBundle extends Bundle {}
创建一个名为bundle的文件夹,我们将在此文件夹中放置将安装到具体项目中的文件。
创建 "bundle/AddressBundle.php"
#!php <?php namespace AddressBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AddressBundle extends Bundle {}
创建配置文件
src
- src/Resources/config/admin.yml
- src/Resources/config/config.yml
- src/Resources/config/routing.yml
bundle
bundle/Resources/config/admin.yml
#!yaml imports: - { resource: "@NakimaAddressBundle/Resources/config/admin.yml" }
bundle/Resources/config/config.yml
#!yaml imports: - { resource: "@NakimaAddressBundle/Resources/config/config.yml" }
bundle/Resources/config/routing.yml
#!yaml nakima_address: resource: "@NakimaAddressBundle/Resources/config/routing.yml" prefix: /
修改 "AppKernel.php"
#!yaml ... // NAKIMA ... new Nakima\AddressBundle\NakimaAddressBundle(), ...
在当前项目中添加创建的Bundle。执行
#!bash php bin/console nakima:bundle:install address
在执行require的项目中,修改文件:"app/config/config.yml"。添加以下内容
#!yaml imports: ... # Import bundles config ... - { resource: "@AddressBundle/Resources/config/config.yml" } # Import admin settings ... - { resource: "@AddressBundle/Resources/config/admin.yml" } ...
修改 "AppKernel.php"
#!yaml ... // NAKIMA ... ... new AddressBundle\AddressBundle(), ...
新实体
"src/Entity/Adress.php"
#!php <?php namespace Nakima\AddressBundle\Entity; use Doctrine\ORM\Mapping\Entity; ... use Nakima\CoreBundle\Entity\BaseEntity; /** * @MappedSuperclass */ class Address extends BaseEntity { ... /************************************************************************** * Custom Functions * **************************************************************************/ public function __toString() { return $this->_______; } /************************************************************************** * Getters & Setters * **************************************************************************/ ... }
"bundle/Entity/Adress.php"
#!php <?php namespace AddressBundle\Entity; use Doctrine\ORM\Mapping\Entity; use Doctrine\ORM\Mapping\Table; use Nakima\AddressBundle\Entity\Address AS BaseAddress; /** * @Entity * @Table(name="_address") */ class Address extends BaseAddress {}
"src/Resources/config/admin.yml"
#!yaml nakima_admin: blocks: address_entity: class: Nakima\AdminBundle\Block\EntityBlock meta: type: entity label: Addresses entity: AddressBundle\Entity\Address icon: 'circle-o' icon_color: 'x' # optionals admin: Nakima\AdminBundle\Admin\BaseAdmin controller: NakimaAdminBundle:BaseAdmin
在 "bundle/Resources/config/admin.yml" 中追加
#!yaml ... nakima_admin: blocks: address_entity: meta: icon_color: 'green'
手动在主项目中添加所做的更改。
使用模式更新进行检查
#!bash php bin/console doctrine:schema:update --force