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

Pracujmy razem nad kodem forum!

+27 głosów
1,967 wizyt
pytanie zadane 26 czerwca 2016 w Sprawy forum przez Arkadiusz Waluk Ekspert (250,610 p.)

Miło jest mi poinformować, że kod naszego forum jest już dostępny dla każdego. Każdy może więc pomóc w rozwoju forum, dopisać coś od siebie czy poprawić – wszystko w miarę chęci i możliwości.

 

Link do repozytorium z maszyną deweloperską forum:
https://github.com/CodersCommunity/forum.pasja-informatyki.local

 

Małe FAQ z najważniejszymi pytaniami jakie przyszły mi do głowy.

  • Przecież kod Question2Answer jest od zawsze dostępny na GitHubie, po co udostępniać jeszcze raz to samo?

Tak, kod Q2A jest dostępny w tym miejscu, ale kod działający aktualnie na forum posiada sporo naszych zmian i poprawek. Dlatego dużo wygodniej jest pracować bezpośrednio na właściwym kodzie.

  • Czy ja też mogę wprowadzić swoją zmianę?

Oczywiście, że tak. Możesz wprowadzić dowolną zmianę. Warto jednak, abyś najpierw zapytał co sądzą o tym inni – czy to przez issue w repozytorium, czy na IRC, czy nawet mnie w wiadomości prywatnej. Jakkolwiek, ale zasięgnij opinii innych, abyś nie napracował się nad zmianą na darmo. Z różnych względów nie każda zmiana może być wprowadzona.

  • Czy to jest bezpieczne? Czy ktoś to kontroluje?

Tak, wszystko jest w pełni bezpieczne. Wrzucanie kodu na główną gałąź master jest zablokowane, każdy pracuje na swojej gałęzi i główny kod nie zostanie zmodyfikowany przez niepowołane osoby. Dodatkowo każda zmiana jest sprawdzana przez kilka osób, prowadzimy dyskusję o kodzie danej zmiany i dopiero zmiana przesyłana jest na serwer produkcyjny forum – wprowadzenie do źródła forum nieporządnego kodu jest więc wręcz niemożliwe.

  • Co trzeba umieć, aby móc wprowadzać zmiany?

Skrypt naszego forum napisany jest głównie w PHP. Rzecz jasna używany jest też HTML, CSS, JavaScript i trochę SQLa do operacji na bazie danych MySQL. Dodatkowo należy znać przynajmniej podstawy Gita i GitHuba, aby możliwa była współpraca z innymi. Przydają się też podstawy Vagranta, aby móc zainstalować maszynę z kodem forum.

  • Jak pobrać i uruchomić aktualną wersję forum?

Ze względu na wygodę i łatwość pracy została przygotowana specjalna maszyna wirtualna z użyciem oprogramowania Vagrant, która automatycznie instaluje całe potrzebne oprogramowanie (m.in. Apache, PHP, MySQL) i wgrywa bazę danych. Po zainstalowaniu wszystkiego raz maszyna z całą konfiguracją forum uruchamia się jednym poleceniem. Pełna instrukcja instalacji dostępna jest tutaj.

  • Nie mam możliwości użycia Vagranta/Nie umiem go zainstalować/Nie udaje mi się instalacja. Czy to już koniec, nie mogę pomóc przy zmianach na forum?

Stanowczo zalecamy, aby użyć Vagranta – jest to szybki sposób na skonfigurowanie całego środowiska. Jeśli jednak bardzo nie chcesz/nie możesz go użyć, możesz wgrać normalnie pliki forum (folder forum/ z repozytorium) do Twojego serwera lokalnego oraz zaimportować bazę danych (z pliku dump/forum.sql). Krótką instrukcję wykonania instalacji w taki sposób przygotował użytkownik Krzycho92. Pamiętaj jednak, polecamy dokonać instalacji przy użyciu Vagranta.

  • Jak dodać własną zmianę w kodzie forum?

Zacznij od pobrania kodu i przygotowania środowiska. Później stwórz gałąź z nazwą opisującą wprowadzaną zmianę – dla każdej zmiany zrób nową gałąź, aby zachować porządek. Gdy będziesz gotowy wrzuć gałąź ze zmianami do repozytorium. Na koniec należy założyć pull request (prośbę o połączenie z główną gałęzią). Po sprawdzeniu Twojego kodu zostanie on dołączony do gałęzi master i gotowe.

Jak już wspominałem wcześniej – warto jednak najpierw lub w międzyczasie zapytać innych co sądzą o danym pomyśle – np. przez issue. Nie ma sensu, abyś robił daną zmianę, gdy nie będzie ona mogła być wprowadzona. Co ważne, aby móc wrzucić swoją poprawkę należy być członkiem grupy CodersCommunity na GitHubie – jeśli nim nie jesteś, możesz poprosić o zaproszenie podając np. mi swój nick z GitHuba. Inną opcją jest zrobienie forka repozytorium i to na nim nanoszenia swoich zmian, które później zostaną dołączone do naszego kodu.

 

Mam nadzieję, że w ten sposób wyjaśniłem wszystkie kwestie. Już z tego miejsca dziękuję każdemu za każdą, nawet najmniejszą, wprowadzoną poprawkę. Dziękuję też Mirosławowi Zelentowi, za to, że zgodził się na publiczne udostępnienie kodu. Zapewniam wszystkich, że ma to na celu tylko dobry rozwój forum.

Zapraszam wszystkich do wspólnej pracy nad naszym forum :)

1
komentarz 27 czerwca 2016 przez Niespecjalny Gaduła (4,180 p.)
Hmm widze tu szanse na poduczenie sie gry w zespole, dzieki za szanse na dodatkowy rozwoj ;)
2
komentarz 27 czerwca 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Skoro @xandros poruszył tutaj ten temat to czuję się zobowiązany wyjaśnić niewiedzącym (jest o tym mówione głównie na IRC) o co chodzi.

event15 gdy zobaczył kod tego forum to krótko mówiąc się załamał. Powiedział wtedy, że zacznie pisać własny silnik forum od zera, który finalnie mógłby zastąpić działające tu Q2A (miałby taką samą funkcjonalność, być może nawet layout byłby ten sam). Wszystkie treści, które są obecnie tutaj na forum musiałyby oczywiście zostać przeniesione, nie ma mowy o tym, aby coś zostało potracone przez zmianę skryptu.

Inicjatywie oczywiście kibicuję (jak każdej wspomagającej rozwój forum), ale powiedzmy sobie szczerze. Zrobienie całego silnika forum od zera to bardzo dużo pracy. Każdy ma rodzinę, obowiązki i swoje sprawy. Napisanie takiego silnika może więc trwać naprawdę długi czas, jeśli w ogóle uda się go napisać.

@xandros ja również nie popieram skryptu Q2A bo lekko mówiąc nie jest dobry. Ale nie mogę hamować całego rozwoju forum bo może gdzieś tam kiedyś, za jakiś nie wiadomo jaki czas pojawi się nowy silnik. Gdyby to była jasna deklaracja z krótkim okresem czasu, w stylu "za 2 tygodnie mam gotowy skrypt, będzie można go wdrażać" to z pewnością nie robiłbym już nawet żadnych poprawek w tym co jest. Jako iż jest to na razie tylko luźno rzucony pomysł (któremu jak mówiłem kibicuję) to nie będę blokował żadnych dalszych prac nad forum i nie chciałbym, aby ktokolwiek przez to zaniechał robienia swoich poprawek czy sugestii.

Mam nadzieję, że to jest dla każdego zrozumiałe ;)
3
komentarz 27 czerwca 2016 przez event15 Szeryf (94,690 p.)
Panowie, teraz jest okres wakacyjny. Miałem teraz wesele, w następny weekend muszę porąbać 10m3 drewna a w sierpniu na tydzień jadę za granicę, jeśli będą dobre wiatry.

Do tworzenia silnika forum wracam w każdej wolnej dla mnie chwili. Nie ukrywam, że jestem w samym etapie projektowania całości. Chciałbym przynajmniej trochę dobrych praktyk projektowania zachować, jak również chociaż kilka dobrych praktych tworzenia kodu. Nie da się ukryć, że praca w pojedynkę nad takim kodem to grzebanie się w coraz to głębszym bagnie. Niemniej jednak nad każdą funkcją pracuję, planuję i rozmyślam, co byłoby najlepsze w danym miejscu.

Jak ktoś chce pomóc: https://trello.com/b/qv90EFXM/nowe-forum

Niech dopisuje w "pomysły luźno" nowe pomysły na działanie forum, albo mi na PW na chacie IRC. Lub gdziekolwiek, gdzie można mnie złapać.
komentarz 27 czerwca 2016 przez xandros Nałogowiec (29,850 p.)

jeśli będą dobre wiatry. 

Zaraz napisze do szamanów, by nie były.

 na chacie IRC.

Pisze i się nie odzywasz. =/ 

komentarz 28 czerwca 2016 przez event15 Szeryf (94,690 p.)
edycja 28 czerwca 2016 przez event15

xandros, muszę być obecny również duchem i nie być na /away, poza tym awaystore  poinformował mnie o wiadomościach od awaluk, a od Ciebie nic nie dostałem na pw. Teraz musiałbym się przekopać przez historię chatu na kanale, co nie wiem cyz byłoby przyjemnie :)

6 odpowiedzi

+3 głosów
odpowiedź 1 lipca 2016 przez kakubus Użytkownik (870 p.)

Panowie (oraz Panie- jeśli jakieś są). Wszystko super, ale chciałbym zgłosić mały błąd.. Otóż w Kategoriach zepsuły się "Dymki" ukazujące działy forum. Wstawiam załącznik: Błąd

Jak widać na załączonym obrazku, dział "Programowanie" jest i "Dyskusje", a reszty brak, to samo na podstronach kategorii. Myślę że warto zgłaszać błędy, tym samym sprawiając, że forum staje się lepsze ;)

No chyba że to tak ma być- to przepraszam ;P

komentarz 1 lipca 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
edycja 1 lipca 2016 przez Arkadiusz Waluk

Nie, tak oczywiście nie ma być - coś musiało się stać podczas ostatnich zmian, czego nie zauważyłem.

Dzięki bardzo za zgłoszenie, poprawię jak najszybciej.

Wiem też o błędzie w stopce - nie wyświetla się pierwsza ikonka w polecanych miejscach w sieci - również jak najszybciej do poprawienia. Oraz błąd jest w menu - po kliknięciu czasem zaznaczają się nie ta ikonka która powinna.

1
komentarz 1 lipca 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Gotowe, wszystkie opisane wyżej błędy poprawione ;)
+2 głosów
odpowiedź 29 lipca 2016 przez MichałGNU Gaduła (4,420 p.)
Według mnie potrzebna będzie funkcja autoodświeżania strony, ponieważ zdecydowanie wpłynie to na komfort pracy i zadowolenia z ogólnego korzystania z forum.
komentarz 29 lipca 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Co dokładnie masz na myśli? Na jakich podstronach miałoby się tak dziać i w jakim celu? Chodzi o to aby powiadomienia były na bieżąco czy może nowe tematy na głównej? Nie wiem, dlatego dopytuje.

Należy też pamiętać że takie odświeżanie całej strony (bo jak rozumiem to masz na myśli?) może być uciążliwe dla użytkownika - ktoś przegląda sobie stronę a tu nagle coś samo mu się odświeża i musi czekać. Inna kwestia to obciążenia serwera. Jeśli ustawimy jakieś autoodświeżanie to nawet gdy użytkownik nie będzie zainteresowany forum a będzie miał otwartą kartę to będzie się odświeżało. Oczywiście i tak ktoś może sobie nawet ręcznie odświeżać co chwilę i generować jakieś tam obciążenie no ale na to nic nie poradzimy a samoczynne odświeżanie będzie to ewidentnie ciągle robiło.
2
komentarz 29 lipca 2016 przez KubenQPL Maniak (59,960 p.)

Jemu chyba chodzi o odświeżanie powiadomień i nowych tematów (coś jak na facebooku) i zgadzam się z nim, przydałoby się. A od siebie zaproponowałbym żeby w tytule zakładki była liczba nowych powiadomień. 

Coś takiego

1
komentarz 29 lipca 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Już kiedyś otrzymałem gdzieś od kogoś taką sugestię (być może na PW). Sprawa wygląda tak, że nie za bardzo jest jak coś takiego zrobić od strony technicznej.

Żeby powiadomienia wczytywały się bez przeładowania strony trzeba byłoby wysyłać ciągle AJAXa do serwera i sprawdzać czy jest coś nowego (podobnie nowe tematy). Żeby miało to jakikolwiek sens taki AJAX musiałby lecieć stosunkowo często - np. co kilka sekund. Możemy zrobić co kilka minut tylko wtedy i tak użytkownik nie będzie wiedział od razu że ma powiadomienie i pewnie szybciej odświeży sam stronę albo przejdzie do jakiegoś tematu. Jeśli co kilka sekund nawet te kilkadziesiąt osób będzie odpytywało serwer to nie da się ukryć że będzie to w jakimś stopniu obciążające i wolałbym raczej tego uniknąć.

Oczywiście można zrobić tak jak być powinna zrobiona rzecz tego typu, czyli aby to serwer dawał przeglądarce informacje o tym, że są nowe powiadomienia. Do tego jednak potrzeba serwera node.js i socketów, którego obawiam się, że hosting na którym stoi forum nawet nie obsługuje.
2
komentarz 29 lipca 2016 przez KubenQPL Maniak (59,960 p.)

Stwórzmy własną serwerownię! 

1
komentarz 29 lipca 2016 przez MichałGNU Gaduła (4,420 p.)
Chodzi mi o powiadomienia i nowe pytania. Nie będzie to problemem. Czy korzystając z Facebook ma Pan takie problemy?
komentarz 29 lipca 2016 przez MichałGNU Gaduła (4,420 p.)
Dobry pomysł.
komentarz 29 lipca 2016 przez MichałGNU Gaduła (4,420 p.)
To już jest pytanie do administratora strony.
2
komentarz 29 lipca 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)

@KubenQPL myślę, że prostszą opcją byłoby jednak próbować robić to AJAXem, pytać co te kilkanaście sekund i liczyć na to że faktyczne obciążenia nie będą duże i wszystko będzie działało jak trzeba.

PS. Oczywiście wiem, że to żart ;)

@MichałGNU zupełnie nie rozumiem tego co piszesz (nie wiem też po co napisałeś 3 komentarze pod rząd).

Czy korzystając z Facebook ma Pan takie problemy?

Ja nie mam żadnych problemów bo wszystko po stronie serwerów zapewnia Facebook. Nie sposób jednak porównać giganta, który posiada własne serwerownie i sztab programistów (dbający pewnie o wydajność jak tylko się da) do średniej wielkości forum stojącego sobie na zwykłym hostingu.

To już jest pytanie do administratora strony.

Administratorem tej strony jestem ja. Nie zarządzam co prawda serwerem, bo jest to serwer należący i opłacany przez Mirosława Zelenta, ale wszelkie decyzje o forum (ewentualnie oprócz jakiś typowo biznesowych) należą do mnie.

 

Zapisałem to na listę sugestii do przemyślenia, spróbować na pewno można, ale byłbym ostrożny i obiecywał że coś takiego zostanie zrobione na pewno nie będę. W przygotowaniu jest też wtyczka dla forum, może ona częściowo zadowoliłaby osoby chcące sprawdzać nowe powiadomienia/tematy i być może byłoby to możliwe nawet bez wchodzenia na samo forum (wtyczka w trakcie prac).

+2 głosów
odpowiedź 11 sierpnia 2016 przez MichałGNU Gaduła (4,420 p.)
Mam dwie propozycje:

1. Usunięcie działu Offtop.

2. Ulepszenie powiadomień (po kliknięciu znika żółte tło tylko w klikniętym powiadomieniu.
1
komentarz 11 sierpnia 2016 przez Comandeer Mentor (464,420 p.)

Usunięcie działu Offtop.

W pełni popieram! 

3
komentarz 11 sierpnia 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Ad 1. Nie przewiduję takiej zmiany. Offtop jest potrzeby, ale należy używać go z rozsądkiem.

Ad 2. Nad tym można pomyśleć, wpiszę na listę sugestii.
komentarz 11 sierpnia 2016 przez MichałGNU Gaduła (4,420 p.)
Dziękuję
+1 głos
odpowiedź 13 września 2016 przez KubenQPL Maniak (59,960 p.)
Proponuję zrobić nowy dział na zlecenia i oferty pracy, posty z tego działu nie wyświetlałyby się na głównej a sami zainteresowani tym działem by tam zaglądali. Ostatnio zauważyłem dużo postów tego typu.
1
komentarz 13 września 2016 przez argeento Szeryf (97,680 p.)
Albo stworzyć moduł w sidebarze na oferty pracy.

Odpłatnie udostępniać możliwość zapostowania oferty, a 'pytania' z ogłoszeniami usuwać
komentarz 13 września 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)

Tak, też zauważyłem, że miejsce na ogłoszenia jest potrzebne, tylko nie za bardzo wiem jak to rozwiązać.

Stworzenie działu ogłoszenia automatycznie daje przyzwolenie na dodawanie takich ogłoszeń właściwie bez ograniczeń. Co za tym idzie ogłoszeń może zacząć pojawiać się więcej niż mamy teraz i nie wiem czy chcemy, aby na stronie głównej zamiast ciekawych pytań widoczne były w większości ogłoszenia. Oczywiście tak, można po prostu nie wyświetlać pytań z tej kategorii na stronie głównej i w ostatniej aktywności (chociaż takiej funkcji nawet w Q2A nie mamy, trzeba byłoby to napisać), ale to oznacza znaczący spadek oglądalności tych pytań bo tak szczerze mówiąc kto z nas klika ręcznie po wszystkich kategoriach? Ja po prostu sprawdzam główną i aktywność i widzę wszystko co się dzieje.

Na chwilę obecną więc nie wiem po prostu do końca jak to rozwiązać, jeśli ktoś jeszcze ma jakieś pomysły to śmiało.

komentarz 13 września 2016 przez argeento Szeryf (97,680 p.)

Albo stworzyć moduł w sidebarze na oferty pracy.

komentarz 13 września 2016 przez draghan VIP (102,530 p.)
Ewentualnie wyświetlać w aktywności tylko samą liczbę nowych aktywności w dziale ogłoszeń wraz z linkiem do tego działu. Wydaje mi się, że jak ktoś pracowalby nad implementacją ukrywania wpisów z tego działu, to nie byłoby dla niego wiele roboty żeby zliczyć ukryte aktywności.
komentarz 13 września 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
@Argeento a jak miałoby to dokładnie wyglądać? Taki moduł musiałby być mały, zmieściło by się tylko kilka ofert (nawet jakbyśmy zrobili przewijanie). Nie wiem czy jest sens koniecznie robić to za opłatą.

@draghan w jaki sposób chciałbyś zliczyć te "nowe" aktywności? Zapisywać które użytkownik już widział? Czy po prostu liczyć z danego dnia/tygodnia?
komentarz 13 września 2016 przez draghan VIP (102,530 p.)
Szczerze to nie wiem, jak obecnie jest realizowane wyświetlanie np. powiadomień dla użytkownika. Ale skoro to jakoś jest zrobione, to pomyślałem że podobnym sposobem możnaby policzyć ogłoszenia, których user nie widział.

Ale prostsze jest zapewne wzięcie pod uwagę pewnego okresu i zliczanie periodyczne. I myślę, że to byłoby wcale niezłe rozwiązanie kompromisowe.
komentarz 13 września 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Powiadomienia to całkiem inna bajka, jest na nie tabela w bazie danych. Tak samo tabela jest na posty, musiałaby być kolejna tabela w której zapisywane byłoby czy dana osoba określony temat widziała. Chociaż właściwie już w tej chwili mamy licznik wizyt w każdym pytaniu, więc być może już coś tego typu mamy (szczerze mówiąc nie sprawdzałem tego dokładnie, nie wiem). Jednak nie wiem czy jest sens aż tak bardzo to rozbudowywać.

Jeśli faktycznie chcielibyśmy coś takiego zrobić to najpierw trzeba zająć się wykluczeniem wyświetlania postów z danej kategorii na stronie głównej i w ostatniej aktywności. Albo zacząć po prostu od założenia nowej kategorii i zobaczenia ile tych ogłoszeń będzie i czy będzie to uciążliwe.
komentarz 13 września 2016 przez draghan VIP (102,530 p.)
Już o tym rozmawialiśmy dwukrotnie, Arku. Również uważam, że najpierw należy utworzyć taki dział, a dopiero w razie niepomyślnego rozwoju wypadków - przeciwdziałać.
komentarz 13 września 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Tak, pamiętam :) W końcu pewnie i to się zadzieje, systematycznie wprowadzam kolejne zmiany i dodatki.
0 głosów
odpowiedź 3 sierpnia 2016 przez MichałGNU Gaduła (4,420 p.)
Myślałem na zmianą uprawnień przeglądania Forum. Chodzi mi o to, że każdy ma do niego dostęp -- Pasjonaci oraz inne osoby, które nie mają założonego konta. Według mnie tylko Pasjonaci powinni widzieć pytania i na nie odpowiadać. Co sądzicie?
1
komentarz 3 sierpnia 2016 przez maly Nałogowiec (37,290 p.)
No, i jeszcze konto Pro za 9.99zł.
komentarz 3 sierpnia 2016 przez MichałGNU Gaduła (4,420 p.)
Nie, konto powinno być darmowe, tak jak obecnie.
3
komentarz 3 sierpnia 2016 przez Arkadiusz Waluk Ekspert (250,610 p.)
Dlaczego tak uważasz? Jakieś argumenty dlaczego tak byłoby lepiej?

Bo jak dla mnie to bezsensowny pomysł. Po pierwsze przecież pomagamy sobie tutaj za darmo i im ta pomoc dotrze do większej ilości osób tym lepiej. Tak samo działa kanał na YouTube i cała Pasja informatyki - wiedza za darmo dla każdego.

A po drugie co to za problem założyć konto? Ten kto będzie chciał zobaczyć dany temat się zarejestruje i zobaczy, a konto pozostanie puste. Efekt tego w mojej ocenie będzie więc taki że będziemy mieli dużą ilość kont z czego aktywnych będzie mała część.
–4 głosów
odpowiedź 30 czerwca 2016 przez daro0 Obywatel (1,360 p.)
No fajnie, pięknie, tylko życzę powodzenia w ogarnięciu kodu tego forum jeśli już jest na tej platformie a to jest podstawa żeby cokolwiek rozwijać. Sądzę że nawet doświadczonym będzie ciężko a co dopiero nowicjuszom. Ale spoko, przynajmniej dowiedziałem się o nowym skrypcie Question and Answer :-)
 Z frameworkami takimi jak CI, Kohana, Laravel byłoby tu o niebo prościej.

Mam PHP 5.4.18 oraz MySQL Server 5.4 na Windows XP, forum da się odpalić, wystarczy tylko użyć polecenia:

php -S localhost:80

, z podkatalogu forum, gdzie jest index.php, wcześniej jednak musi być utworzona baza danych i wczytany ten MySQL dump, pewnie też na XAMPP bez problemu by poszło.
1
komentarz 30 czerwca 2016 przez event15 Szeryf (94,690 p.)
Człowieku, wymieniłeś wszystkie frameworki, które wcale nie są wiele lepsze od tego skryptu.
komentarz 30 czerwca 2016 przez daro0 Obywatel (1,360 p.)
O czym Ty mówisz? Wymienione tutaj frameworki opierają się o MVC, kod jest ładnie zorganizowany, rozmieszczony w odpowiednich podkatalogach, tak samo jak i wszystkie assety też mają swoje miejsce. Pracowałeś kiedykolwiek na Laravelu czy Kohanie? Gwarantuję Ci że kod byłby o wiele łatwiejszy do zrozumienia, o ile przestrzega się narzuconych zresztą przez te fw standardów.

Dodatkowo masz ORM-y i wzorzec taki jak Active Record który w przypadku tego forum sprawdziłby się świetnie jeśli chodzi o czytelność kodu i przede wszystkim wygodę tworzenia kodu. Dodatkowo takie narzędzia jak debuger, gdzie masz jak na dłoni gdzie występuje błąd, profiler dzięki któremu możesz mieć wgląd na to co i ile się wykonuje.

Wiem że po KO3 można pojechać tak samo jak po Laravelu, no jest jeszcze Symfony, po którym raczej mało kto pojedzie, bo wiadomo że jest powszechnie stosowany. Tylko czy w przypadku tego forum to nie jest przypadkiem na wyrost?
komentarz 30 czerwca 2016 przez efiku Szeryf (75,020 p.)
Od tego abyśmy mieli wszyscy jednakowe środowisko jest vagrant i dokładna instrukcja jak to postawić. Ta wersja php dawno umarła. My mamy 5.6 chciałbym zaznaczyć. Ha. Dobrego z tymi frameworkami byłyby problemy ;) Framwroki które wymieniłeś dawno umarły / zatrzymały się w rozwoju. ( z wyjątkiem lavarela - nie nadaje się on na tego typu forum)
komentarz 30 czerwca 2016 przez efiku Szeryf (75,020 p.)
edycja 30 czerwca 2016 przez efiku
Mówiąc krótko przenieś się na coś nowszego ;)

SF3/Cake3/Yii2 itd.. ;>
1
komentarz 30 czerwca 2016 przez Boshi VIP (100,680 p.)
To musi być troll, nie wierzę._.
2
komentarz 30 czerwca 2016 przez event15 Szeryf (94,690 p.)

O czym Ty mówisz? Wymienione tutaj frameworki opierają się o MVC, kod jest ładnie zorganizowany, rozmieszczony w odpowiednich podkatalogach, tak samo jak i wszystkie assety też mają swoje miejsce.

Ale co ma organizacja plików w katalogach do łamania SRP, OCP DRY i innych zasad w kodzie? Gówno mnie obchodzi jak ślicznie jest plik nazwany, i czy plik php nie leży w katalogu assets.  

Pracowałeś kiedykolwiek na Laravelu czy Kohanie? Gwarantuję Ci że kod byłby o wiele łatwiejszy do zrozumienia, o ile przestrzega się narzuconych zresztą przez te fw standardów.

W kontekście Laravela mówimy o standardach niezgodnych ze standardami ogólnoprzyjętymi. Jeśli nazywanie Fasadą wzorca Proxy dla Ciebie jest w porządku, a kompatybilność wstecz, która nie jest zachowana nawet w miniorowej wersji nie jest problemem to nie ma nawet dyskusji. Sam event dispatcher zaprojektowany przez Taylora de facto nim nie jest.

 Dodatkowo masz ORM-y i wzorzec taki jak Active Record który w przypadku tego forum sprawdziłby się świetnie jeśli chodzi o czytelność kodu i przede wszystkim wygodę tworzenia kodu.

Active Record to technologia z lat 2003-2008, gdzie ludzie nie potrafili sobie radzić z większymi abstrakcjami. Co z tego że cos jest mega proste w implementacji, skoro przy skomplikowanej logice dziedzinowej nie ma najmniejszych szans na egzystencję? Active Record, co udowodniano pierdyliard razy, nie sprawdza się w projektach większych niż zastosowanie CRUDa. Milion razy lepszym wyjściem jest DBAL lub ORM oparty o Data Mappera. 

Dodatkowo takie narzędzia jak debuger, gdzie masz jak na dłoni gdzie występuje błąd, profiler dzięki któremu możesz mieć wgląd na to co i ile się wykonuje.

To mam w PHPStormie, mam też Symfony Debugera.  

Właśnie przez takich programistów środowisko PHP wiele traci.

Stosowane statyczne metody wszędzie i zawsze, jak w przypadku dziwnych fabryk i fasad laravelowych powoduje, że ten kod w rzeczywistości nie ma nic wspólnego z obiektowością. Po kij pisać taki kod, skoro byle vendor może wszystko Ci spierdzielić? Nie masz pojęcia o enkapsulacji danych, skoro uważasz że Active Record jest świetny. Tak samo Inne statyczno-wojujące frameworki. Czekam aż ktoś zrobi znanego vendora, który z wykorzystaniem takich bugów jak statyczny Route podpierdzieli komuś dane do kont płatniczych. 

 

1
komentarz 30 czerwca 2016 przez event15 Szeryf (94,690 p.)
Swoją drogą jeśli chodzi o programownaie webowe to nie ma mowy o żadnym MVC, a jeśli już, to o MVP.

Inna sprawa że stosowanie takiej architektury powoduje wiecej problemów niż korzyści.

Chociaż widzę, że wiele fw kiedyś tworzyło się z myślą ActiveRecord-View-Controler, gdzie dosłownie każda logika dziedziny była ładowana w model,  wogóle nie oddzielając warstwy na infrastrukturę bazy i nie stosując odpowiedniego rozdzielenia na logikę, która z biegiem czasu stawała się na tyle skomplikowana, że praktycznie większość projektów tak napisanych trzeba było przepisywać bo nikt już się z tym połapać nie mógł.
komentarz 30 czerwca 2016 przez daro0 Obywatel (1,360 p.)
Zgadza się. Dla ścisłości chodzi o Model-View-Presenter, pochodna MVC. Co Wy macie do tego Active Record? Ten wzorzec występuje także w Railsach albo w DJANGO Framework. Nie mam zamiaru promować tu konkretnych frameworków, chciałem tylko dać do zrozumienia, że przede wszystkim należy dobrze rozumieć jak działa kod na forum i dobrze to wszystko ogarniać, żeby to można było rozwijać. OK, spoko. Jak Data Mapper to i Symfony, tylko zastanawiam się jaki procent chętnych ogarnie ten framework, profesjonalny ale jednocześnie dość trudny, próg wejścia jest wysoki.
komentarz 30 czerwca 2016 przez event15 Szeryf (94,690 p.)

Co Wy macie do tego Active Record? 

  • Jest już przestarzały
  • Nie daje rady ze skomplikowaną logiką dziedziny
  • jest nietestowalny!
  • przechowuje obiekty w przestrzeni globalnej, niszcząc enkapsulację
  • Tworzenie wymyślnych relacji z prefixami tabel praktycznie niemożliwe lub bardzo utrudnione
  • miesza warstwę moedelu dziedziny z konstrukcją infrastruktury bazy danych
  • uzależnia kod od jednego typu baz danych 
2
komentarz 30 czerwca 2016 przez event15 Szeryf (94,690 p.)

Jak Data Mapper to i Symfony, 

Zupełnie się nie zgadzam. Doctrine ORM lub DBAL można wykorzystywać gdzie się chce.

Z mikroframeworków szczerze polecam Slima, następnie Silexa. Jeśli ktoś chce ruszyć symfony to może zacząć od mikrokernela. Jestem skłonny polecić Phalcona aczkolwiek nie każdy serwer obsłuży go.  Yii2 również nie jest najgorsza. Generalnie trzeba szukać takich frameworków które bazują na komponentach, klockach. Dzięki temu mamy możliwość wyboru, jakie elementy chcemy w projekcie, a jakie nie.

Podobne pytania

0 głosów
2 odpowiedzi 84 wizyt
pytanie zadane 11 marca 2017 w Sprawy forum przez kompowiec2 Mądrala (6,270 p.)
+1 głos
2 odpowiedzi 88 wizyt
–19 głosów
1 odpowiedź 690 wizyt
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

66,986 zapytań

113,891 odpowiedzi

241,346 komentarzy

46,943 pasjonatów

Przeglądających: 96
Pasjonatów: 1 Gości: 95

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.

...