Por que a pasta `code` está ausente na pasta` app` na versão estável do magento 2?

17

Tenho baixado Magento 2 estável de https://www.magentocommerce.com/download com dados de amostra e instalado.

Está funcionando bem em ambas as áreas, como front-end e back-end.

Mas não consegui encontrar a app/codepasta.

Pastas de módulo semelhantes são encontradas em vendor\magento.

  • A estrutura de pastas mudou no Magento 2 novamente?
  • Onde podemos colocar a pasta do módulo personalizado?
Praful Rajput
fonte
Lembre-se disso, mesmo que o Magento 2 tenha sido lançado como "estável", é basicamente código alfa e pode mudar mais uma vez. Vários escritores de módulos da linha principal dos adotantes iniciais comentaram a necessidade de mudar de cavalo no meio do caminho a cada três semanas. Você tem mais duas alterações de subversão antes de poder depender disso.
Fiasco Labs
1
Dado algum feedback, e com base em algum trabalho realizado por nós e pela comunidade, agora transferimos o código principal do Magento para o fornecedor (onde - muitos argumentam - ele pertence).
benmarks

Respostas:

18

app/codeestá ausente porque todos os módulos Magento são colocados no vendordiretório para conveniência de desenvolvedores de terceiros, portanto, eles não precisam misturar seu próprio código com o núcleo. Agora é fácil desenvolver módulos personalizados sem comprometer todo o núcleo do Magento no seu repositório GIT (ao contrário do Magento 1).

Alex Paliarush
fonte
7

Você não deve colocar a pasta do módulo personalizado em nenhum lugar sozinho: o Composer faz isso por você e, por padrão, coloca os pacotes (e os módulos Magento entre eles) na vendorpasta.

Mage2.PRO
fonte
# Mage2.PRO, então eu coloco meu módulo personalizado na pasta app / code ou na pasta vendor?
Shaheer Ali
Você deve colocar seu módulo em um repositório do compositor. O Composer fará o download e instalará seu módulo em uma pasta adequada. Aqui está um exemplo do meu repositório de compositor personalizado: mage2.pro/packages.json
Mage2.PRO
se eu desenvolvi um módulo localmente para o m2, agora como instalá-lo no m2 estável?
Shaheer Ali
Coloque seu módulo em um repositório de compositores: getcomposer.org/doc/05-repositories.md
Mage2.PRO
4
@ Mage2.PRO: qual deve ser o processo passo a passo exato para executar nosso módulo desenvolvido no Magento2 Beta?
Chiragit007
1

Na verdade, a única coisa que você precisa em uma instalação do Magento 2 é um composer.jsonarquivo que requer o pacote magento/product-community-editiondo repositório do Composer https://repo.magento.com/ .

Agora, quando você executa, composer installele faz o download de muitos pacotes Magento e de terceiros (Composer, Symfony, Zend, etc ...) e os coloca na vendor/pasta. Graças ao instalador do Magento Composer, ele também copia muitos arquivos do Magento 2 para a raiz. Mas, na verdade, todo o seu código vem vendor/.

Agora, a app/codepasta não está lá por padrão. Você pode criar você mesmo e adicionar seu módulos locais nessa estrutura:app/code/<VendorName>/<ModuleName> .

Você também pode desenvolver seus módulos em um repositório separado do VCS (ou seja, GIT) em algum lugar e adicioná-los ao seu, o composer.jsonque fará com que eles também sejam instalados no vendor/diretório.

7ochem
fonte
0
  • pasta de mídia e erros são movidos para a pasta pub
  • skin e pasta js são movidos para a pub/staticpasta.

Agora é fácil manter o conteúdo estático via CDN.

  • js, css, as imagens são novamente divididas em pub/static/adminhtmle pub/static/frontendpara a área de back-end e front-end, respectivamente.

  • A pasta dev contém várias ferramentas para desenvolvedores, como ferramentas e testes de migração. shell é movido para a pasta dev

  • downloader, includes e pkginfofolder não existem mais no magento 2.

  • diretório de instalação é para processo de instalação

  • get.php, cron.php e index.php arquivos são movidos para a pasta pub.

  • As configurações de conexão com o banco de dados, o nome do back-end, as configurações para salvar a sessão e as configurações de cache são declaradas em app/etc/env.php

  • Os temas são agrupados por 'fornecedor', conhecido como 'pacote' no magento 1.x. A estrutura do tema no Magento 2 é como app/design/frontend/vendor_name/theme_name.

Charvi Parikh
fonte