我们知道一个软件的使用,是离不开各种组件支持的。就像一个框架中,也会存在组件发挥相关的作用。symfony有两个比较重要的组成:Bundles和控制器,分别在框架中有着不同的使用。下面我们就这两种组件带来详细的讲解及使用,想要学习symfony的一起来看看具体的内部组件吧。
1.Bundles
bundle类似于其他软件中的插件,但却更好。
关键区别在于:Symfony中的每一样东西都是bundle,包括框架核心功能,以及编写的程序代码。
一个bundle可以理解成一个插件,但比插件好用。我们写的内容就可以拆分成一个个的bundle(捆)
symfony会自动生成一个APPBundle,里面包含控制器Controller 测试文件Tests ,AppBundle.php起到标识作用,表明这是个bundle。
继承Bundle。Symfony\Component\HttpKernel\Bundle\Bundle
创建新的Bundle的时候,程序注册的时候会实例化Bundle类。各个Bundle可以实现不同的功能。
要在你的程序中使用bundle,必须通过 AppKernel 类的 registerBundles() 方法来注册并使用它们
比如写一个博客,可以建立一个BlogBundle,包含自己的控制器、视图、类库文件等的功能集合...而且可以被其他Bundle调用。
2.控制器/动作
所有控制器继承Symfony\Bundle\FrameworkBundle\Controller\Controller这个类
对于类里的每个方法接收一个request请求,然后返回一个response对象。
当浏览器访问服务器会产生一个Request类的实例,而我们的一次响应就可以看做成一个Response类的实例。
控制器在src/AppBundle/Controller下,可以看src/AppBundle/Controller/BlogController.php:
以上就是php symfony中的组件介绍,相信大家对于symfony的内部组成又有了新的认知。学会后也就可以就相关的symfony结构进行了解。更多php学习指路:php框架