Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak napisać silnik aplikacji OOP
Forum PHP.pl > Forum > PHP
Cinnanical
Witam. Chciałbym napisać taki mini framework, taki silnik typu cms, pod moje dalsze aplikacji.

Chciałbym w nim uwzględnić jakiś prosty system szablonów, ładowanie podstron, klas itp.

Może ma ktoś jakiś sensowny pomysł, plan na napisanie tego.


Chciałbym się dowiedzieć, jak mogło by to wyglądać, jakieś wskazówki itp.


Dziękuje
wookieb
Dlaczego nie chcesz wykorzystać gotowych narzędzi?
Symfony2, Laravel, Zend Framework, Silex ?
Cinnanical
Wole znać własną kieszeń w 100%, i używać tylko tego, co jest mi potrzebne. Proszę o nie pisanie już o frameworkach, bo i tak się do nich nie przekonam.
Dejmien_85
Cytat(Cinnanical @ 18.05.2013, 11:37:01 ) *
Wole znać własną kieszeń w 100%


Problem jest w tym, że w swojej kieszeni nic nie masz i nie wiesz co tam wrzucić. A frameworki to wypchane kieszenie tym, czego potrzebujesz.

Potrzebujesz przykładów tego, jak pisać kod w OOP. Potrzebujesz przykładów napisanych przez doświadczonych programistów - najlepiej dziesiątek klas, abyś mógł je zanalizować, przemyśleć, a następnie zmodyfikować i wykorzystać. Potrzebujesz także przykładów wykorzystania systemów szablonów. Tylko pytanie gdzie to znaleźć?

Gdzie? W Frameworkach? No przecież tam tego NIE ma. brzydal.gif

Przyznaj się lepiej, że jesteś leń i chcesz aby Cię ktoś poprowadził za rękę przy tworzeniu Twojego systemu CMS. cool.gif
!*!
Cytat
Może ma ktoś jakiś sensowny pomysł, plan na napisanie tego.

Jak zadajesz takie pytanie, to znak że brakuje Ci wiedzy, żeby coś takiego napisać.

Cytat
Chciałbym się dowiedzieć, jak mogło by to wyglądać, jakieś wskazówki itp.

Pisz jak Ci się podoba. Każdy FW dla PHP wygląda identycznie.
Cinnanical
Nie przyznam się Lkingsmiley.png

Ale racja, chcę skorzystać z wiedzy bardziej doświadczonych, a mianowicie jak Oni by to zrobili. Myślałem nad MVC, ale nie jestem przekonany.

Aktualnie mam napisanego w 70% CMS, ale nie jestem pewien czy go przepisać od nowa


Tzn. mam dużo pomysłów jak to mógłbym przepisać inaczej, ale właśnie nie jestem pewien, czy to będzie najlepsze rozwiązanie.
!*!
U góry po prawej masz wyszukiwarkę google, wpisz tam "własny framework" a otrzymasz 1 710 wyników.
Dejmien_85
Cytat(Cinnanical @ 18.05.2013, 12:22:28 ) *
Ale racja, chcę skorzystać z wiedzy bardziej doświadczonych, a mianowicie jak Oni by to zrobili. Myślałem nad MVC, ale nie jestem przekonany.


Cinnancial, nadszedł czas na zmianę poglądów. Przykłądowo - Zend Framework, nim opiekują się ludzie, którzy tworzą PHP. Symfony - nim zajmuje się firma, która od kilku lat świetlnych pisze aplikacje www (podobnie jest z innymi frameworkami). W nich zawarte są przykłady jak pisać kod w PHP i jak pisać programy w OOP.

Każdy człek czasem błądzi, trzeba to zrozumieć. Frameworki to Twoje ZBAWIENIE. Póki tego nie zrozumiesz, to będziesz błądził i szukał złotego środka wypierając się kodu pisanego przez doświadczonych programistów, podanego na tacy w frameworkach w postaci gotowych i udokumentowanych klas. Nie wspominając już o setkach przykładów nt. jak pisać aplikację z wykorzystaniem danych klas, metod, czy wzorców projektowych (MVC).

Cytat(Cinnanical @ 18.05.2013, 12:22:28 ) *
Aktualnie mam napisanego w 70% CMS, ale nie jestem pewien czy go przepisać od nowa

Tzn. mam dużo pomysłów jak to mógłbym przepisać inaczej, ale właśnie nie jestem pewien, czy to będzie najlepsze rozwiązanie.


Zabłądziłeś, przyjacielu. Pisząc jakąś aplikację musisz na samym początku stworzyć sobie projekt i się go trzymać kurczowo. Sprawdzone wzorce z FW mogłyby Ci w tym pomóc - ale na własne życzenie odrzucasz najlepsze praktyki.

Rób tak dalej, a w 2015 też zobaczymy tutaj Twoje posty typu. "Jak... bo nie umiem ". ; )
Cinnanical
@up Poczytałem fajny temacik właśnie o gotowych fw a "własnych", no i po części się przekonałem.

Ale wchodząc w pliki np. takiej kohany, to po prostu łapie się za głowę, nie wiem czy nie mam jeszcze za mało wiedzy na fw.


Myślałem nad Code igniter i CakePHP z przychyleniem na Code Ignitera.
Szymciosek
Bo po prostu od dupy strony próbujesz zacząć, po to są tutoriale, wszelakie booki, dokumentacja żeby wiedzieć jak wystartować.

Do Kohana: http://kohanaframework.org/documentation
mstraczkowski
Uważam, że skoro zadałeś takie pytania nie jesteś gotowy na stawianie frameworka od zera.

Framework nie jest zwykłym kodem - typu raz napisane i ma działać.

Twój kod musi być łatwy do zrozumienia przez innych programistów, musi być uniwersalny i przenośny.

Musi też być łatwy w rozwijaniu - warto pokusić się o szczegółowe komentarze kodu oraz o dokumentację jak
używać poszczególnych komponentów frameworka.

Napisanie frameworka jest dobrym pomysłem pod warunkiem że dokładnie wiesz co robisz.
Masz obrany plan działania i przygotowaną specyfikację i odpowiednią wiedzę.

Bez wspomnianych przeze mnie opcji nie ma co zaczynać.

Jeżeli zadałeś takie pytania - na które już powinieneś mieć pomysł (biorąc pod uwagę chęć stworzenia własnego frameworka)
To uważam, że to nie jest najlepszy pomysł dla Ciebie.

Cytat(!*! @ 18.05.2013, 12:21:18 ) *
Pisz jak Ci się podoba. Każdy FW dla PHP wygląda identycznie.

Mocne stwierdzenie, osobiście nie uważam, aby np. Symfony wyglądało identyczne jak CodeIgniter
Frameworki różnią się od siebie, a w szczególności Symfony oraz Zend wyróżniają się z tłumu przez swoje programowanie za pomocą modułów / bundli
!*!
@mstraczkowski tak, jedne mają mniejszy, bądź większy pieprznik w strukturach i/lub dokumentacji i/lub przyjętych założeń w budowie aplikacji o nich oparty, ale wszystkie łączy jeden schemat działania. Obojętnie jaki by nie był, w PHP nie da się napisać FW inaczej.
Cinnanical
Hmm. Chyba zacznę się uczyć Code Ignitera. Ma wspaniały dokumentację, także w ojczystym języku. Tylko czy przyda mi się ta znajomość Code Ignitera? Pomijając nabyte doświadczenie?

Zrozumiem działanie niektórych skryptów niekoniecznie na Code Igniter? bo czasami jak widzę skrypty, to nie powiem że są trochę dla mnie skomplikowane.

Dodane: no podstawy podstawowych podstaw opanowane smile.gif nie sądziłem, że będzie takie przyjemny pisanie w nim.
mstraczkowski
CodeIgniter ma naciągane OOP smile.gif
Czasami stosuje bardzo brzydkie praktyki w stylu eval itp.

Ale jego dokumentacja jest bardzo przyjemna - to fakt
Elber
Czy CI Ci się przyda to nie wiem, ale znam osobiście kilko osób które zaczynały w CI, a po jego opanowaniu przenosiły sie na Symfony / Zend albo i RoR. Na pewno nauczy Cię programować w MVC też liznąłem kiedyś trochę CI, potem jednak wróciłem do podstaw których mi brakowało i opanowałem programowanie proceduralne, w którym napisałem kilka aplikacji i to nie małych, jedna z nich to autorski CMS rozwiany do dziś. Aktualnie jestem na etapie rozwoju i zagłębiania się w MVC oraz wzorce projektowe, po czym będę pisał kolejny CMS tym razem chcę aby był łatwy do rozbudowy i rozwijania (dla tego zagłębiam się w OPP i MVC). Ja natomiast nie chcę w swoich projektach korzystać z gotowych frameworków mimo, że wiem że będą o 100 razy lepsze niż moje pierwsze projekty w MVC i nie mam szans napisać tego na początku w taki sposób jak twórcy tych frameworków, niemniej jednak ja lubię mieć wszystko pod swoją kontrolą i jeśli czegoś nie wiem to wolę o tym poczytać bo podstawą jest zrozumienie problemu, a nie tylko jego obejście / rozwiązanie wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.