vivi/nakima-geo-bundle

此包的最新版本(0.0.1)没有提供许可证信息。

我的优秀项目必须有一个出色的描述

0.0.1 2017-03-30 11:27 UTC

This package is auto-updated.

Last update: 2024-09-14 10:28:30 UTC


README

首先,我们将使用此存储库来获取项目的基本代码。

  1. 克隆此存储库 git clone git@bitbucket.org:nkm_solutions/basephpproject.git my-proyect
  2. cd my-proyect
  3. rm -rf .git
  4. composer update
  5. 可选:运行 composer autoload dump
  6. 打开 composer.json 文件,需要进行以下更改
    • 将 'Base' 替换为你的项目的基础命名空间
    • "name": "vivi/nakima-___-bundle"

获取基本代码后,我们将将其添加到新存储库中。

  1. git init
  2. git remote add origin git@bitbucket.org:nkm_solutions/____________.git
  3. git add .
  4. git commit -m "Initial commit with BasePHPProject"
  5. git push -u origin master

然后,如果我们想将此存储库添加到 PACKAGIST,我们将执行以下步骤

  1. 导航到: https://packagist.org.cn/packages/submit
  2. 添加存储库的 HTTP URL(无 USERNAME)
  3. 自动更新:添加以下 webhook

最后,通过 composer 将存储库添加到 symfony。

  1. composer require vivi/nakima-___-bundle dev-master

这样我们就可以开始了 :)

如何从头开始创建 Symfony 3 的新 Bundle

假设新的 Bundle 名称是: NakimaAddressBundle

  1. 将 "src/Main.php" 文件重命名为 "src/NakimaAddressBundle.php"

     #!php
     <?php
     namespace Nakima\AddressBundle;
    
     use Symfony\Component\HttpKernel\Bundle\Bundle;
    
     class NakimaAddressBundle extends Bundle {}
    
  2. 创建一个名为 bundle 的目录,在该目录中我们将放置将安装到具体项目中的文件。

  3. 创建 "bundle/AddressBundle.php"

     #!php
     <?php
     namespace AddressBundle;
    
     use Symfony\Component\HttpKernel\Bundle\Bundle;
    
     class AddressBundle extends Bundle {}
    
  4. 创建配置文件

    • 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:   /
        
  5. 修改 "AppKernel.php"

     #!yaml
     ...
    
     // NAKIMA
     ...
     new Nakima\AddressBundle\NakimaAddressBundle(),
    
     ...
    
  6. 将创建的 Bundle 添加到当前项目。执行

     #!bash
     php bin/console nakima:bundle:install address
    
  7. 在执行 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" }
    
         ...
    
  8. 修改 "AppKernel.php"

     #!yaml
     ...
    
     // NAKIMA
     ...
    
     ...
     new AddressBundle\AddressBundle(),
    
     ...
    

新实体

  1. "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                                                      *
          **************************************************************************/
    
          ...
     }
    
  2. "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 {}
    
  3. "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
    
  4. 在 "bundle/Resources/config/admin.yml" 中追加

     #!yaml
     ...
    
     nakima_admin:
     blocks:
         address_entity:
             meta:
                 icon_color: 'green'
    
  5. 手动在主项目中添加所做的更改。

  6. 使用模式更新进行检查

     #!bash
     php bin/console doctrine:schema:update --force