[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Флуд от документации
Страницы: 1, 2, 3, 4, 5
twin
Чего то руки зачесались - жалко такой фреймворк выкидывать. Уж очень он простой и наглядный получился.

Посидел я еще несколько вечеров, привел все в порядок, доделал роутинг и кой-чего по мелочи. Кому интересно - тут, что бы не искать.

Но самое главное - начал писать документацию. Вот здесь.

Нет ли желающих помочь мне с дизайном? smile.gif

Логотип Wind сделал, обещал и с дизом порешать, но что то пропал sad.gif

Ну и критика и предложения приветствуются. smile.gif

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
casper - gg
версия 5.3 не берет его, ошибка синтаксиса:
Цитата
Parse error: syntax error, unexpected '[' in C:\WebServers\home\abc.rus\vendor\Abc\Abc.php on line 50
T1grOK
Мда. В первую очередь нужно указать системные требования.
Requires PHP version 5.5 or later

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
casper - gg
Документация на русском, вот так -
Требуется PHP версии 5.5 или более поздняя версия
chee
Я запускал эту шнягу, демку бы посолиднее, какой-нибудь Hello world с нормальным шаблоном типа как у symfony-standart. Ах, да, само ядро слишком переусложнено, я так и не понял зачем там билдеры, специальные классы для подготовки контроллера, короче какая-то муть. Все что можно было сделать просто, сделано сложно

я про эти файлы:
https://github.com/abc-framework/abc-framew.../AppManager.php
https://github.com/abc-framework/abc-framew...bcProcessor.php
https://github.com/abc-framework/abc-framew...onfigurator.php

Натрави на это анализатор кода и увидишь большую алгоритмическую сложность.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Ron
twin, отличная идея! Особенно интересует подробная докментация на шаблонизатор, роутер и DIC (или что там). Расположил в порядке заинтересованности, начиная с большей.

Остальное можно самому допетрить, главное чтобы тестовый проект был достаточно разносторонним. Что-то вроде джумловской demo data.

Кстати вполне возможно кто-нибудь из новичков заюзает, кто только начал вкушать прелести MVC. А чего, я бы сам заюзал года 2-3 назад, честно говоря, с превиликим удовольствием при наличии хорошей доки.

Думаю ниша свободна. Есть slim и silex, к примеру. Первому жестко не хватает слоев абстракции, второй перегружен ORM-ом. А вот посерединке походу есть местечко! )

twin
Про системные требования - спасибо, укажу конечно. А вобще в каждом файле есть:
Цитата
* NOTE: Requires PHP version 5.5 or later
smile.gif

Цитата (chee @ 19.04.2016 - 17:47)
Я запускал эту шнягу, демку бы посолиднее, какой-нибудь Hello world с нормальным шаблоном типа как у symfony-standart.

Ну для того и начал доку делать. Конечно все подробненько с примерами и демками распишу.

Цитата (chee @ 19.04.2016 - 17:47)
Ах, да, само ядро слишком переусложнено, я так и не понял зачем там билдеры, специальные классы для подготовки контроллера, короче какая-то муть. Все что можно было сделать просто, сделано сложно

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

Билдеры для того, чтобы настраивать сервисы. Это примерно как у тебя метаданные. Идея в том, что сервис настраивается только в момент инициализации. С метаданными это сделать сложнее, кроме того, я юзаю внедрение через конструктор, что более рассово верно.

Вобщем пустой фреймворк использует меньше 30 классов, в отличие от 150 твоих. При той же функциональности. У тебя может и функциональнее сейчас, но фишка в том, что при расширении функционала, у меня это количество не изменится.

Цитата (chee @ 19.04.2016 - 17:47)
Натрави на это анализатор кода и увидишь большую алгоритмическую сложность.
А у меня кредо такое. biggrin.gif Для меня первичны алгоритмы. Я могу написать очень изащренные алгоритмы для того, чтобы было легко пользоваться. А не переусложняю структуру. А анализатор кода я не понимаю. Это что за нахрен какой то будет мне указывать, как писать алгоритмы. smile.gif


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (Ron @ 19.04.2016 - 21:25)
Думаю ниша свободна. Есть slim и silex, к примеру. Первому жестко не хватает слоев абстракции, второй перегружен ORM-ом. А вот посерединке походу есть местечко! )

Вот для того и реабилитировал. Походу еще как свободна. Простой фреймворк с низким поргом вхождения плюс русская дока - может стрельнуть для начинающих.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 20.04.2016 - 03:10)
Вобщем пустой фреймворк использует меньше 30 классов, в отличие от 150 твоих. При той же функциональности. У тебя может и функциональнее сейчас, но фишка в том, что при расширении функционала, у меня это количество не изменится.

Наивный laugh.gif

Цитата (twin @ 20.04.2016 - 03:10)
Я могу написать очень изащренные алгоритмы для того, чтобы было легко пользоваться. А не переусложняю структуру.

После этого ты говоришь
Цитата (twin @ 20.04.2016 - 03:13)
Простой фреймворк с низким поргом вхождения

Серьезно? laugh.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 20.04.2016 - 08:39)
Наивный

Давай проведем фалометрию biggrin.gif Я ничего у тебя сверхестественного не нашел.
Цитата (chee @ 20.04.2016 - 08:39)
Серьезно?

Да потому и сложные алгоритмы, что они решают много задач за юзера. От того и низкий порог.

Что касается внутреннего устройства, то тоже все просто. Сложная логика инкапсулирована и прохождение по цепочке вызовов очень простое и логичное. Совсем не обязательно вдаваться в такие подробности, чтобы понять принципы устройства фреймворков. Потом уже можно и твои дебри разбирать. Если захочется правда. laugh.gif

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Цитата (twin @ 20.04.2016 - 13:33)
Что касается внутреннего устройства, то тоже все просто

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

Для начала пройдусь по index.php.

https://github.com/abc-framework/abc-framew...r/www/index.php

1. Я вообще непонимаю фишку с неймспесом, это выглядит как костыль;
2. Нет системности в папках хранения конфигов, я ее вообще не проследил, пути до файлов с конфигами сильно различные и не наблюдается какого-то правила их хранения;
3. Мне непонятно зачем ты берешь конфиги и не используешь их после;
4. Мне непонятно зачем ты назвал метод createApp, если он возвращет ничего и по факту, ничего не создает для клиента, а логику создания инкапсулирует в себе, так уж сразу бы и использовал run;
5. Мне абсолютно непонятно зачем писать свои автозагрузчики, когда автокомпозер все сделает за тебя, да +4 класса, но в итоге стороние либы можно подключать без головняка и попыток разобраться в кишочках твоего "оченьпонятногофреймворка";

Если хочешь, я могу продолжить и по другим частям laugh.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
chee
Для примера сравним с моим index.php

<?php

require '../bootstrap.php'; // Можно заменить на require_once 'vendor/autoload.php';, загрузчик композера

$bootstrap = new ExampleCMS\Bootstrap('web', dirname(__DIR__) . '/'); // Происходит неведомая дичь

$app = $bootstrap->getApplication(); // Получаем текущее приложение
$app->dispatch(); // Говорим ему сделать что-то

echo $app->getResponse()->getContent(); // Забираем у текущего приложения ответ, а у ответа берем его контент;

Прикопаться можно только к созданию экземпляра класса ExampleCMS\Bootstrap, непонятно что за 'web' и зачем туда передается текущая папка.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 20.04.2016 - 10:26)
1. Я непонимаю фишку с неймспесом - вообще, это выглядит как костыль;

Это правило PSR-4. Этот стандарт совместим с PSR-0, чего не скажешь наоборот. Причем PSR-0 участниками FIG признан deprecated.
Цитата (chee @ 20.04.2016 - 10:26)
2. Нет системности в папках хранения конфигов, я ее вообще не проследил, пути до файлов с конфигами сильно различные и не наблюдается какого-то правила их хранения;

Только что написал доку. smile.gif Вообще нет никаких правил в организации путей. Просто мне так понравилось. У кого есть желание иначе - фреймворк в этом никого не ограничивает.
Цитата
Размещать конфигурационные файлы, а так же давать им названия можно где угодно и как угодно. Главное "скормить" их фреймворку. Эти массивы должны передаваться аргументами в метод инициализации фреймворка. Подробнее об этом в разделе Hello, World!
Это задекларировано в спецификации, еще тогда, когда фреймворк только проектировался:
Цитата
Фреймворк дает свободу программисту, не создавая каких-либо структурных ограничений и конвенций

Цитата
3. Мне непонятно зачем ты берешь конфиги и не используешь их после;

Их можно и не брать вовсе. Пользоваться дефолтными настройками. Там просто показан пример приложения. В доке я это тоже подробно расписал.
Цитата (chee @ 20.04.2016 - 10:26)
4. Мне непонятно зачем ты назвал метод createApp, если он возвращет ничего и по факту, ничего не создает для клиента, а логику создания инкапсулирует в себе, так уж сразу бы и использовал run;
Ну может быть. Я долго метался, менял одно на другое. Мне показалось, что так нагляднее. Скорее всего ты прав, некрасиво. Поменяю.
Цитата (chee @ 20.04.2016 - 10:26)
5. Мне абсолютно непонятно зачем писать свои автозагрузчики, когда автокомпозер все сделает за тебя, да +4 класса, но в итоге стороние либы можно подключать без головняка и попыток разобраться в кишочках твоего "оченьпонятногофреймворка";
Я не отменял композер. Там есть выбор. Причем можно заюзать не только композер, но и любой другой автозагрузчик, просто указав путь до него в любой конфиге. Просто я люблю самодостаточность. Ну и +4 класса конечно. biggrin.gif

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.