CMS в 40 строк кода! (PHP и RedBean ORM)
Автор: Nayjest Категория: php
Это пример того, какой мощной может быть RedBean PHP ORM.
Ниже вы можете ознакомиться с исходным кодом системы управления контентом(CMS) для веб-сайтов размером всего в 40 строк кода. Чтобы запустить эту CMS, вам нужно только настроить соединение с БД!
После того, как вы впишите свои данные для подключения к базе данных, это будет работать прямо «из коробки».
Никаких настроек больше не нужно, никакого начального содержания в БД, никакого XML mapping’а, никаких шаблонов, ничего! Все что вам нужно — только файл с этим кодом на PHP и библиотека для работы с БД: RedBean ORM.
<html><head><title>Пример очень маленькой CMS на PHP</title></head><body color='black'> <h1>CMS Example</h1> <?php $self = $_SERVER["PHP_SELF"]."?"; require("../redbean/allinone.php"); RedBean_Setup::kickstartDev("Page","mysql:host=localhost;dbname=tutorial"); if (!R::exists("page",1)) { $page = new Page; $page->setTitle("root"); $page->save(); } ?> <?php if($_GET["type"]=="editpage"): $page = new Page($_GET["id"]); ?> <form action="<?=$self?>type=savepage&id=<?php echo $_GET["id"]; ?>&pid=<?php echo $_GET["pid"]; ?>" method="post"> <input type="text" name="title" value="<?php echo $page->getTitle(); ?>" /> <br /><textarea name="intro" ><?php echo $page->getIntro(); ?></textarea> <br /><textarea name="body" ><?php echo $page->getBody(); ?></textarea> <hr /><input type="submit" name="save" value="save" /> </form> <?php else: ?> <?php if($_GET["type"]=="savepage"): $parent = new Page( max($_GET["pid"],1) ); $page = new Page( $_GET["id"] ); $page->importFromPost("title,intro,body"); $page->save(); $parent->attach( $page ); endif; ?> <?php $currentparent = new Page(max($_GET["pid"],1)); $pages = $currentparent->children(); ?> <?php foreach($pages as $page): ?> <br /><a href="<?=$self?>type=editpage&id=<?php echo $page->getID(); ?>&pid=<?php echo $_GET["pid"]; ?>">edit</a> <a href="<?=$self?>type=overview&pid=<?=$page->getID();?>">beneath</a> <span><?=$page->getTitle()?></span> <br /> <?php endforeach; ?> <hr /> <?php if ($_GET["pid"] > 1): ?> <a href="<?=$self?>type=overview&pid=<?=$currentparent->parent()->getID()?>">page up</a> <?php endif; ?> <a href="<?=$self?>type=editpage&pid=<?=$currentparent->getID()?>&id=0">add new page</a> <?php endif; ?> </body></html>
На английском об этом здесь.
В ближайшее время я планирую написать серию статей об RedBean ORM. Это самая замечательная оbject-relational mapping system для php, которую я когда-либо видел, и она колоссально экономит время и нервы веб-разработчикам.


Октябрь 6th, 2009 - 13:06
Создание таблиц в БД вот так налету – это LOL :D
Октябрь 6th, 2009 - 15:33
Ваще ебанашки – ктож так параметры БД открывает =)) – «Насколько мощной может быть CMS» – хахахахахаха lol
Октябрь 7th, 2009 - 09:34
require(«../redbean/allinone.php»)
Уже не 40…
Октябрь 13th, 2009 - 21:00
Да, интересная штучка этот Redbean. На production сервер такое ставить может и рискованно, но чисто для начальных этапов разработки очень удобно автоматическое создание таблиц в базе данных.
Ноябрь 19th, 2009 - 05:00
redbean php orm предлагает весьма занятный подход к созданию классов-моделей для работы с БД, но мой выбор — старые, проверенные, стабильные библиотеки.
Doctrine, Propel — наше все
Ноябрь 28th, 2009 - 06:08
интересный выбор в качестве альтернитивы обычным ORM для PHP, ждемс, когда выйдет стабильный релиз, последняя версия этой библиотеки все-таки 0.8.2
Декабрь 6th, 2009 - 17:22
Интересная вещь.
Кстати, вообще-то классная идея — создавать таблицы на лету. Еще бы оно умело так же «на лету» привязываться к уже существующим — вообще цены бы не было.
Декабрь 25th, 2009 - 13:25
Хорошая идея создания простой CMS. Респект автору.
Январь 14th, 2010 - 18:04
Достаточно спорно, но как вариант имеет право на существование
Февраль 17th, 2010 - 18:43
Здорово придумал, только не думаю что такая CMS, сможет быть надежной
Февраль 18th, 2010 - 17:32
это либо прикол такой либо она инклюдит несколько мегов кода
Март 3rd, 2010 - 22:47
а как насчет защиты? хотя думаю ничего важного под такой cms не может быть
Март 20th, 2010 - 00:54
Чтот она немного стремная, никогда раньше не видел CMS в 40 строчек кода.
Март 30th, 2010 - 22:11
Для общего развития пойдёт.
Апрель 1st, 2010 - 15:00
Соглашусь только что для общего развития, а если задумали свой проект то лучше своей кмски нечего не подойдет.
Апрель 16th, 2010 - 12:41
Функционала 0. Этот код для обучения детей )
Апрель 16th, 2010 - 23:21
Провальная CMS. Может авторы в скором времени научатся писать нормально обновят свою cms в 40 строк)))
Апрель 24th, 2010 - 10:18
А мне нравится! Такая себе альтернатива Нано-ЦМС. Люблю компактность, а нарастить НУЖНЫЙ функционал при наличии прямых рук не проблема ;)
Апрель 25th, 2010 - 18:41
Нет, ну это можно всё-таки воспринимать только как прикол.. Прикольный прикол.. А то не дай Бог сокро у каждого школьнега будет свою кмс-ка :)
Май 7th, 2010 - 18:03
Интересно, подойдёт ли она к моему сайту.
Май 12th, 2010 - 22:25
Очень все похоже на большую лажину!
Даже и время терять на тестирование не охота!
Май 15th, 2010 - 11:26
интересный код…попробую и потом отпишусь.
Май 15th, 2010 - 11:27
спасибо за наводку !
Май 24th, 2010 - 23:19
CMS от дяди Васи)))) Для какого-нибудь сайта-визитки может и пойдет, только наверняка жрать ресурсов будет уйму.
Май 26th, 2010 - 20:02
Если даже движок и будет когда-то успешным, то начало не очень ) Будем ждать..
Май 27th, 2010 - 15:29
Хочу выучить пхп, кто знает толковые уроки для начинающих
Май 29th, 2010 - 21:21
А вкратце, что она может еще?
Июнь 3rd, 2010 - 18:16
Ну, а правда ведь, эта CMS хоть что-то может вообще? Или только текст добавлять на главной страницы да постраничную разбивку делать? Оригинально, но несерьезно. Толку от такой системы никакого.
Июнь 18th, 2010 - 08:53
Такого не бывает, это же просто какая то подделка а не CMS, или она инклюдит кучу кода где нибудь
Июнь 19th, 2010 - 17:09
Ну что, кто-то из здесь присутствующих, пробовал это в деле?
Июнь 20th, 2010 - 17:28
Сойдет под строительный материал чего нибудь более серьезного, а в таком виде хз
Июнь 23rd, 2010 - 14:06
Сырое все какое-то :(((
В таком виде реально не проканает!
Июнь 25th, 2010 - 19:36
Ну это Cms назвать сложно, скорее скрипт.
Июнь 27th, 2010 - 19:31
Зато это скрипт вполне подойдет для простого сайта, без претензий на портальность.
Июнь 30th, 2010 - 12:04
тут упор на минимализм) так что эта цмс чисто для статистики
Июль 1st, 2010 - 18:55
Хоть и для простого сайта, но простинько и со вкусом!
Июль 3rd, 2010 - 14:11
Этот движок куда применить можно ?
Июль 6th, 2010 - 00:36
нечего себе.Я в шоке.40 строк кода это просто *****
Июль 11th, 2010 - 17:18
класс))) только для нормального использования его еще дорабатывать и дорабатывать..
Июль 14th, 2010 - 12:46
Мда это даже и cms назвать можно с трудом. Для чего оно может быть полезным кроме домашней странички.
Июль 14th, 2010 - 13:35
Нет, 40 строк, это конечно тянет на рекорд, но все-ж слишком сурово (Дулин и Михалыч отдыхают)…
Однако, ради интереса, сейчас запущу :)
Июль 15th, 2010 - 16:42
Мне кажется, что серьёзные проекты на него вешать рискованно….
Июль 19th, 2010 - 00:25
Jump в чем то я с вами согласен!
Июль 22nd, 2010 - 15:02
Спасибо за этот код возможно пригодится
Июль 29th, 2010 - 12:27
даже для сайта-визитки не совсем подойдет эта cms
Август 10th, 2010 - 22:55
Надо бы протэстить.
Август 16th, 2010 - 23:52
НУ ето совсем простая cms
Август 31st, 2010 - 22:34
Интересно, а выйдет ли новая версия в 41 и в 42 стоки? )))
А по существу – цмска только для ознакомления ,никакой практической позы от неё не будет.
Сентябрь 7th, 2010 - 13:06
Кто юзал данный скрипт? Ваши отзывы?
Сентябрь 9th, 2010 - 10:06
С пивком попрет.
Жду «серию статей об RedBean ORM» :)
Октябрь 2nd, 2010 - 22:44
Для мини визитки может и пойдет…
Октябрь 9th, 2010 - 14:08
сложно назвать это дело ЦМС, но свою работу оно выполняет
Октябрь 19th, 2010 - 08:48
Вызывает двоякие мысли
Ноябрь 11th, 2010 - 10:35
Да… Это тот случай, где краткость не сестра таланта… Код, конечно, надо оптимизировать! Но не в ущерб здравому смыслу :)
Ноябрь 21st, 2010 - 08:57
У меня вообще не заработало…Пробовал на локале, может из-за этого
Декабрь 7th, 2010 - 14:36
Крайности – это всегда плохо. Плохо, когда код – это мусорка. Еще хуже, когда ничерта нет… Как в данном случае :)
Январь 27th, 2011 - 01:40
Но наверно и надежность не такая сильная еще?
Январь 28th, 2011 - 15:34
А в библиотеке сколько строк кода?)) Вероятно раз в 10 больше, чем в средних CMS
Февраль 9th, 2011 - 13:03
комментаторы жгут, чего им на своей жумле не сидится
Февраль 10th, 2011 - 11:34
eplos.ru скрипт для работы в Sape. Потянет эта CMS?
Февраль 26th, 2011 - 22:07
Для armagedon, если и выйдет, то в 39 строк.
Март 4th, 2011 - 20:14
как то всё просто вышло у вас, обязательно протестирую. Код правда не очень читабельный, пожалуй пока что единственный минус
Март 20th, 2011 - 21:01
Интересная штуковинка, нужно будет на досуге поморочиться, потестировать функционал и аспект надежности этих 40 строчек
Март 27th, 2011 - 17:24
Наверное это рисковано для собственных сайтов
Апрель 5th, 2011 - 09:34
Это просто чтобы показать возможности среды разработки.
Апрель 11th, 2011 - 12:03
Ни на что не годится)
Апрель 20th, 2011 - 16:29
Да тут не в цмс дело а в возможностях RedBean PHP ORM
Апрель 21st, 2011 - 03:13
Спасибки я сам кодер знаю php неплохо гляну что за зверь этот редбин.
Апрель 28th, 2011 - 12:21
не плохие возможности.
Май 3rd, 2011 - 13:57
есть над чем подумать, я в этом деле новичок))
Май 4th, 2011 - 10:58
отличная демонстрация.
Май 11th, 2011 - 05:13
Весьма неплохо) Только код бы надо подправить
Май 12th, 2011 - 12:40
Неплохая демонстрация
Май 30th, 2011 - 17:02
и что эта cms умеет?)
Июнь 2nd, 2011 - 11:30
ну такое…
Июль 5th, 2011 - 10:29
А CMS ли это вообще? :) Так можно что угодно этой аббревиатурой обозвать. Люди годами пишут.. А тут 40 строк – смешно! :)
Июль 12th, 2011 - 15:43
Нда, уместить КМС-ку в сорок строчек – это надо еще постараться. Если честно – такое вижу впервые. Ничего подобного не наблюдал нигде.
Октябрь 4th, 2011 - 23:58
А сколько фрейм весит!? А какая его производительность!? Вообще не фанатею от фреймов. Но все… Такой оптимистичный пост… Сколько весит фрейм!?
Ноябрь 27th, 2011 - 20:13
хм.. 40 строк… уж что-то с чем-то.. ни когда такого не видел!
Щас попробую запущу…
Декабрь 23rd, 2011 - 07:01
вот сервис для измерения пузомерок http://pr-ic.ru/ заходите проверяйтесь там ссылочка на вас станется
Декабрь 29th, 2011 - 13:40
Интересный движок, а правда сколько он весит?
Январь 3rd, 2012 - 22:38
Супер идея создания простой CMS. Уважуха тебе! Додумался!!!
Январь 6th, 2012 - 12:00
С виду очень просто
Январь 18th, 2012 - 20:04
Да тема придумал!! Вообще красава! Я бы никогда наверно не додумался