PHP Фреймворк для админки?

Доброго дня,



Уже как пол года бьюсь с поиском чего нибудь для легкой\быстрой разработки гибких решений. В идеале хотелось бы видеть PHP фреймворк (Symfony, Yii, CI и т.д.) с обвязкой в стиле друпаловского CCK. Другими словами чтоб можно было бы описать структуру данных а на выходе получить:

— Админку в готовом виде (Некий аналог Django)

— Набор классов для работы с данными



Пока все что видел — это или кривая админка, которая умеет работать только с плоскими данными и не поддерживает возможные отношения, деревья, даты



Недостаток друпала — его завязанность к фронтэнду
  • Вопрос задан
  • 9601 просмотр
Пригласить эксперта
Ответы на вопрос 8
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Из тех решений что я пробовал — CRUD генератор под YII. Описываем модели и генерим круд. Если вас оформление не устраивает или код — все правится в настройках шаблонов. По поводу «нету возможности работы с деревьями» и т.д. — тут уже надо самостоятельно делать. Под тот же YII есть как минимум nested sets бихейвер для моделей, пару тройку виджетов и вуаля. (правда имеющийся виджет для отрисовки деревьев мне не шибко нравится но это дело вкуса).

Со временем шаблоны кода полностью настраиваются под себя, оформление админки меняется (использовать стандартное оформление, предоставляемое с YII… как-то не хорошо… оно убогое), а все самые самые базовые функции вообще вынесены отдельно. Я допустим просто для себя сделал модуль admin который является костяком для всего, а дальше через Gii.
Ответ написан
Dennion
@Dennion
Разработчик PHPShop CMS.
Попробуй мой велосипед PHPShop Framework, все что ты описал в нем есть. На этом построена PHPShop.CMS Free, есть интегрированная среда разработки PHPShop IDE, в ней создавать интерфейсы очень легко и быстро без танцев с бубном.

Если будут вопросы, есть форум поддержки.
Поддерживает локализацию, скины и хуки.

Пример вывода списка новостей:

$TitlePage=__("Новости");

function actionStart() {
global $PHPShopInterface;
$PHPShopInterface->size="630,550";
$PHPShopInterface->link="news/adm_newsID.php";
$PHPShopInterface->setCaption(array("Дата","10%"),array("Заголовок","45%"),array("Краткая информация","45%"));

if(!empty($_GET['search']))
$where=array('title'=>" LIKE '%".$_GET['search']."%'",
'description'=>" LIKE '%".$_GET['search']."%'",
'content'=>" LIKE '%".$_GET['search']."%'",
'id'=>"='".$_GET['search']."'",
'date'=>"='".$_GET['search']."'"
);
else $where=false;

// SQL
$PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['table_name8']);
$PHPShopOrm->Option['where']=' or ';
$PHPShopOrm->debug=false;
$data = $PHPShopOrm->select(array('*'),$where,array('order'=>'id DESC'),array('limit'=>1000));
if(is_array($data))
foreach($data as $row) {
$PHPShopInterface->setRow($row[id],$row[date],$row[title],substr(strip_tags($row[description]),0,150)."...");
}

$PHPShopInterface->setAddItem('news/adm_news_new.php');
$PHPShopInterface->setSearch();

$PHPShopInterface->Compile();
}
Ответ написан
Kobs
@Kobs
Посмотри вот это:
http://stmframework.com/
Basic usage example:
<?php
$tbl = new edit_table('users');
$tbl->set_title('Users table')
->add_field(new edit_table_field('User name', 'username', '200'))
->add_field(new edit_table_field_password('Password', 'password', '200'))
// ...
->show();
?>

Админка делается очень быстро.
Ответ написан
@spbcypher
Я обычно для таких целей пользуюсь связкой Zend+Dojo.
Ответ написан
theRandom
@theRandom
Тоже долго искал похожее решение под database-oriented (CRM/ERP-подобные, но узкопрофильные) приложения. Остановился посредине между универсальными CRUD-генераторами и сырыми фреймворками. Выбрал связку FluorishLib+Moor. НедоMVC, подразумевает работу руками, зато реюзабельно, присутствует гибкость и нету привязки к внешнему виду.
Ответ написан
Stalker_RED
@Stalker_RED
В идеале хотелось бы видеть PHP фреймворк (Symfony, Yii, CI и т.д.)
это?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы