Jump to content

Recommended Posts

  • Replies 236
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

И ещё

 

действительно вcе поломал)) поправил, обновил. По бд сейчас не скажу, перепроверю, возможно разные версии бд. можешь воткнуть стандартную, отличия только во внешних ключах 

 

--------------------------------------------------------------------

 

FACADE

 

--------------------------------------------------------------------

 

$page = Simpla::$container->pages->get_page('404');

 

Можно писать и так, но для автоподстановки и краткой записи создаются фасады. Сам механизм прост, пример (он не полный но рабочий)

 

https://github.com/simpladevru/simpla-namespace/blob/master/api/components/facade/Facade.php

 

Создаем сам фасад, по факту это просто инструкция

https://github.com/simpladevru/simpla-namespace/blob/master/api/facades/Pages.php

 

и теперь все методы класса можно вызвать статично, работает автоподстановка

 

https://github.com/simpladevru/simpla-namespace/blob/71f8d1e0e0f4606d962fdf5329ad38648c0fa8dc/view/PageView.php#L24

 

$page = Pages::get_page($id);

 

http://prntscr.com/ky0ji0

Edited by DaVinci
Link to post
Share on other sites

Есть и другой подход для автоподстановки контейнера

 

Можно унаследовать от контейнера https://github.com/simpladevru/simpla-namespace/blob/c9e570ed84cf619fe5c0bd6b9b06025ff304af97/api/Simpla.php#L45

 

Вместо контейнера устанавливаем self

https://github.com/simpladevru/simpla-namespace/blob/c9e570ed84cf619fe5c0bd6b9b06025ff304af97/api/Simpla.php#L72

 

Теперь симпла сама я вляеться контейнером. А сайт продолжает работать по прежнему. Док блок у нас уже прописан потому можно обратиться к страницам и так

 

$page = Simpla::getInstance()->pages->get_page($url);

 

https://github.com/simpladevru/simpla-namespace/blob/c9e570ed84cf619fe5c0bd6b9b06025ff304af97/view/PageView.php#L28

 

Работает автоподстановка. все методы равнозначны



Я так и подумал, отложил на потом?

 

ну это наброски, очень много вариантов реализации. Даже с тем же контейнером не все так просто. Если данное направление будет интересно могу начисто собрать симплу ООП  :)  

Edited by DaVinci
Link to post
Share on other sites

ну это наброски, очень много вариантов реализации. Даже с тем же контейнером не все так просто. Если данное направление будет интересно могу начисто собрать симплу ООП  :)

Ждёмс!
Link to post
Share on other sites

начал набрасывать админку. На данный момент пишу CRUD, после займусь связями и опубликую промежуточный результат.

 

http://prntscr.com/l17524

http://prntscr.com/l1758t

Оставь дизайн на мне, я планирую использовать MDL, нечто похожее на limitless.
Link to post
Share on other sites

Если будет коммерческий продукт, то придётся выложить 1200$.

 

дело то в том что даже если сделать опенсурс, то каждая копия ИМ является коммерческой. Я потому решил на данный момент делать на b4 технический макет.

 

Но блин, красивая админка, пробежался там плюшек конечно ппц много

 

можно ведь в перспективе позаимствовать необходимые элементы и творчески обогатить)) 

Edited by DaVinci
Link to post
Share on other sites

дело то в том что даже если сделать опенсурс, то каждая копия ИМ является коммерческой. Я потому решил на данный момент делать на b4 технический макет.

 

Но блин, красивая админка, пробежался там плюшек конечно ппц много

 

можно ведь в перспективе позаимствовать необходимые элементы и творчески обогатить))

По ссылке админка на BS3, вышла недавно на BS4 но она сырая до ужаса.

Набросок:

post-347-0-69682600-1538484435_thumb.png

Edited by Noxter
Link to post
Share on other sites

По поводу URL как пом не то правильнее будет использовать module/method/id т.е. backend/pages/view|edit/id

На скрине стандартная маршрутизация ресурсного контроллера

 

GET /photos index photos.index
GET /photos/create create photos.create
POST /photos store photos.store
GET /photos/{photo} show photos.show
GET /photos/{photo}/edit edit photos.edit
PUT/PATCH /photos/{photo} update photos.update
DELETE /photos/{photo} destroy photos.destroy
Edited by DaVinci
Link to post
Share on other sites

На скрине стандартная маршрутизация ресурсного контроллера

 

GET /photos index photos.index

GET /photos/create create photos.create

POST /photos store photos.store

GET /photos/{photo} show photos.show

GET /photos/{photo}/edit edit photos.edit

PUT/PATCH /photos/{photo} update photos.update

DELETE /photos/{photo} destroy photos.destroy

Пример контроллера страницы пожалуйста.
Link to post
Share on other sites

Пример контроллера страницы пожалуйста.

 

код?

 

вариантов реализации множество... это как тебе удобно. к примеру контроллер некой группы https://github.com/darryldecode/laravel-starter-kit/blob/master/app/Http/Controllers/Admin/GroupController.php

 

вот какой то пост https://github.com/Webwarriorz/demo-laravel-test-blog/blob/master/app/Http/Controllers/PostsController.php

 

страница https://github.com/orchidsoftware/platform/blob/master/src/Platform/Http/Controllers/Posts/PageController.php

Edited by DaVinci
Link to post
Share on other sites
  • 1 year later...
  • 2 months later...
В 25.07.2018 в 10:31, DaVinci сказал:

Набросал наймспесы https://github.com/simpladevru/simpla-namespace

 

открываем двери в мир https://getcomposer.org  :) будет продолжение...

 

- добавил namespace 

- удалил папку smarty

- удалил PclZip

- подправил проверку лицензии (на локальном с портом есть баг)

 

---------------

 

далее 

- отвязываемся от глобального наследования

- добавляем вагрант

- переходим на InnoDB

и много другой крути если энтузиазма хватит  :)

Вы так и не поняли для чего разрабатывался этот вдижок и какое у него предназначнине. Думаю автор всё это мог сделать изначально, но тогда потерялся бы смысл простоты системы, а на данный момент это его самый большой плюс. Предлагаю туда еще Active Record закинуть :) и от АПИ можно отказаться.

Edited by a13x
Link to post
Share on other sites
14 часов назад, makki сказал:

OkayCMS в 3-й версии пошел этим путем, но пока пользы не заметно ни для пользователя ни для разработчика...

Они как делали всё через жопу так и продолжают делать также, лишь инструмент меняют. Болячки симплы до сих пор кочуют из версии в версию ?‍♂️

Попробуйте в том убогом окае третьей версии сделать ну скажем управление баннерами из админки, и сколько займет времени сделать это на симпле.

Edited by Noxter
krsmdk
Link to post
Share on other sites
1 hour ago, Noxter said:

Они как делали всё через жопу так и продолжают делать также, лишь инструмент меняют. Болячки симплы до сих пор кочуют из версии в версию ?‍♂️

Попробуйте в том убогом окае третьей версии сделать ну скажем управление баннерами из админки, и сколько займет времени сделать это на симпле.

Я сейчас не про это. Я про то, что непонятно приведет ли рефакторинг Симплы в полный ООП с полиморфизмом и модульностью как в Okay к ощутимым преимуществам. Точно могу сказать, что сложность разработки усложнится в разы и система станет тугодумающей и прожорливой.

Link to post
Share on other sites

По материалам форума Okay ПОНЯТНО, что к ощутимым преимуществами НЕ приведет. А отрицательных последствий масса. В частности, система будет потреблять ресурсов в разы больше...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...