vivi / nakima-geo-bundle
此包的最新版本(0.0.1)没有提供许可证信息。
我的优秀项目必须有一个出色的描述
0.0.1
2017-03-30 11:27 UTC
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2024-09-14 10:28:30 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\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: 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