timonf/twigony-framework-bundle
Composer 安装命令:
composer require timonf/twigony-framework-bundle
包简介
Twigony FrameworkBundle
README 文档
README
Twigony is inspired by Symfony's TemplateController.
Twigony provides default controller actions for common use cases. You are able to configure Twigony through your
routing.yml file (like Symfony's TemplateController).
Goals of Twigony:
- Easy to use (no own controllers are needed, an Entity and a template is all you need)
- Usable for fast prototyping
- Usable for simple pages
- Much more frontend code (Twig) and less backend code (PHP/Symfony)
- Covers common use cases (database listing, email…)
Information: This project is in development. If you want to support me or this project contact me on Slack (My name: @timon). If you don't have access to Slack, have a look here.
Installation
Create an empty project and use composer to install this bundle:
$ symfony new your-new-project $ composer require timonf/twigony-framework-bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php file of your project:
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new \Twigony\Bundle\FrameworkBundle\TwigonyFrameworkBundle(), ); } }
Documentation
- TemplateController for static pages (
_controller: twigony.template_controller:templateAction) - SecurityController for login page (
_controller: twigony.security_controller:loginAction) - SwiftMailerController for email forms (
_controller: twigony.mailer_controller:emailAction) - DoctrineORMController for database operations (
_controller: twigony.template_controller:*)
Example usages
Multiple static pages (TemplateController)
-
Create two or more Twig templates (like
app/views/info/hello.html.twigandapp/views/info/about.html.twig) -
Extend your
routing.yml:info_pages: path: '/info/{page}' defaults: _controller: 'twigony.template_controller:templateAction' template: 'info/{page}.html.twig'
List entities (DoctrineORMController)
-
Create an entity or use an existing one (e .g.
src/AppBundle/Entity/Post.php) -
Create a template (like
app/views/posts/all.html.twig) -
Extend your
routing.yml:posts: path: '/posts' defaults: _controller: 'twigony.orm_controller:listAction' template: 'posts/all.html.twig' entity: 'AppBundle\Entity\Post' options: as: 'posts' # Access variable for your Twig template. You can use it this way `{% for post in posts %}…` perPage: 50
Show single entity (DoctrineORMController)
-
Create an entity or use an existing one (e .g.
src/AppBundle/Entity/Post.php) -
Create a template (like
app/views/posts/show.html.twig) -
Extend your
routing.yml:show_post: path: '/posts/{id}' # Make sure, you are using "id" as id parameter! defaults: _controller: 'twigony.orm_controller:viewAction' template: 'posts/show.html.twig' entity: 'AppBundle\Entity\Post' options: as: 'post' # Access variable for your Twig template. You can use it this way `{{ post.title }}…`
统计信息
- 总下载量: 22
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-04-11