定制 wouterj/bundleless 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

wouterj/bundleless

Composer 安装命令:

composer require wouterj/bundleless

包简介

Removing the bundle from AppBundle in Symfony

README 文档

README

This is a very simple proof of concept. This package basically provides a bundle class which can be used to create "virtual" bundles. Virtual bundles only exists for the Symfony kernel, but for you it's just a package which uses bundle conventions (like automatic mapping for Entity/).

This can be used to remove the "bundle" from AppBundle. Let me tell you how to get this working for your application.

Install

This is pretty simple (if you're using Composer):

$ composer require wouterj/bundleless:1.*@dev

Edit

Use the new WouterJ\Bundleless\AppFocusedKernel as parent of your AppBundle:

// app/AppKernel.php

use WouterJ\Bundleless\AppFocusedKernel;

// ...
class AppKernel extends AppFocusedKernel
{
}

Then, remove that ugly AppBundle register line from your AppKernel. Bundeless will take care of it now.

// app/AppKernel.php

// ...
public function registerBundles()
{
    $bundles = array(
        // ...
        // comment or remove
        // new AppBundle\AppBundle();
}

Use

You're already ready! You should move your application code outside of the AppBundle by removing the namespace and putting it in src/ directly. For instance:

// src/Controller/StaticController.php
namespace App\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class StaticController extends Controller
{
    /**
     * @Route("/")
     */
    public function homepageAction()
    {
        return $this->render('static/homepage.html.twig');
    }
}
# app/config/routing.yml
app:
    resource: "@App/Controller"
    type: annotation

That's it. Apart from the template file, you now have a working homepage!

Customize

The AppBundle is created using the Kernel#getAppBundle() method. Override this method in your AppKernel to customize it.

License

This project is released under the MIT license, it's just 2 files anyway.

统计信息

  • 总下载量: 80
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-03-09