Цитата (chee @ 20.04.2016 - 11:44) |
Нафига тут вообще объявлено пространство имён? |
Дело в том, что у меня с одним фреймворком может использоваться несколько приложений. А с каждым приложением может использоваться несколько сайтов. А для этого нужна одна, глобальная область видимости, которая не участвует в автозагрузке. В PSR-4 это называется префиксом.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (chee @ 20.04.2016 - 11:44) |
Где то он всё равно будет |
Ну обычно за это отвечают методы типа display(), если по канонам ООП. А так это процедурой попахивает. :)
Цитата (chee @ 20.04.2016 - 11:44) |
Я специально опустил критику реализации, а оценивал только по параметрам обоснованности, выразительности и целостности кода в этих файлах. |
Ну это же очевидно. Чем меньше команд, тем понятнее и выразительнее код. Для того и придумали инкапсуляцию.
Цитата (chee @ 20.04.2016 - 11:44) |
Что у тебя, что у меня, нужно копаться в кишочках самого решения, просто у тебя кишочков немного поменьше. |
Зачем пользователю фреймворка копаться в кишках, если все запускается одной строчкой? Если нужо стартонуть приложение, так и пишется - старт. Не нужно разбираться кто куда и зачем. Что делает диспетчер? Для меня и сейчас это загадка.
$app->dispatch();
Что-то, это что именно?
echo $app->getResponse()->getContent();
Это вообще не логично. По логике сначала берется контент из приложения, а потом фреймворком формируется и отправляется ответ.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Я ожидал, что в index.php будет, что-то типа
require_once 'ABC/autoload.php';
$config = require __DIR__ .'/../base/configs/default.php';
$local = require __DIR__ .'/configs/local.php';
ABC\Abc::startApp($config, $local);
Тут бы я сразу понял, что есть глобальный конфиг для всех сайтов, а есть для каждого сайта в отдельности. Я бы понял что есть централизовыный автозагрузчик и что приложение находится в ABC\Abc и запускается с конфигами которые я забрал.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (twin @ 20.04.2016 - 16:08) |
Что-то, это что именно? |
Какая разница, это как startApp у тебя, что-то запускается, а что - непонятно, инкапсуляция же
Цитата (twin @ 20.04.2016 - 16:08) |
Это вообще не логично. По логике сначала берется контент из приложения, а потом фреймворком формируется и отправляется ответ. |
Получаем ответ приложения, у которого есть контент (который кто-то туда возможно положил). Возможно этот контент положил туда метод dispatch, а может он там уже был, а может его там и нет.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 20.04.2016 - 12:18) |
Тут бы я сразу понял, что есть глобальный конфиг для всех сайтов, а есть для каждого сайта в отдельности. |
Ну потому что я же написал. Что может быть несколько приложений на одном фреймворке. И несколько сайтов на каждом приложении.
Любое из приложений настраивается автономно. И любой сайт тоже. Общих правил нет и быть не может.
Вот такая структура возможна:
Цитата |
- FRAMEWORK (Abc) | | - - - Application_one | | | | - - - Site_one | | | | - - - Site_two | | - - - Application_two | | - - - Site_one | | - - - Site_two |
У каждого приложения, и у каждого сайта свои настройки. Но чтобы все они видели фреймворк, должна быть глобальная область видимости.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 20.04.2016 - 16:08) |
Зачем пользователю фреймворка копаться в кишках, если все запускается одной строчкой? |
Я тебе раскажу, как я запускал твой фреймворк, было недели две назад, сравнивал производительность со своей CMS. Таки смотри, я скачал его, распоковал, запускаю, а он мне пишет ошибку с 404 и твой фирменный дебаггер, я такой - а как запустить контроллер определенный? Документации то нет, почесал репу, после чего пошел капаться в кишочках.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 20.04.2016 - 12:30) |
Какая разница, это как startApp у тебя, что-то запускается, а что - непонятно, инкапсуляция же |
Большая разница. Ты же сам о выразительности говорил. Нужно понимать, что делает код. У меня понятно - стартует приложение. Что у тебя делает диспетчер?
Цитата (chee @ 20.04.2016 - 12:30) |
Получаем ответ приложения, у которого есть контент (который кто-то туда возможно положил). |
Ты нарушил
принцип R-R. Response, это конечный автомат. Он отвечает за выдачу
ответа пользователю. Как минимум должно быть наоборот:
Цитата |
$app->getContent()->Response(); |
Тогда логично. И echo не нужно.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (chee @ 20.04.2016 - 12:40) |
Я тебе раскажу, как я запускал твой фреймворк |
Я твой вообще запустить не смог.
Цитата (chee @ 20.04.2016 - 12:40) |
а как запустить контроллер определенный? Документации то нет |
Вот именно. Чем я и занимаюсь. Но одно дело в доке написать про один метод, другое - про три. Да еще и совершенно невыразительные. Ну вот что делает диспетчер? Я так и не понимаю.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 20.04.2016 - 16:38) |
Ну потому что я же написал. Что может быть несколько приложений на одном фреймворке. И несколько сайтов на каждом приложении. |
Ты писал тут одно, но в коде в index.php, я вижу у тебя другое. Запрашиваешь конфиги и не юзаешь их.
На счёт приложений и общей кодовой базы, я так и не понял, у тебя разве это есть?
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 20.04.2016 - 12:50) |
Ты писал тут одно, но в коде в index.php, я вижу у тебя другое. Запрашиваешь конфиги и не юзаешь их. |
Так ты смотрел демку)) Я еще в порядок не привел. Сейчас все в доке прописано.
Цитата (chee @ 20.04.2016 - 12:50) |
На счёт приложений и общей кодовой базы, я так и не понял, у тебя разве это есть? |
А как же. Конечно есть. Я же несколько раз написал уже.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 20.04.2016 - 16:47) |
Большая разница. Ты же сам о выразительности говорил. Нужно понимать, что делает код. У меня понятно - стартует приложение. Что у тебя делает диспетчер? |
Что-то менеджерит, скорей всего компоненты приложения.
Цитата (twin @ 20.04.2016 - 16:47) |
Ты нарушил принцип R-R. Response? это конечный автомат. Он отвечает за выдачу ответа пользователю. Как минимум должно быть наоборот: |
Ты про что вообще? Какие конечные автоматы? Максимум, что я мог нарушить, это то что не правильно транспортирую и отдаю контент в поток php, о чем ты говорил выше, говоря о использовании echo.
Цитата (twin @ 20.04.2016 - 16:50) |
Я твой вообще запустить не смог. |
Таки да, я же над этим работаю, установщик пишу. И да у меня не "он", а "она", у тебя фреймворк, у меня CMS. Да и я лишь анонсировал пре-альфу, то есть в ней и ничего не должно было работать, это был анонс для других разрабов, вдруг, кто захотел бы присоединиться к разработке. Кстати, если выкачаешь ветку form установщик ты сможешь запустить (скорей всего, но даже если запустится, он сейчас ничего не делает).
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (twin @ 20.04.2016 - 16:56) |
А как же. Конечно есть. Я же несколько раз написал уже. |
Я в коде не увидел этого, у тебя приложение только Abc. Ну если дело в доке, то напиши её, я заценю, покритикую
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Цитата (chee @ 20.04.2016 - 13:07) |
Что-то менеджерит, скорей всего компоненты приложения. |
Ну вот видишь. Ты и сам не знаешь. А говоришь о выразительности.
Цитата (chee @ 20.04.2016 - 13:07) |
Ты про что вообще? Какие конечные автоматы? |
Ну это я для красного словца. :) Просто Response, это
ответ. Может у тебя он и берет ответ приложения, но тут путаница гораздо хуже, чем у меня с create была. Общая практика - Response должен
отдавать. Причем отдавать в поток. А брать ответ, это не просто не выразительно, это неоднозначно. Такой код читать очень трудно. Причем он у тебя откуда то берет ответ и отдает его методу, который берет где то контент. Вот так напиши и сам поймешь логическую ошибку.
$app->getResponse();
echo $app->getContent();
Не может сначала браться из приложения ответ, а только потом контент.
Цитата (chee @ 20.04.2016 - 13:07) |
И да у меня не "он", а "она", у тебя фреймворк, у меня CMS. |
У тебя CMS, написанная на основе фреймворка. Я не зря так долго разбирался,
что есть что. И меня не интересует CMS. Это как раз приложение и есть. Меня интересует фреймворк. Основа.
Цитата (chee @ 20.04.2016 - 13:09) |
Я в коде не увидел этого, у тебя приложение только Abc. |
Потому что ты до сих пор не понял основного принципа построения фреймворков. Аbc, это не приложение вовсе. Это фреймворк. А приложение
к нему, это App. Applicftion. Так и переводится - приложение. Я могу приложить их несколько. А Abc будет один.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (chee @ 20.04.2016 - 12:40) |
сравнивал производительность со своей CMS |
Ну и как оно кстати?
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 20.04.2016 - 17:25) |
Потому что ты до сих пор не понял основного принципа построения фреймворков. Аbc, это не приложение вовсе. Это фреймворк. А приложение к нему, это App. Applicftion. Так и переводится - приложение. Я могу приложить их несколько. А Abc будет один.
|
Напиши по этому поводу доку, я посмотрю ;)
Цитата (twin @ 20.04.2016 - 17:25) |
Причем он у тебя откуда то берет ответ и отдает его методу, который берет где то контент. Вот так напиши и сам поймешь логическую ошибку. |
$app->getResponse();
$app->getContent();
Я еще не использовал концепцию Request-Response, у себя, данный метод возможно является чем-то похожим, но он было создан под влиянием других вещей.
Ну и наверно, тебе проще показать
всю суть, что бы ты понял, почему именно так как было задумано, а не как ты себе придумал.
Цитата (twin @ 20.04.2016 - 17:25) |
Ну вот видишь. Ты и сам не знаешь. А говоришь о выразительности. |
Нет, сам то я знаю. Просто я использую такие формулировки, чтобы показать тебе, что вообще не важно, что там происходит.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.