DemonicCMS

0

Jako, że głównie programowałem w C lub posługiwałem się gotowymi Frameworkami JS/PHP, to postanowiłem się nauczyć rdzenia PHP. W tym celu wybrałem sobie za cel stworzenie bardzo małego systemu CMS. Zacząłem od własnego Frameworka, by sobie zadanie nieco utrudnić. By nie marnować czasu na wymyślanie koła na nowo, bo i tak pewnie nie zrobię tego lepiej, to postanowiłem wzorować się na SilverStripe.

Jeszcze inna kwestia. Kiedyś chciałem stworzyć możliwość uruchamiania kodu PHP po stronie przeglądarki. Nie starczyło mi czasu i samozaparcia. Okazało się, że ktoś zrobił to za mnie, a łatka, by wszystko działało jest niesamowicie krótka! Tak więc postanowiłem, że mój Framework umożliwi posługiwanie się specjalnymi klasami, które będą wysyłać kod PHP do wykonania po stronie przeglądarki, a więc programista nie będzie musieć uczyć się JS! Tak dla zabawy, bo skoro jest NodeJS, to czemu nie spopularyzować PIB (PHP in Browser)? Napiszę np. klasę o nazwie document, która będzie singletonem i będzie udostępniać metodę __get, a po jej wywołaniu będzie zwracany specjalny obiekt o unikalnym numerze i posiadający metody __get i __call. Wywołanie __call także będzie coś robić, a potem taki stos będzie lecieć do przeglądarki. Tak przynajmniej planuję.

Jako, iż mój systemik obecnie dostarcza tylko podstawowy mechanizm ładowania kontrolerów, klas i podstawowy mechanizm szablonów. to czekam na ocenę - większy system trudniej będzie oceniać. Zacząłem się uczyć rdzenia PHP i te parę poświęconych dni czeka na ocenę ich pracy... a raczej ja czekam na ocenę mojej pracy.

Kod obecnie jest na GPLv3, bo uznałem, że nie mam czasu na zapoznawanie się z każdą licencją OpenSource, a jako iż w PHP tworzyłem komercyjne projekty, a w C, głównie dla zabawy, otwarto źródłowe, to wybrałem licencję, którą znałem. Nie mniej, jeżeli komuś zależy, to mogę ją zmienić.

Kod jest na GitHub-ie:
https://github.com/nintyfan/PHP-PIB-DemonicCMS

0

Bez przykładów oraz README za dużo nie da się niestety powiedzieć ;-)

0
Patryk27 napisał(a):

Bez przykładów oraz README za dużo nie da się niestety powiedzieć ;-)

Przykład jest w main_app. Jest też test-app-1 i test-app-2, ale to są raczej testowe przykłady. Obecnie nie da się za dużo zrobić. Nawet nie ma query buildera lub czegoś w ten deseń. Jest tylko system szablonów, który dodatkowo nie obsługuje żadnych wyrażeń logicznych - można umieszczać  wyrażenia logiczne php, które wykonuje eval, dodając return przed ciągiem pobranym z szablonu. Za bezpieczne to nie jest, więc planuję to zmienić.

0

SilverStripe to MVC, nie ma dokumentacji, kilka kontrolerów tylko widzę, ja dałem se spokój, jest kilkadziesiąt sprawdzonych frameworków/cmsów na rynku, po co przywozić drewno do lasu ;)

0
czysteskarpety napisał(a):

SilverStripe to MVC, nie ma dokumentacji, kilka kontrolerów tylko widzę, ja dałem se spokój, jest kilkadziesiąt sprawdzonych frameworków/cmsów na rynku, po co przywozić drewno do lasu ;)

Piszę CMS, bo chciałem się nauczyć PHP, a wybrałem PIB jako dodatek, bo chciałem napisać nietuzinkowy projekt. Coś, co pozwoli mi przyciągnąć innych developerów lub zabłysnąć przy najmniejszym nakładzie pracy.

0

Raczej mało którego języka da się nauczyć pisząc własny framework - zwyczajowo to do napisania frameworka trzeba najpierw mieć ogromną wiedzę z danego języka :-)

IMO lepiej by było, gdybyś spróbował zaklepać jakąś zwyczajną aplikację - coś do zarządzania finansami, może własny menedżer haseł (z dodatkiem do wybranej przeglądarki w ramach zadania z gwiazdką) itd.

0
Patryk27 napisał(a):

Raczej mało którego języka da się nauczyć pisząc własny framework - zwyczajowo to do napisania frameworka trzeba najpierw mieć ogromną wiedzę z danego języka :-)

IMO lepiej by było, gdybyś spróbował zaklepać jakąś zwyczajną aplikację - coś do zarządzania finansami, może własny menedżer haseł (z dodatkiem do wybranej przeglądarki w ramach zadania z gwiazdką) itd.

Menadżer haseł.... Masz na myśli 0auth, openid czy inne ustrojstwo?

0

Bitwarden, LastPass - w tym stylu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1