Цитата (twin @ 15.02.2015 - 15:56) |
Потому и ООП, что оперировать нужно этими копиями, против того, что использовать методы, как обычные нативные функции. |
Осмелюсь предположить, что вызов (нативных или пользовательских) функций не является подобием (пардон, если не то слово подобрал) вызова статического метода.
Технически может и нет. Идеологически - да. А парадигма и есть идеология.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
twin
Цитата |
volter9 может условно создать два приложения и заставить их действовать самостоятельно. Я не могу, я должен сохранять последовательность. |
Почему не можешь?
что он передаёт название папки
new App('App');
что ты так же можешь передать
Roter::run();
Roter::run('test');
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Arh
Цитата |
что ты так же можешь передать |
Ты упустил ключевое слово "одновременно".
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 15.02.2015 - 18:55) |
Arh
Цитата | что ты так же можешь передать |
Ты упустил ключевое слово "одновременно". |
А он как это сделает одновременно?
Сначала отработает new App('App')
потом new App('Debug')
тоже последовательно.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Он может создать два объекта. Потом сначала отработать со вторым, потом с первым. Потому что объекты будут храниться в памяти. У меня память изменяется последовательно и линейно. Я не могу вызвать метод роутера, который подхватит первый контроллер, потом вызвать его и подхватить второй, а работать с первым. Мне как минимум придется вызвать его еще раз, чтобы снова подхватить первый.
Это условно все, не забывай.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата (twin @ 15.02.2015 - 19:05) |
Он может создать два объекта. Потом сначала отработать со вторым, потом с первым. Потому что объекты будут храниться в памяти. У меня память изменяется последовательно и линейно. Я не могу вызвать метод роутера, который подхватит первый контроллер, потом вызвать его и подхватить второй, а работать с первым. Мне как минимум придется вызвать его еще раз, чтобы снова подхватить первый.
Это условно все, не забывай. |
В какой памяти?
Он сразу обращается к методу, практически как к статике.
что так
(new a)->test();
что так
a::test();
Ладно если бы было бы так.
$a = new a;
$a->test();
$a->blabla();
Тогда да, объект создался, с ним можно работать.
$a = new a;
$b = new a;
$a->test();
$a->blabla();
А так в какой он памяти?
Всё что внутри этого отработало, после этой строчки уже не в памяти.
(new a)->test();
Или я туплю сильно?)
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
volter9
15.02.2015 - 19:26
Цитата (stump @ 15.02.2015 - 16:27) |
Жутко интересна разница между Router::run(); и (new App('App'))->boot()->dispatch(Request::fromUrl()); |
На самом деле там происходят две разные вещи:
У меня на самом деле сначала много всего другого происходит до маршутизации, там инициализация фабрик, DI контейнера и конфигов. А после этого только маршрутизация.
ArchЯ могу написать:
$app = (new App('App'))->boot();
$app->dispatch(Request::fromUrl());
Но так получится что у меня создается переменная и уже последовательное ->dispatch() не может быть вызвано в линнию, а с помощью (new App('App')) я могу так сделать + таким образом я не засираю scope переменной $app :D
_____________
Мой блог
Блин.
Я же сам писал и забыл))) Вот что значит ждать три месяца. Ой голова садовая. Ведь в демке у меня это написано
Основных парадигм всего две. Императивная и декларативная. Есть еще несколько экзотических, не в них суть.
У нас одна парадигма. Императивная. Да, ООП, это тоже императив.
Различаются у нас
методологии.
Моя методология называется "
структурное программирование"
Методология
volter9 - естественно
ООП.
У
Arh процедурная методология.
Ну чтож, сути эксперемента это не меняет, даже наоборот, еще интереснее. Будем сравниаать три методологии.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата |
Классификация языков программирования — быдлокодерский расовый холивар, поражающий одеревеневшую кору головы множества программистов. Не отрицая того, что концентрация быдлокодеров, работающих на отдельных языках, по объективным причинам выше, чем на других, анонимус спешит заметить, что участники настоящей специальной олимпиады вместо того, чтобы расширять свой кругозор и изучить что-то новенькое, тратят тысячи времени на попытки доказать, чей язык программирования лучше. |
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Arh Но это все равно полезнее, чем лурку читать.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Из википедии.
Императивная парадигма- Процедурная
- Структурная
- Модульная
- Аспектно-ориентированная
- Объектно-ориентированная
- Агентно-ориентированная
- Компонентно-ориентированная
- Прототипно-ориентированная
- Обобщённое программирование
У меня скорее модульная тогда.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Цитата |
Одним из методов написания модульных программ является объектно-ориентированное программирование. ООП обеспечивает высокую степень модульности благодаря таким свойствам, как инкапсуляция, полиморфизм и позднее связывание. |
Если у меня есть библиотеки или модули, которые используют инкапсуляцию,полиморфизм и позднее связывание, значит это уже не процедурная, но и не ООП, хотя объекты тоже создаются, взять тот же pdo. Чёрт ногу сломит в этих методологиях.
_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Цитата |
У меня скорее модульная тогда. |
Похоже на то, если смотреть по структуре.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Игорь_Vasinsky
16.02.2015 - 10:18
в пух и прах.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker