• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Recenzja projektu CMS open source, nowy framework

0 głosów
265 wizyt
pytanie zadane 23 września w Nasze projekty przez goldpaid777 Nowicjusz (240 p.)
edycja 12 października przez goldpaid777

Cześć wszystkim,

Przede wszystkim chciałbym się przedstawić. Jestem Adam, i programuje hobbystycznie od 2006 roku, Swoje projekty robię for fun.

Moja historia z programowaniem rozpoczęła się, gdy grałem w knights.pl :D i potrzebowałem bota :D a później podobna postanowiłem zrobić podobna grę.. i tak po roku prób i błędów powstało rogue

Później robiłem kolejna grę z ekipa programista ale nie wyszło.. i tak po kilku latach zacząłem robić strony internetowe, było ich niewiele ... wtedy zdałem sobie sprawę, że potrzebuję czegoś, aby szybciej tworzyć witryny, próbowałem zainstalować ZEND który był jednym z popularnych frameworkow, ale to było trudne dla początkującego programisty, więc nie udało mi się zainstalować. To było moje złe doświadczenia z Frameworkami ...

W 2012 postanowiłem zrobić własnego i tak to trwało i trwa aż do dziś. Funkcje które miałem w początkowej wersji z tych czasów wciąż nie są zaimplementowane ale planuje wdrożenie ich w bieżącym projekcie.

W ciągu tych 5 lat rozwijałam się cały pomysł, czytałem, oglądałem, szukając ciekawych i użytecznych rozwiązań.

OnceBuilder jest moim najdłuższym projektem i bardzo czasochłonnym, robionym to z pasją.

bootstrap CMS

Dziękuję za każda recenzje  :)

komentarz 4 października przez rafal612b Pasjonat (23,690 p.)

Z grubsza syf nie wiadomo co i gdzie się dzieje.  Brak front controlera, brak composera, brak NPMa (dla zależności front-endu) Brak umiejetności pisania czystego kodu to jest tragedia :

https://github.com/oncebuilder/OnceBuilder/blob/master/class/routes.class.php#L155-L172

Tak się nie pisze unika się wielu zagłębień! Nazwa plików nie odpowiada nazwą klas w środku. Plik routes.class.php posiada klase once.

Brak przestrzeni nazw co bedzie kolidowało z dodaniem composera w przyszłości. 

Moje rady :

1. Rób na tym małe stronki dla siebie.

2. Przeczytaj książkę "czysty kod".

3. Naucz się composera (to tylko kilka instrukcji w konsoli ) 

4. Naucz się testów jednostkowych.

5. Po roku wróć i postaraj napisać sie to od nowa jeśli chcesz udostępniać to innym. Fragmenty które bedą ci sie podobać dalej zostaw i kopiuj ;)

komentarz 12 października przez goldpaid777 Nowicjusz (240 p.)
Z tym composerem to mnie trochę wystarszyles :(

Ale to jest konkretny komentarz, dziękuje!

5 odpowiedzi

+5 głosów
odpowiedź 23 września przez CenterPL Dyskutant (8,100 p.)

Spojrzałem tak bardzo szybko, ogólnie pierwsze wrażenie i to co zobaczyłem to pomieszanie z poplątaniem. Wszystkie klasy praktycznie w jednym katalogu, modelów ni kontrolera nie ma. Klasy, w sumie to klasa, jest gigantyczna. Ogólnie struktura katalogowa jest kiepska i nieintuicyjna. Autoloader? Nie widzę. Mieszasz php z htmlem, nie lepiej jakiś silnik templatek zatrudnić? Polecam twiga. Warto używać composera, przy okazji masz autoloader psr-0/4. 

Propos PSR to też, zamiast snake_case, w PHP piszemy camelCase, nazwy klas z wielkeij litery ClassName, nazwa pliku identyczna jak nazwa klasy. Używasz PHP 5.3 więc masz już namespace'y. Więcej o PSR tutaj: http://www.php-fig.org/psr/

Ogólnie to jednak lepiej by było gdybyś użył do tego frameworka, laravel, symfony, zend, albo chociaż mikroframeworka, np Silex, co by mieć podstawę MVC.

Nie przeglądałem pod wzgledem bezpieczeństwa, nie mam zbytnio czasu, ale jeszcze chyba wrócę żeby to dokładniej przejrzeć. 

Ogólnie fajnie, że się szlifujesz i pewnie projekt da Ci całkiem sporo umiejętności, ale niestety też złych nawyków może. No i polecam upgrade do PHP7. 

komentarz 23 września przez efiku Maniak (72,060 p.)
Dobrze napisane, od 2012 PHP przeszedł rewolucję o 180*.

Ja polecam zobaczyć na kod Symfony, będzie to jakaś podpora do zmian ;)
komentarz 24 września przez goldpaid777 Nowicjusz (240 p.)
Ok, wszystko git :) doceniam czas spędzony na sprawdzenie i dziękuje!
komentarz 24 września przez goldpaid777 Nowicjusz (240 p.)
Jak widać nie zawsze MVC sie sprawdza, nawet WordPress nie poszedł tym trendem, no może dlatego ze jest dość stary... a może i nie
komentarz 24 września przez efiku Maniak (72,060 p.)

Zobacz dług technologiczny WP

Do webdevu zazwyczaj się sprawdza ;)

komentarz 24 września przez Johny Podróżnik Nowicjusz (200 p.)
wordpress nie jest do poważnych rzeczy, do mikrostronek czy blogów pewnie, że tak. Dlatego został napisany łamiąc wszelkie standardy po kolei, aby był łatwy w obsłudze przez osoby kulejące w programowaniu. Niestety łamanie zasad czy wzorców w programowaniu jest super na krótką metę, gdy aplikacja lub strona się rozrasta, robi się spaghetti code i niestety sami twórcy aplikacji nie wiedzą co gdzie i dlaczego.
komentarz 24 września przez CenterPL Dyskutant (8,100 p.)
Wordpress to jest gówno od strony architektury. Smutne, ale prawdziwe. Pisanie pod to cokolwiek jest męczące, bo WP jest zacofany technologicznie.
komentarz 25 września przez efiku Maniak (72,060 p.)
Dlatego coraz więcej osób chcących po prostu mieć bloga, wybiera Jekyll'a :)
komentarz 3 października przez goldpaid777 Nowicjusz (240 p.)
link z długiem technologicznym był całkiem ciekawy :D już jestem ciekawe jaki dług ma to co napisałem :D dziękuje za wszystkie komentarze :)
+3 głosów
odpowiedź 23 września przez Boshi VIP (100,210 p.)

Za dużo kodu do oceniania, ale tak powierzchownie odnośnie php-a

brak jakiejkolwiek struktury plików

nie wiedzieć czemu każda klasa nazywa się once? 

masę zagnieżdżonego i powtarzalnego kodu w większości klas

nikt nie stosuje już konwencji z nazwą class w nazwie pliku. To zdaje się w javie było ale też od tego odeszli..

publiczne atrybuty

 

$_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 1;
			$_GET['ids'] = isset($_GET['ids']) ? $_GET['ids'] : '';
			$_GET['idsx'] = isset($_GET['idsx']) ? $_GET['idsx'] : '';
			$_GET['idsxs'] = isset($_GET['idsxs']) ? $_GET['idsxs'] : '';
			$_GET['option'] = isset($_GET['option']) ? $_GET['option'] : '';
			$_GET['type_id'] = isset($_GET['type_id']) ? $_GET['type_id'] : '';
			$_GET['category_id'] = isset($_GET['category_id']) ? $_GET['category_id'] : '';
			$_GET['sort_by'] = isset($_GET['sort_by']) ? $_GET['sort_by'] : 0;
			$_GET['query'] = isset($_GET['query']) ? $_GET['query'] : '';

jest równoznaczne z array_filter($_GET)

 

klasy to monolity robiąc wszystko

brak stosowania konwencji psr np  etykiety dostępu

Masz masę powtarzającego się wszędzie kodu. W sensi, pewnie robi coś tam innego, ale wygląda jak by był kopiowany i zmieniane tylko pewne atrybuty. To nie jest OOP.

Kompletnie nie potrafisz rozdzielić odpowiedzialności na klasy. W klasie user ładujesz setting mailera? co to ma wspólnego z klasą user?  tak samo w klasie users. Uploads to nie jest zależność z użytkownikiem bezpośrednia. To użytkownik z niej może tylko korzystać. 

zwracanie false jest bez sensu

 

brak composera to  oznacza, że instalacja nie jest szybka i prosta.

 

Powiem tak, jako projekt do portfolio przez pracodawcą, jest jak najbardziej ok, przez to, że włożone jest tyle pracy. Jednak jakościowo kod php-a jest baaaardzo słaby. Dziś już nikt nie pisze tak dużych projektów bez frameworków. Jeżeli chcesz poćwiczyć OOP to robisz mniejszy projekt robiąc własny system np modeli + query buildera. Starczy aby nauczyć się czegoś nowego. 

 

Js nie oceniam bo nie mam kompetencji. No i brakuje jakiegoś demo na stronie bo szczerze niby coś doczytałem, że projekt służy budowaniu a tak na prawdę nie wiadomo o co za bardzo w tym chodzi :)

 

 

komentarz 24 września przez goldpaid777 Nowicjusz (240 p.)
dziękuje i doceniam szczególnie za array_filter :)
+2 głosów
odpowiedź 24 września przez Johny Podróżnik Nowicjusz (200 p.)
Adamie,

* lajki na fejsie kupione,

* kod nadaje się do kosza, sorry

* angielski leży

 

z czym do ludzi? Jeśli robisz to hobbistycznie, to spoko, ale nie pisz bzdur typu "OnceBuilder is the most promising framework. Easy for beginners and professionals".

 

Nieobraź się, ale takie coś to ja pisałem w pierwszym roku nauki PHP 15 lat temu.

Jedynym słysznym full stack frameworkiem jest i będzie Symfony.
komentarz 25 września przez efiku Maniak (72,060 p.)

Jedynym słysznym full stack frameworkiem jest i będzie Symfony.

Zaraz nas zaczną wyzywać od fanbojów. :D 

komentarz 3 października przez goldpaid777 Nowicjusz (240 p.)
hah, ok spoko, a ile Ci płaca za promowanie Symfony i jego pochodnych? bo jak przeglądam konkretne oferty z web dev'u to coś słabo Symfony przedzie :) wiec nawet bym sobie dupy nie zawracał

PS. Osoba z 15letnim doświadczeniem miałby o wiele dojrzalsza wypowiedz, wiec daruj sobie.
komentarz 3 października przez CenterPL Dyskutant (8,100 p.)

Z całym szacunkiem dla Ciebie kolego, ale Symfony jest w Polszy najpopularniejszym frameworkiem. Tak jak na zachodzie jest to Larwa. Ja sam trafiam na mnóstwo ofert pracy, gdzie nawet jeśli nie jest wymagana znajomość Sf, tylko ogólna znajomość jakiegoś fw, to w pracy się go używa.

Osobiście sam skończyłem tworząc w Sf, chociaż dostałem wybór, ale nie żałuję, bo może krowa, ale jakie mleczko daje :D

komentarz 4 października przez Johny Podróżnik Nowicjusz (200 p.)
zapomnialem, ze tu coś napisałem :D

 

już spieszę z odpowiedzią.

 

* po pierwsze, Laravel jest popularny, tak samo jak jQuery w swiecie JS, dlaczego? Bo jest anti-pattern. Dlaczego? Bo developerzy o ubozszej wiedzy nie potrafia pisac poprawnie aplikacji, co zreszta widać po koledze, ktory zamiescil ten bubel tu. Laravel jest naprawde dobrym frameworkiem, ale do aplikacji, tudziez stron, ktore maja byc napisane na kolanie, wrzucone na serwer na rok i nara.

Gdy rozwijasz aplikacje, ktora trwa latami, uwierz mi, ze bedziesz pluł sobie w twarz, ze wybrales laravela.

* po drugie, Laravel bazuje na Symfony, wiec sukces zawdzięcza w duzej mierze Symfony,

Do powaznych rzeczy stosuj Symfony, podczas gdy laravel do prostych, pisanych przez tanich developerow. Tak moi drodzy, tak jak dziwki, sa i tanie i te drogie, tak samo jest z devami :) jedni pracuja za grube ojro, a drudzy reklamuja się na olx ;)
komentarz 4 października przez Johny Podróżnik Nowicjusz (200 p.)

hah, ok spoko, a ile Ci płaca za promowanie Symfony i jego pochodnych? bo jak przeglądam konkretne oferty z web dev'u to coś słabo Symfony przedzie :) wiec nawet bym sobie dupy nie zawracał

PS. Osoba z 15letnim doświadczeniem miałby o wiele dojrzalsza wypowiedz, wiec daruj sobie.

Haha grubo. NIe chce mi sie tracić czasu na pisanie co jest nie tak z Twoja aplikacja, bo gdyby ona byla naprawde cos warta, to wrzucilbym swoje dwa cenne centy, ale w tym przypadku, no sorry, szkoda czasu.

 

Nie wiem na jakie oferty patrzyleś, ale Symfony jest ligą, tam gdzie potrzebują prawdziwych developerow, a nie tych z olx. Zapewne laravel króluje wśród cymbałów, albo uczących się dopiero.

 

DISLAIMER:

Pracuje od 10 lat dla europejskich firm, rozwijam rowniez wlasne oprogramowanie, ktore jest uzywane na calym swiecie w milionach userach (nie powiem jakie, bo mi googiel zindeksuje).

 

Przeprowadzilem wiele interviews na zachodzie, szukając pracownikow dla swojej firmy lub dla firm, w ktorych jestem CTO (tych firm jest 4). I stweeeerdzam, ze dzis brakuje naprawdę dobrych developerow. Ci mądrzejsi, albo pracują na swoich oprogramowaniach, albo jako freelancerzy, ale niestety taki nie pojdzie jebac 8h w biurze dla jakiejs korpo za standardowe stawki, podczas gdy na freelancingu zarobi więcej.

0 głosów
odpowiedź 24 września przez goldpaid777 Nowicjusz (240 p.)
czy ktoś byłby wstanie doimplementować composera odpłatnie :D priv
komentarz 24 września przez efiku Maniak (72,060 p.)
Raczej zrób sobie composer init w nowym projekcie i przenoś sobie powoli, oczywiście git byłby tutaj najlepszym rozwiązaniem, zrobisz commit a jak coś się nie spodoba to rollback
komentarz 3 października przez goldpaid777 Nowicjusz (240 p.)
no właśnie mi się nie podoba odpalanie z cmd konsoli :D ale wiem ze możne to by pozwolili na poszerzenie horyzontów, tylko ze dla mnie :D dla początkującego jest ciężko :D ale dziękuje za sugestie :)
komentarz 4 października przez Johny Podróżnik Nowicjusz (200 p.)

no właśnie mi się nie podoba odpalanie z cmd konsoli :D ale wiem ze możne to by pozwolili na poszerzenie horyzontów, tylko ze dla mnie :D dla początkującego jest ciężko :D ale dziękuje za sugestie :)

 

 

jak Ci sie nie chce robic w konsoli, to zapomnij o php.

0 głosów
odpowiedź 12 października przez goldpaid777 Nowicjusz (240 p.)
dziękuje za wszystkie komentarze :) mały updacik juz jest a większy się szykuje
komentarz 12 października przez CenterPL Dyskutant (8,100 p.)
Co zmieniłeś? Ostatni commit 20 dni temu.

Podobne pytania

+4 głosów
2 odpowiedzi 601 wizyt
pytanie zadane 9 kwietnia 2015 w PHP, Symfony, Zend przez Nehel Dyskutant (7,840 p.)
0 głosów
1 odpowiedź 105 wizyt
pytanie zadane 10 października w PHP, Symfony, Zend przez xandros Nałogowiec (29,350 p.)
0 głosów
2 odpowiedzi 408 wizyt

42,361 zapytań

81,636 odpowiedzi

162,024 komentarzy

20,287 pasjonatów

Przeglądających: 110
Pasjonatów: 2 Gości: 108

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...