На примере существующих CMS и CMF, разобрать основные составляющие веб приложения

craz

Нестандартное звание
Есть желание погрузиться в разбор существующих CMS/CMF для более собственного более глубоко понимания. Но просто так разбираться смысла нет, надо иметь мнение более чем одного человека(меня)))). Поэтому вопрос имеет ли смысл вообще это делать?

Что я хотел бы разобрать?
CMS: Joomla,Drupal,WordPress,Битрикс, что еще?
CMF/F: ZF, Yii, Symphony, что еще?

Вначале было бы не плохо разобрать
1) точки входа,
2) бутстрап
3)конфиг
4)лайоты
5)шаблоны
6)Что еще?

Планирую как делать пример 1) на пастебин из коробки выкладывается код(по всем CMS/CMF/F), его основные особенности, обсуждение каких-то общих вопросов/каких-то специфических вопросов. Выводы, как правильно как не правильно на основе этого обсуждения.

Я понимаю делать дохрена. Но чето охота уже узнать как правильно и "идеально"))))
 

fixxxer

К.О.
Партнер клуба
Зачем cms разбирать? В говне охота поковыряться - устройся ассенизатором.

По фреймворкам - возьми мануал по любому из них за структуру и отталкивайся от. Хотя не понимаю зачем тебе это.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Не бывает правильно и идеально. У тебя как и у меня комплекс перфекциониста. Я свой движек из-за этого переписал за год 14ть раз. Все потому, что время генерации страницы казалось большим))) Но мне кажется битрикс вообще рассматривать не стоит, как и неткат, внутрь WP/JM/DP не влезал глубоко, может там и не так все уныло.
 

Духовность™

Продвинутый новичок
Но чето охота уже узнать как правильно и "идеально"))))
Правильно и идеально это тогда и только тогда, когда ты сначала доволен своим кодом, а потом ты его хочешь переписать. И после того, как ты переписываешь свой код, возникает одна из двух реакций:
- "Че-то говно какое-то получилось..."
- "Ух ты, как стало круто/гибко/красиво/расширяемо!".

Если возникла последняя реакция - это и есть "правильно и идеально". Для тебя. Всё остальное - субъективно, ибо "не бывает правильно и идеально" - на любой код и на любую архитектуру можно наложить тонну критики и тонну похвалы. И холивар будет бесконечным.
 

craz

Нестандартное звание
Я хочу это сделать, потому что нет так называемой общей методологии разработки, есть поделки, типа джумл, друпалов, битриксов, все городят кто во что горазд.
Хотелось бы перед глазами иметь обоснованное мнение почему битрикс унылое гавно и его точка входа считай это одна строка

PHP:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
которая потом инклудами дергает хрен поймешь что.

почему и что не так в коде входной точки joomla
PHP:
<?php
/**
* @version        $Id: index.php 14401 2010-01-26 14:10:00Z louis $
* @package        Joomla
* @copyright    Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
* @license        GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// Set flag that this is a parent file
define( '_JEXEC', 1 );

define('JPATH_BASE', dirname(__FILE__) );

define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;

/**
 * CREATE THE APPLICATION
 *
 * NOTE :
 */
$mainframe =& JFactory::getApplication('site');
//echo get_current_user();exit;
//echo posix_getlogin();exit;
/**
 * INITIALISE THE APPLICATION
 *
 * NOTE :
 */
// set the language
$mainframe->initialise();

JPluginHelper::importPlugin('system');

// trigger the onAfterInitialise events
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;
$mainframe->triggerEvent('onAfterInitialise');

/**
 * ROUTE THE APPLICATION
 *
 * NOTE :
 */
$mainframe->route();

// authorization
$Itemid = JRequest::getInt( 'Itemid');
$mainframe->authorize($Itemid);

// trigger the onAfterRoute events
JDEBUG ? $_PROFILER->mark('afterRoute') : null;
$mainframe->triggerEvent('onAfterRoute');

/**
 * DISPATCH THE APPLICATION
 *
 * NOTE :
 */
$option = JRequest::getCmd('option');
$mainframe->dispatch($option);

// trigger the onAfterDispatch events
JDEBUG ? $_PROFILER->mark('afterDispatch') : null;
$mainframe->triggerEvent('onAfterDispatch');

/**
 * RENDER  THE APPLICATION
 *
 * NOTE :
 */
$mainframe->render();

// trigger the onAfterRender events
JDEBUG ? $_PROFILER->mark('afterRender') : null;
$mainframe->triggerEvent('onAfterRender');

/**
 * RETURN THE RESPONSE
 */
echo JResponse::toString($mainframe->getCfg('gzip'));
и как можно было бы реализовать это 1) правильнее 2) логичнее
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Я хочу это сделать, потому что нет так называемой общей методологии разработки
Книжки читать не пробовал, по паттернам проектирования?
Словосочетание «парадигма Модель-Контроллер-Представление» не вызывает никаких ассоциаций?
 

craz

Нестандартное звание
Книжки читать не пробовал, по паттернам проектирования?
Словосочетание «парадигма Модель-Контроллер-Представление» не вызывает никаких ассоциаций?
[irony]Нет чейэт? :eek:[/irony]
Я про паттерны вообще пока ничего не писал, очень интересно к чему ВЫ это написали?
 

craz

Нестандартное звание
Форум новый а тега [irony] так и нет
 

AmdY

Пью пиво
Команда форума
craz не слушай их, нужно копаться к коде даже битрикса. при их разработке возникает уйма проблем и появляется куча костылей.
реализация джумлы даёт больше гибкости, этот код можно засунуть во фронт контроллер с диспетчеризацией либо в более специфичный бутстрап, тем самым сделав несколько единых точек входа
 

craz

Нестандартное звание
Я просто для примера привел точки входа, писать буду что-то типа статей повечерам, и надеюсь, что будут те у кого не будет в ж... свербить, что он фаулера в подлинке прочитал, и можно будет нормально обсуждать те или иные реализации с умными и опытными людьми.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Я просто для примера привел точки входа, писать буду что-то типа статей повечерам, и надеюсь, что будут те у кого не будет в ж... свербить, что он фаулера в подлинке прочитал, и можно будет нормально обсуждать те или иные реализации с умными и опытными людьми.
проблема в том, что ты сыпешь терминами, не вникая в их смысл. Сначала ты пишешь «методологии», потом оказывается, ты собрался реализации разбирать.
Разница между методологией и реализацией такая же, как между теорией и практикой.
 

Crys

Двинутый новичок
Хотелось бы перед глазами иметь обоснованное мнение почему битрикс унылое гавно и его точка входа считай это одна строка

PHP:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
которая потом инклудами дергает хрен поймешь что.
http://dev.1c-bitrix.ru/api_help/main/general/page/structure.php
http://dev.1c-bitrix.ru/api_help/main/general/page/pageplan.php

Все расписано... Является плюсом или минусом имение множества точек входа вместо одной - у каждого свое мнение. Лично мне просто пофиг :)
 

craz

Нестандартное звание
Вы забегаете вперед) это был всего лишь пример)
 

craz

Нестандартное звание
паттерны - это и есть (ирония!!11) методология.
проблема в том, что ты сыпешь терминами, не вникая в их смысл. Сначала ты пишешь «методологии», потом оказывается, ты собрался реализации разбирать.
Разница между методологией и реализацией такая же, как между теорией и практикой.
.... материться охота, толи делать нечего к словам цепляетесь толи че... ЧСВ мейби?

Реализация - это готовые решения - подходят они для изучения в плане методологии? - это как раз и цель всего этого изучения будет, вы так же сможете участвовать в обсуждении и высказывать свои авторитетнейшие мнения о своих точках входа, шаблонах, применямых паттернах.


Еще раз цель и главный вопрос топика:
Поэтому вопрос имеет ли смысл вообще это делать?

Получается, что стоит, и даже нужно. Ибо для некоторых методология разработки и конкретная реализация небо и земля.

Нахрена нужны ваши паттерны если они чисто теоритические? Тот же GoF - есть с разбором на пхп отталкиваясь от особенностей языка, и конкретных реализаций? Нет.
А всякого разного понаписали много, вот и охота узнать, что хоть как-то вписываеться в теорию, что не вписываясь в теорию все равно COOL, а что просто УГ
 

craz

Нестандартное звание
http://dev.1c-bitrix.ru/api_help/main/general/page/structure.php
http://dev.1c-bitrix.ru/api_help/main/general/page/pageplan.php

Все расписано... Является плюсом или минусом имение множества точек входа вместо одной - у каждого свое мнение. Лично мне просто пофиг :)
пофиг не пофиг, вы бы сами как реализовывали?
 

craz

Нестандартное звание
))) не ну вы правда спешите ни о чем по сути говорить еще... Я еще писать буду обзор по первому пункту дня два и выкладывать я буду скорее всего в теорию
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Мне эта тема очень сильно напоминает проскакивающую как-то тут тему, "а давайте все вместе напишем пиз....ый фреймворк/CMS, а? Не ну а чо...". Как-то так. Тогда ту тему тоже заофтопили.
 
Сверху