DaVinci Posted July 25, 2018 Report Share Posted July 25, 2018 (edited) Набросал наймспесы https://github.com/simpladevru/simpla-namespace открываем двери в мир https://getcomposer.org будет продолжение... - добавил namespace - удалил папку smarty - удалил PclZip - подправил проверку лицензии (на локальном с портом есть баг) - добавил докер Edited November 6, 2020 by DaVinci Quote Link to post Share on other sites
Maksclub Posted July 25, 2018 Report Share Posted July 25, 2018 (edited) - переходим на InnoDB и чистим код, привет FK Вагрант прицеплю ближайшее время, пока наброски через Homestead, Миграции подтяну тоже (Phinx, у меня реализовано уже, но надо почистить...)...и публичную папку, правда со всей админкой вот схема: http://forum.simplacms.ru/topic/13401-%D0%BA%D1%82%D0%BE-%D0%BD%D0%B8%D0%B1%D1%83%D0%B4%D1%8C-%D0%B2%D1%8B%D0%BD%D0%BE%D1%81%D0%B8%D0%BB-%D1%82%D0%BE%D1%87%D0%BA%D1%83-%D0%B2%D1%85%D0%BE%D0%B4%D0%B0-%D0%B2-%D0%BF%D0%B0%D0%BF%D0%BA%D1%83-public/page-2?do=findComment&comment=105850 Edited July 25, 2018 by Maksclub Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) и чистим код, привет FK Вагрант прицеплю ближайшее время, пока наброски через Homestead, Миграции подтяну тоже (Phinx, у меня реализовано уже, но надо почистить...)...и публичную папку, правда со всей админкой вот схема: http://forum.simplacms.ru/topic/13401-%D0%BA%D1%82%D0%BE-%D0%BD%D0%B8%D0%B1%D1%83%D0%B4%D1%8C-%D0%B2%D1%8B%D0%BD%D0%BE%D1%81%D0%B8%D0%BB-%D1%82%D0%BE%D1%87%D0%BA%D1%83-%D0%B2%D1%85%D0%BE%D0%B4%D0%B0-%D0%B2-%D0%BF%D0%B0%D0%BF%D0%BA%D1%83-public/page-2?do=findComment&comment=105850 fk влетит первую очередь)) дамп почти готов установщик уже переехал на php 7.1 Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
Noxter Posted July 25, 2018 Report Share Posted July 25, 2018 (edited) Красавчик что тут скажешь! И всё же глобальное наследование осталось( Edited July 25, 2018 by Noxter Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Затащил FK https://github.com/simpladevru/simpla-namespace/blob/master/simpla/update/simpla.sqlПо коду пересмотрел, удалил что лишнее. Возможно что то упустил... Если что поправим. Теперь забываем о том что бы чистить связи через php и мусоре в базе, все удаляется и обнуляется самой базой, думаем только о привязанных файлахКрасавчик что тут скажешь!И всё же глобальное наследование осталось(Screenshot_1.png еще не правил, все будет. тут правда вариантов может быть множество Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
Noxter Posted July 25, 2018 Report Share Posted July 25, 2018 Советую обратить внимание на: 1. https://github.com/SimplaCMS-PRO/Simpla/blob/master/api/Settings.php 2. https://github.com/SimplaCMS-PRO/Simpla/blob/master/api/Config.php Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Советую обратить внимание на:1. https://github.com/SimplaCMS-PRO/Simpla/blob/master/api/Settings.php2. https://github.com/SimplaCMS-PRO/Simpla/blob/master/api/Config.php ну по ссылке Settings.php наследуется от Simpla это не то... Simpla на данный момент выполняет роль Multiton и все классы наследуется от него. Так вот от extends надо избавиться. Возможно в Simpla пробросить DI хотя на кой тогда вообще simpla.php, хз... очевидно надо экспериментировать а еще лучше если у кого есть мнение на данный счет можно обговорить. Желательно конечно в итоге прийти к скромному Service Locator Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
Noxter Posted July 25, 2018 Report Share Posted July 25, 2018 Да от extends нужно давно избавится. Quote Link to post Share on other sites
yr4ik Posted July 25, 2018 Report Share Posted July 25, 2018 ну по ссылке Settings.php наследуется от Simpla это не то... Simpla на данный момент выполняет роль Multiton и все классы наследуется от него. Так вот от extends надо избавиться. Возможно в Simpla пробросить DI хотя на кой тогда вообще simpla.php, хз... очевидно надо экспериментировать а еще лучше если у кого есть мнение на данный счет можно обговорить. Желательно конечно в итоге прийти к скромному Service Locator Если я правильно понял, то под DI подразумевается передача объекта simpla в конструктор класса созданный же через Simpla? Если так то, но мой взгляд, уже практичней использовать какую нибудь автозагрузку классов или класс simpla с статическими методами: simpla::api('products')->get_products(); Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Если я правильно понял, то под DI подразумевается передача объекта simpla в конструктор класса созданный же через Simpla? Если так то, но мой взгляд, уже практичней использовать какую нибудь автозагрузку классов или класс simpla с статическими методами: simpla::api('products')->get_products(); можно так или Simpla:$app->products->get_products() или simpla('products')->get_products() вариантов множество Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
yr4ik Posted July 25, 2018 Report Share Posted July 25, 2018 (edited) Лучше через класс и методы мне кажется. То static в функции как то дико смотрится, а через метод и класс - тогда можно обдумать различные роутеры и расширения типа: simpla::api('products/petya_products')->get_products(); или же сатические маг. методы. А если через переменные - то будет проблематично создавать объекты по вызову Edited July 25, 2018 by yr4ik Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Лучше через класс и методы мне кажется. То static в функции как то дико смотрится, а через метод и класс - тогда можно обдумать различные роутеры и расширения типа: simpla::api('products/petya_products')->get_products(); или же сатические маг. методы. а что это products/petya_products? как бы все репозитории и сущности предположительно вообще не относятся к реализации самого приложения. и их необходимо юзать. от того такая боль от переделки чего либо. я могу положить реализацию своего репозитория где-нибудь в отдельной директории или вообще подтянуть с композера суть контейнера в том что бы пробросить в него сконфигурированные запчасти приложения. на данный момент этого воообще не возможно сделать так как все api ничего не принимают в свой конструктор при создании своих экземпляров. для того что бы подтянуть что то подобное если уж хочется положить репозиторий в стартовую загрузку приложения simpla::api('products/petya_products')->get_products(); то вероятнее всего я бы использовал интерфейс, который согласует все реализации. simpla::api(Products::class)->get_products(); и если Петя нигде не накосячить то сайт продолжит работать в прежнем режиме, измениться только суть реализации репозитория interface Products { public function get_products($filter): array; public function count_products($filter): array; } class PatyaProducts implements Products { public function get_products($filter): array { ... } public function count_products($filter)($filter): array { ... } } Simpla::$container->singleton(Products::class, PatyaProducts::class); или Simpla::$container->set(Products::class, function() { return new PatyaProducts(); }); но это все теория. Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 да и собственно докблок для такой записи simpla::api('products/petya_products') сложно сочинить, разве что прописывать его при каждом вызове Quote Link to post Share on other sites
yr4ik Posted July 25, 2018 Report Share Posted July 25, 2018 products/petya_products это я так просто написал для примера. Подразумевал поочередный инклуд апишек и конструкт последнего с extends предыдущего. Ну это так себе конечно. Но можно поковырять в этом направлении. Возможно что то по по расширению функционала можно придумать. Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) products/petya_products это я так просто написал для примера. Подразумевал поочередный инклуд апишек и конструкт последнего с extends предыдущего. Ну это так себе конечно. Но можно поковырять в этом направлении. Возможно что то по по расширению функционала можно придумать. вы уже на данном этапе можете положить свой собственный репозиторий в любую директорию сайта, да хоть новую, указать у него наследование о чего угодно если надо, и пользоваться им в контролере - автозагрузку классов обеспечивает композер. больше думать о том где лежит тот или иной класс не надо, указываете неймспейс в соответствии с файловой структурой и все. Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
Kosjak76 Posted July 25, 2018 Report Share Posted July 25, 2018 Ребят, как по мне - вы херней занимаетесь))Потому что Симпла - она изначальна сделана ДЛЯ КЛИЕНТА Если любой из вас мне покажет - 3 клиента, которые хотя бы слышали про КОМПОЗЕР - тогда я реально соглашусь, что это надо хоть кому-то... Quote Link to post Share on other sites
Noxter Posted July 25, 2018 Report Share Posted July 25, 2018 Ребят, как по мне - вы херней занимаетесь)) Потому что Симпла - она изначальна сделана ДЛЯ КЛИЕНТА Если любой из вас мне покажет - 3 клиента, которые хотя бы слышали про КОМПОЗЕР - тогда я реально соглашусь, что это надо хоть кому-то...Это нужно в первую очередь для разработчиков так как упростит разработку в разы. Имхо симпла морально устарела. Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Ребят, как по мне - вы херней занимаетесь))Потому что Симпла - она изначальна сделана ДЛЯ КЛИЕНТА Если любой из вас мне покажет - 3 клиента, которые хотя бы слышали про КОМПОЗЕР - тогда я реально соглашусь, что это надо хоть кому-то... я могу показать "100" разработчиков которые не возьмутся за поддержку проекта который не способен подтянуть уже ГОТОВЫЕ пакеты которых тысяч в открытом доступе. Это сегодняшняя реальность! Клиент - это значит человек который совсем ни в чем не разбирается и хочет сделать сайт сам? так ему и симла сложной будет. Такое движение изначально обреченно на провал вне зависимости знает он что такое композер или нет. да и собственно даже такой категории пользователей не обязательно знать что такое композер - изначальное обновление композера можно включить в процесс установки. тем более там на данный момент всего два пакета которые в принципе и так лежали в архиве симплы но где не попадя. теперь же ил можно автоматические обновлять или тот же смерти менять на любой другой шаблонизатора (в перспективе) так кто при таких раскладах в минусе? Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
phukortsin Posted July 25, 2018 Report Share Posted July 25, 2018 ...подтянуть уже ГОТОВЫЕ пакеты которых тысяч в открытом доступе. Звучит заманчиво. А можно пару примеров таких пакетов и способов внедрения? Можно ли с их помощью, решить что-то из реально полезных давно назревших задач для Simpla? Например, интересные задачи:1. сделать произвольную адресацию без /products и /catalog,2. реализовать мультиязычность,3. подключить модуль доставки, скажем, Укр Почты по их API. Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Звучит заманчиво. А можно пару примеров таких пакетов и способов внедрения? Можно ли с их помощью, решить что-то из реально полезных давно назревших задач для Simpla? Например, интересные задачи:1. сделать произвольную адресацию без /products и /catalog,2. реализовать мультиязычность,3. подключить модуль доставки, скажем, Укр Почты по их API. в том виде в котором сейчас находится Симпла - комфортно нельзя, только с костылями. но при наличии соответствующей инфраструктуры проэкта почему бы нет https://packagist.org/?query=ukrpo мультиязычность или маршрутизацию это вообще можно не обсуждать, их сотни https://packagist.org/packages/flinebux/ukrposhta-api?query=router очевидно вы еще не пользовались, посмотрите там много интересных вещей Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
Noxter Posted July 25, 2018 Report Share Posted July 25, 2018 очевидно вы еще не пользовались, посмотрите там много интересных вещейКорс слишком стар чтобы понимать новые технологии. Quote Link to post Share on other sites
Kosjak76 Posted July 25, 2018 Report Share Posted July 25, 2018 Знае6шь, тут я вдруг согласен с КОРСОМСимпла сделана для ЛЮДЕЙ, а не для композера)))Если кто-то будет типа базарить за композер - я ЛЮБОМУ желающему - дам поставить КОМПОЗЕР на реальном ХОСТЕВот именно там, где всем ПОХУЮ на все они ПРИБЛИЗИТЕЛЬНО на этом языке оазговаривают Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 (edited) Знае6шь, тут я вдруг согласен с КОРСОМСимпла сделана для ЛЮДЕЙ, а не для композера)))Если кто-то будет типа базарить за композер - я ЛЮБОМУ желающему - дам поставить КОМПОЗЕР на реальном ХОСТЕВот именно там, где всем ПОХУЮ на все они ПРИБЛИЗИТЕЛЬНО на этом языке оазговаривают давайте любой хостинг странная фраза - симла сделана для людей... все остальное не для людей... Симла сделана на PHP и с тех пор когда она была сделана сам php ППЦ как шагнул в перед!!! На нормальный хостинг ее просто тупо не поставить! То есть нормальные хостинги не для нормальных людей? Очнись скоро 7.1 повсеместно будет а она просто тупо не устанавливается на него)))) Где кеш для нормальных людей?Где транзакции для целостности данных для нормальных людей?Где эластиксерч для нормальных людей с большим количеством товаров?Где миграции для нормальных людей? Почему я не могу посмотреть все правки базы, мне надо перекидываться голыми запросами если я работаю в команде? это просто космос как нормально!!!!Где тесты для нормальных людей что бы они сутками не перепроверяли работает ли их сайт после очередной правки?Где человечески рестапи?Да блин, где нормальное логирование???require в каждом файле это для нормальных людей??? И почему сам Денис выкладывает репозиторий в гид? Ведь у заказчиков мозг закипит от одного понимания для чего он нужен и как им пользоваться...Корс бедолага не может реализовать нормальны роутер для заказчиков не изнасиловав симплу в доль и поперек это нормально?... продолжать можно долго... что конкретно кроется под НОРМАЛЬНЫХ ЛЮДЕЙ я не знаю... наверное для НАИВНЫХ людей. Получается что нормальные люди если им нравится концепция симплы не могут пользоваться нынешним прогрессом... и это нормально. Для чего тогда в сиплее вообще использовать классы? это ведь не совсем нормально с точки зрения нативного php который вообщем то сам по себе просто шаблонизатор? Или давайте уберем jquery есть голый javascript! А вместо базы будем использовать файлы! И вообще давайте сожжем всех ООП-ников на костре потому что они богохульники, а функциоанльщики вообще не с этой планеты. Просто смех..... Простота это не означает полная деградация... Edited July 25, 2018 by DaVinci Quote Link to post Share on other sites
DaVinci Posted July 25, 2018 Author Report Share Posted July 25, 2018 и вообще зачем тут устраивать срач? Quote Link to post Share on other sites
phukortsin Posted July 25, 2018 Report Share Posted July 25, 2018 (edited) в том виде в котором сейчас находится Симпла - комфортно нельзя, только с костылями. но при наличии соответствующей инфраструктуры проэкта почему бы нет https://packagist.org/?query=ukrpo мультиязычность или маршрутизацию это вообще можно не обсуждать, их сотни https://packagist.org/packages/flinebux/ukrposhta-api?query=router очевидно вы еще не пользовались, посмотрите там много интересных вещей А можно какой-нибудь пример? Не могли бы Вы для примера выбрать из тысяч пакетов один средней сложности и написать, как его "подтянуть". По возможности, чтобы владельцу сайта на Simpla с опытом установки доработок было понятно. Пусть хотя бы и с костылями - потерпим, на этом форуме доработки без костылей - редкость... Edited July 25, 2018 by phukortsin Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.