[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обсуждение варианта Volter9
Страницы: 1, 2, 3, 4
chee
volter9, я так и не понял, зачем тебе свой автозагрузчик если у тебя есть composer?


_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
volter9
chee
Ну я думал что его нельзя использовать... (типа не я же писал) unsure.gif
А composer мне нужен для PHPUnit и тестирования.

_____________
Мой блог
chee
volter9, я думаю можно изпользовать. Точнее я использовал.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
volter9
chee
Ну одно другому не мешает, если что, потом удалю (мой autoloader по сути это копипаст с мануала, а с composer'ом наверное лучше будет).


_____________
Мой блог
twin
Ну начнем, помолясь. :)
Общая логика понятна, по структуре ничего не буду говорить, на то он и самопис, чтобы свои велосипеды придумывать. Да и не спец я, чтобы критиковать. Только по реализации спрошу.

Я так понимаю, самого приложения нету еще, только основа? Листал, листал, зацепиться не за что. :) Потому что ничего нету. Попер в триал. Тут есть вопросики.

Не могу уловить предназначение этого метода в UrlBuilder:
	private function base () {
$root = $this->input->get('server', 'DOCUMENT_ROOT');
$fragments = explode($root, BASE_PATH);

return rtrim(end($fragments), '/');
}
И логика его работы как то ускользает... Не ясно еще, что делает DOCUMENT_ROOT в классе для работы с URL.

Выше заглянул, вот это:
	public function input () {
return new Input([
'get' => $_GET,
'post' => $_POST,
'server' => $_SERVER
], getallheaders());
}
Метод называется "вход". Значит логично предположить, что это входные данные. А с куками не планируeтся работа? Или с файлами? Или они в другом место планируются?

Ну и конечно про ORM Вашу. Меня тут chee распекал, что я ORM не юзаю. Но вот глядя на вашу (про егошнюю я вообще молчу, там полный трындец) меня берет тоска от того, сколько вам нужно её делать, чтобы она могла работать с полноценными запросами. Она годится только для нашего ТЗ, визитку склепать. Ну и про производительность - отдельная тема.

Я понимаю, что это плата за ООП, так что это не вопрос, а мысли вслух. Стоит ли оно того...

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


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

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

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

user posted image
chee
Цитата (twin @ 20.02.2015 - 16:50)
про егошнюю я вообще молчу, там полный трындец

если критикуете мою реализацию, то делайте в моей теме http://phpforum.su/index.php?showtopic=85296&st=105&hl=. Я с удовольствием раскажу как работает моя, типа ORM.

Цитата (twin @ 20.02.2015 - 16:50)
Меня тут chee распекал, что я ORM не юзаю

Я вам написал, что юзают либо ORM, либо хелперы.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
volter9
private function base () {
$root = $this->input->server('DOCUMENT_ROOT');
$base = substr(BASE_PATH, strlen($root) - 1);

return rtrim($base, '/');
}


Я обновил метод вчера или позавчера, но коммитнул только сейчас, сейчас такой код:

Этот метод нужен для динамического нахождение подпапки на сервере, т.е. что бы приложение могло работать не только в DOCUMENT_ROOT, но и в подпапках DOCUMENT_ROOT (это вычисляеться за счет разницы BASE_PATH и DOCUMENT_ROOT путей).

Цитата (twin @ 20.02.2015 - 16:50)
только основа?

Пока что да.

Цитата (twin @ 20.02.2015 - 16:50)
Метод называется "вход".

Метод называется "входные данные", а не вход. :)
Тот класс с этим методом это фабрика которая создает классы для компонента маршрутизации. Входные данные я прописываю а не записываю прям в классе, что бы тестировать потом легче было.

Цитата (twin @ 20.02.2015 - 16:50)
Ну и конечно про ORM Вашу

Я собираюсь сделать попроще. К тому же, ORM это громко сказано :D

Цитата (twin @ 20.02.2015 - 16:50)
про егошнюю я вообще молчу, там полный трындец

Цитата (twin @ 20.02.2015 - 16:50)
полноценными запросами

Вообще то, у него намного гибче чем у меня (с Query Objects), может написать какой угодно запрос а потом положить этот запрос в отдельный объект. Я бы даже сказал это у меня трындец а не у chee. :lol:

_____________
Мой блог
twin
Цитата
Этот метод нужен для динамического нахождение подпапки на сервере, т.е. что бы приложение могло работать не только в DOCUMENT_ROOT, но и в подпапках DOCUMENT_ROOT (это вычисляеться за счет разницы BASE_PATH и DOCUMENT_ROOT путей).
Ясно. Не понятно остается одно - каким боком физические пути относятся к URL...
Цитата
Метод называется "входные данные", а не вход. smile.gif
Вобщем то понятно. "Входные данные" немного иначе преводится, хотя не суть. Вполне читабельно $url->input(). Не без двузначности, но все же.
Цитата
Тот класс с этим методом это фабрика которая создает классы для компонента маршрутизации. Входные данные я прописываю а не записываю прям в классе, что бы тестировать потом легче было.
Теперь понятно. Но не раньше... Я не претендую на эксперта по читабельности, однако эти названия вызвали легкле замешательство.
Цитата
Вообще то, у него намного гибче чем у меня (с Query Objects), может написать какой угодно запрос а потом положить этот запрос в отдельный объект. Я бы даже сказал это у меня трындец а не у chee
С какой стороны посмотреть. Он решил, что нужно следовать канонам, и все представить объектами. Даже элементарные select запросы.

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

В Вашем случае я думаю это не ORM, а обычный хэлпер. Упростить запрсы. Я тоже в эксперементе этим нагрешил, сейчас каюсь. Толку никакого нет.

Но вот в чем беда. Я спокойно юзаю любые литеральные запросы, а в вашем случае два варианта создания сложного запроса:
1. Отказаться от ORM.
2. Отказаться от сложных запросов.

В первом случае вы нарушите принцип ООП
Во втором сделаете приложение примитивным.

Есть третий вариант. Разворачивать свою ORM в сторону SQL синтаксиса, но тогда это обычный дубляж SQL. Да, понятно, что данные теперь будут в виде объектов. Но вот скажите, имеет ли это смысл, если абстрагироваться от ООП?

Никакого смысла нет. Потому я и сказал, это плата за ООП. Чтобы пришли люди и сказали - да. Это чистая парадигма методология. И кто писал, тот крут.

А другие плюсы?

Что касается реализации chee, там еще все печальнее. Если у меня на странице 30 запросов, то будет 30 объектов. Но не суть, даже не берем в расчет память. Сколько обращений к ФС?

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

chee
Цитата
если критикуете мою реализацию, то делайте в моей теме
Смсл? Вы слились, теперь на общих основаниях. Хотите критиковать - пожалуйста. Не выпрашивайте оценки вашей поделки здесь. Ждите, когда кому станет интересно.

Цитата
Я вам написал, что юзают либо ORM, либо хелперы.

Мне даже не интересно кто "юзают". Ибо они такие же как вы "обыватели". Привыкли мыслить, "как все". Тут вам не здесь. Тут мысли креативные. Пусть вам и не по душе.

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

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

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

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

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