vivi / nakima-geo-bundle
my awesome project must have an awesome description
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2024-11-14 10:48:23 UTC
README
Primero de todo, usaremos este repositorio para obtener el codigo base del proyecto.
- Clonas este repositorio
git clone git@bitbucket.org:nkm_solutions/basephpproject.git my-proyect
cd my-proyect
rm -rf .git
composer update
- Opcionalmente
composer autoload dump
- Abres el archivo composer.json y se deben cambiar:
- 'Base' por el namespace base de tu proyecto
- "name": "vivi/nakima-___-bundle"
Una vez tenemos el codigo base, procedemos a añadirlo en el nuevo repositorio.
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
Luego, si queremos añadir éste repositorio en PACKAGIST, haremos los siguientes pasos:
- Navegamos a: https://packagist.org/packages/submit
- Añadimos la URL HTTP del repositorio sin el USERNAME
- Auto-update: Añadimos el siguiente webhook
- Title: Packagist
- URL: https://packagist.org/api/bitbucket?username=vivi&apiToken=WqjW4CatDvFTevRZsgFh
Por último, añadimos el repositoria a symfony via composer.
- composer require vivi/nakima-___-bundle dev-master
Y con esto ya estamos listos :)
Como crear un nuevo Bundle de Symfony 3 from Scrach
Su poninedo que el nuevo Bundle se llama: NakimaAddressBundle
Renombrar el archivo "src/Main.php" a "src/NakimaAddressBundle.php"
#!php <?php namespace Nakima\AddressBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class NakimaAddressBundle extends Bundle {}
Creamos la carpeta bundle, dentro de la cual pondremos los fixeros que se instalaran en un proyecto concretro.
Create "bundle/AddressBundle.php"
#!php <?php namespace AddressBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class AddressBundle extends Bundle {}
create config files
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: /
Modificar "AppKernel.php"
#!yaml ... // NAKIMA ... new Nakima\AddressBundle\NakimaAddressBundle(), ...
Añadir en el actual proyecto el Bundle creado. Ejecutar:
#!bash php bin/console nakima:bundle:install address
En el proyecto donde hacemos el requide, modificar el archivo: "app/config/config.yml". Y añadir:
#!yaml imports: ... # Import bundles config ... - { resource: "@AddressBundle/Resources/config/config.yml" } # Import admin settings ... - { resource: "@AddressBundle/Resources/config/admin.yml" } ...
Modificar "AppKernel.php"
#!yaml ... // NAKIMA ... ... new AddressBundle\AddressBundle(), ...
Nueva Entity
"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
Append on "bundle/Resources/config/admin.yml"
#!yaml ... nakima_admin: blocks: address_entity: meta: icon_color: 'green'
Añadir a mano los cambios realizados dentro el proyecto principal.
Check usant schema update
#!bash php bin/console doctrine:schema:update --force