mwsimple / admin-crud-silex
Admin Crud Silex
dev-master / 2.2.x-dev
2013-06-15 02:14 UTC
Requires
- doctrine/dbal: 2.2.*
- symfony/yaml: ~2.3
This package is auto-updated.
Last update: 2024-09-10 11:33:22 UTC
README
目前处于开发中。
安装
使用 composer
将以下行添加到您的 composer.json
文件中
Silex 2.2
"require": {
...
"mwsimple/admin-crud-silex": "2.2.*@dev"
}
执行
php composer.phar update "mwsimple/admin-crud-orm-silex"
依赖
使用 doctrine
用法
将其添加到 src/Controller/PostController.php
类中
<?php
namespace Controller;
use MWSimple\Silex\AdminCrudSilex\CrudController;
class PostController extends CrudController
{
}
将其添加到 src/app.php
类中
use Silex\Application;
...
use Silex\Provider\SessionServiceProvider;
use Silex\Provider\FormServiceProvider;
use Silex\Provider\TranslationServiceProvider;
use Controller\PostController;
...
$app->register(new SessionServiceProvider());
$app->register(new FormServiceProvider());
$app->register(new TranslationServiceProvider(), array(
'locale' => 'en',
'translation.class_path' => __DIR__ . '/../vendor/symfony/src',
'translator.messages' => array()
));
...
//CONTROLLER POST
$app['post.controller'] = $app->share(function() use ($app) {
$options = array(
'dirTemplate' => 'Post/',
'table' => 'post'
'route' => 'post'
);
return new PostController($app,$options);
});
将其添加到 src/controllers.php
类中
...
use Symfony\Component\HttpFoundation\Request;
Request::enableHttpMethodParameterOverride();
...
...
//CONTROLLER POST
$app->get('/post', "post.controller:indexAction")->bind('post');
$app->post('/post/', "post.controller:createAction")->bind('post_create');
$app->get('/post/new', "post.controller:newAction")->bind('post_new');
$app->get('/post/{id}', "post.controller:showAction")->bind('post_show');
$app->get('/post/{id}/edit', "post.controller:editAction")->bind('post_edit');
$app->post('/post/{id}', "post.controller:updateAction")->bind('post_update')
->method('PUT|POST')
;
$app->delete('/post/{id}', "post.controller:deleteAction")->bind('post_delete')
->method('DELETE')
;
将其添加到 src/Controller/ConfigController.php
类中
<?php
namespace Controller;
abstract class ConfigController
{
static function createForm($table, $app, $entity)
{
switch ($table) {
//post
case 'post':
$form = $app['form.factory']->createBuilder('form', $entity)
->add('title')
->getForm()
;
break;
default:
$form = null;
break;
}
return $form;
}
static function createList($table)
{
switch ($table) {
//post
case 'post':
$list = array('id','title');
break;
default:
$list = array('id');
break;
}
return $list;
}
static function createShow($table)
{
switch ($table) {
//post
case 'post':
$show = array('id','title','description', 'content');
break;
default:
$show = array('id');
break;
}
return $show;
}
}
将文件夹 AdminCrudSilex/Resources/public/admin-crud-silex/*
的内容复制到 web/admin-crud-silex/
将文件夹 AdminCrudSilex/Resources/crudViews/*
的内容复制到 templates/crudViews/
作者
Gonzalo Alonso - gonkpo@gmail.com