[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Флуд от документации
Страницы: 1, 2, 3, 4, 5
twin
Цитата (chee @ 20.04.2016 - 11:44)
Нафига тут вообще объявлено пространство имён?

Дело в том, что у меня с одним фреймворком может использоваться несколько приложений. А с каждым приложением может использоваться несколько сайтов. А для этого нужна одна, глобальная область видимости, которая не участвует в автозагрузке. В PSR-4 это называется префиксом.

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

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

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

user posted image
twin
Цитата (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(); // Забираем у текущего приложения ответ, а у ответа берем его контент;

Это вообще не логично. По логике сначала берется контент из приложения, а потом фреймворком формируется и отправляется ответ.

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

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

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

user posted image
chee
Я ожидал, что в 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 и запускается с конфигами которые я забрал.



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

Какая разница, это как startApp у тебя, что-то запускается, а что - непонятно, инкапсуляция же
Цитата (twin @ 20.04.2016 - 16:08)
Это вообще не логично. По логике сначала берется контент из приложения, а потом фреймворком формируется и отправляется ответ.

Получаем ответ приложения, у которого есть контент (который кто-то туда возможно положил). Возможно этот контент положил туда метод dispatch, а может он там уже был, а может его там и нет.


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


Ну потому что я же написал. Что может быть несколько приложений на одном фреймворке. И несколько сайтов на каждом приложении.

Любое из приложений настраивается автономно. И любой сайт тоже. Общих правил нет и быть не может.

Вот такая структура возможна:

Цитата
- FRAMEWORK (Abc)
          |
          | - - - Application_one
          |            |
          |            |  - - - Site_one
          |            |
          |            |  - - - Site_two
          |
          | - - - Application_two
                       |
                       | - - - Site_one
                       |
                       | - - - Site_two


У каждого приложения, и у каждого сайта свои настройки. Но чтобы все они видели фреймворк, должна быть глобальная область видимости.

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

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

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

user posted image
chee
Цитата (twin @ 20.04.2016 - 16:08)
Зачем пользователю фреймворка копаться в кишках, если все запускается одной строчкой?

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

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

Большая разница. Ты же сам о выразительности говорил. Нужно понимать, что делает код. У меня понятно - стартует приложение. Что у тебя делает диспетчер?

Цитата (chee @ 20.04.2016 - 12:30)
Получаем ответ приложения, у которого есть контент (который кто-то туда возможно положил).

Ты нарушил принцип R-R. Response, это конечный автомат. Он отвечает за выдачу ответа пользователю. Как минимум должно быть наоборот:
Цитата
$app->getContent()->Response();
Тогда логично. И echo не нужно.

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

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

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

user posted image
twin
Цитата (chee @ 20.04.2016 - 12:40)
Я тебе раскажу, как я запускал твой фреймворк

Я твой вообще запустить не смог.
Цитата (chee @ 20.04.2016 - 12:40)
а как запустить контроллер определенный? Документации то нет
Вот именно. Чем я и занимаюсь. Но одно дело в доке написать про один метод, другое - про три. Да еще и совершенно невыразительные. Ну вот что делает диспетчер? Я так и не понимаю.


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

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

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

user posted image
chee
Цитата (twin @ 20.04.2016 - 16:38)
Ну потому что я же написал. Что может быть несколько приложений на одном фреймворке. И несколько сайтов на каждом приложении.

Ты писал тут одно, но в коде в index.php, я вижу у тебя другое. Запрашиваешь конфиги и не юзаешь их.

На счёт приложений и общей кодовой базы, я так и не понял, у тебя разве это есть?

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (chee @ 20.04.2016 - 12:50)
Ты писал тут одно, но в коде в index.php, я вижу у тебя другое. Запрашиваешь конфиги и не юзаешь их.

Так ты смотрел демку)) Я еще в порядок не привел. Сейчас все в доке прописано.
Цитата (chee @ 20.04.2016 - 12:50)
На счёт приложений и общей кодовой базы, я так и не понял, у тебя разве это есть?
А как же. Конечно есть. Я же несколько раз написал уже. smile.gif

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

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

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

user posted image
chee
Цитата (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 установщик ты сможешь запустить (скорей всего, но даже если запустится, он сейчас ничего не делает).

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

Я в коде не увидел этого, у тебя приложение только Abc. Ну если дело в доке, то напиши её, я заценю, покритикую wink.gif

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
twin
Цитата (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 будет один.

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

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

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

user posted image
twin
Цитата (chee @ 20.04.2016 - 12:40)
сравнивал производительность со своей CMS

Ну и как оно кстати?

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

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

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

user posted image
chee
Цитата (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)
Ну вот видишь. Ты и сам не знаешь. А говоришь о выразительности.

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

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

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