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 стоки? )))
А по существу – цмска только для ознакомления ,никакой практической позы от неё не будет.