Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Duża aplikacja, Jak pisać dużą aplikację
Akcelerator
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.02.2011

Ostrzeżenie: (0%)
-----


Witam. Chce stworzyć własny dużą aplikacje a konkretnie CMS, ale nie za bardzo wiem jak się pisze takie duże aplikacje. Czytałem że duże aplikacje pisze się modułowo ale jak to wygląda w praktyce ? Nie mogę doszukać się jakichś dokładniejszych informacji na ten temat. Chce żeby ten CMS dał się łatwo rozbudowywać i modyfikować. Proszę o pomoc.
Go to the top of the page
+Quote Post
Piogola
post
Post #2





Grupa: Zarejestrowani
Postów: 151
Pomógł: 36
Dołączył: 1.02.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zacznij od nauki OOP


--------------------
Google Manual
Go to the top of the page
+Quote Post
Akcelerator
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.02.2011

Ostrzeżenie: (0%)
-----


Obiektowo pisać jako tako umiem, przynajmniej tak mi się wydaje. Nie jestem całkiem zielony, wcześniej udało mi się strukturalnie CMS'a napisać, ale to raczej nie to. Teraz próbuje pisać na nowo, i staram się pisać obiektowo, ale nie jestem pewien czy dobrze to robię. Chce dowiedzieć się o tym jak najwięcej, żeby napisać to dobrze.

Ten post edytował Akcelerator 16.02.2011, 01:27:17
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Przywitaj się z terminem framework, wybierz któryś dla siebie, który będzie Ci najbardziej odpowiada. ps. czy to już jest jakaś mania z tym pisaniem cmsa? Każdy musi pisać własnego cmsa ? Tyle tego w sieci istnieje, do wyboru do koloru, ale nie każdy musi napisać własny. Po co się pytam?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(darko @ 16.02.2011, 01:35:34 ) *
Tyle tego w sieci istnieje, do wyboru do koloru, ale nie każdy musi napisać własny. Po co się pytam?

W celach edukacyjnych zapewne. To, że jest później pełno syfu na necie to sprawa druga.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Zyx
post
Post #6





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Projektowanie aplikacji to duży i wcale nie taki łatwy dział informatyki. Nawet nie zdajesz sobie sprawy, ile można zrobić w dużym projekcie, nie tworząc ani jednej linijki kodu. Znajomość OOP i frameworków bez jakichś podstaw projektowania nic Ci tu nie da, bo są to tylko narzędzia. Cieśla młotkiem i dłutem może zdziałać cuda; laik co najwyżej sobie palec rozwali. Skoro dla Ciebie projektowanie obecnie to parę mętnych haseł, o których "gdzieś tam kiedyś" słyszałeś, zacznij od mniejszych rzeczy, a dopiero później wskakuj w coś większego.

Ten post edytował Zyx 16.02.2011, 07:41:38


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
Akcelerator
post
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.02.2011

Ostrzeżenie: (0%)
-----


Czy znacie jakąś stronę godną polecenia, która będzie pomocna ?

Ten post edytował Akcelerator 16.02.2011, 11:06:06
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Stary tego nie zdobędziesz po przeczytaniu jednej książki. Kolokwialnie twoje pytanie jest podobne do "chciałbym zostać lekarzem, polećcie mi jakąś książkę"... No nie ma takiej możliwości. Pytanie zbyt ogólnikowe.
Zadaj jakieś precyzyjniejsze.


--------------------
Go to the top of the page
+Quote Post
darko
post
Post #9





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jak już wcześniej napisałem - wybierz sobie jakiś framework, przejrzyj jego dokumentację, przerób podstawowe tutoriale (masz nawet videotutoriale z lektorem na youtube). Frameworki z reguły jako zbiór gotowych narzędzi ułatwiają pracę. Do wyboru najbardziej popularne (kolejność przypadkowa): Zend, Kohana, Symfony, CodeIgniter, CakePHP, Prado, Agavi <-- sprawdź nawet i wszystkie, pobierz, skonfiguruj, naucz się poprawnego korzystania z tych narzędzi. Na koniec zadecyduj, który z nich jest najbliższy Twojej filozofii programowania (a z pewnością każdy z wybranych frameworków reprezentuje inne podejście do tworzenia projektu). Tak naprawdę to najlepiej gdybyś wybrał taki framework, którego nauka zaowocuje znalezieniem zatrudnienia i tu masz do wyboru 3, może 4: Zenda, Symfony, CodeIgniter (proszę się nie czepiać o ostatnie zdanie, to moja prywatna opinia).
Powodzenia i owocnej nauki!
//edit
Dodam jeszcze, że w praktyce duże projekty (cokolwiek przez to rozumiemy) pisane są nie przez jednego, a przez kilku programistów i tu pojawia się kolejna kwestia mianowicie - wybór systemu kontroli wersji. I znowu do wyboru najpopularniejsze: Git, SVN, Mercurial, CVS. Nie bez powodu podkreślam, że przy wyborze narzędzi (frameworka oraz systemu kontroli wersji) należy brać pod uwagę popularność danego rozwiązania, gdyż im bardziej popularne rozwiązanie tym:
- większe szanse, że dane narzędzie będzie rozwijane, będą wprowadzane ulepszenia i ułatwiające życie modyfikacje
- łatwiej o pomoc w przypadku jakichkolwiek problemów (od tego są fora internetowe, aby pytać)
- większa szansa, że projekt w ogóle nie upadnie i będzie dalej rozwijany (jest "popyt" jest "podaż")

// edit2 (sorry za tyle edytów ale nie chcę nabijać postów
cd.
ostatnią już chyba sprawą jest wybór narzędzia (ide) z podpowiadaniem składni i wieloma użytecznymi opcjami i tu masz do wyboru: Eclipse PDT, NetBeans, Aptana, Zend Studio (płatne) i wiele innych gorszych lub lepszych.

Ten post edytował darko 16.02.2011, 11:56:25


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
screamart
post
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 5
Dołączył: 11.04.2010

Ostrzeżenie: (0%)
-----


Jeśli chodzi o teorię projektowania to dla mnie bardzo przydatnym przedmiotem na studiach inżynierskich była Inżynieria Oprogramowania. Proponuję się co nieco zainteresować bo materiału do tego jest sporo.

Ten post edytował screamart 16.02.2011, 15:15:16
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #11





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Zrób sobie Jobeeta. To taki tutorial do symfony, łatwy w zrozumieniu, efekty ciekawe.
Go to the top of the page
+Quote Post
Akcelerator
post
Post #12





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 16.02.2011

Ostrzeżenie: (0%)
-----


Raczej nie chodzi mi o użycie jakichś gotowych frameworków, ale bardziej o napisanie wszystkiego samemu. Napisać tak by działało umiem, ale chce też aby to w miarę wyglądało i było napisane tak by łatwo to można było rozwijać. Nie mogę się doszukać jakichś wytycznych mówiących w jaki sposób pisać takie duże rzeczy. Wiem że trzeba pisać takie rzeczy obiektowo. Chce napisać to w modelu MVC. Coś tam już napisałem, ale dowiedziałem się, że lepiej nie używać zmiennych globalnych, a takie zmienne u mnie już się pojawiły. Dlatego wole dowiedzieć się jak najwięcej by nie popełniać kolejnych błędów.
Go to the top of the page
+Quote Post
Crozin
post
Post #13





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


@Akcelerator: Użyj gotowego FW, np. Symfony2 (na chwilę obecną właściwie jedyny FW wykorzystujący nowe możliwości PHP5.3) bo nie masz ani wiedzy, ani umiejętności by zaprojektować aplikację lepiej.

Podobnie jak nie da się zaprojektować samochodu lepszego od jakiegoś Bentleya nie znając jego wad ani wymagań stawianych takiemu produktowi, podobnie nie da się zaprojektować porządnej architektury dla aplikacji internetowej nie mając sporego bagażu doświadczeń.
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #14





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Nie dasz rady, dlatego porzuć taką opcję. Używanie gotowców to żadna hańba.
Go to the top of the page
+Quote Post
osl
post
Post #15





Grupa: Zarejestrowani
Postów: 260
Pomógł: 41
Dołączył: 6.04.2009
Skąd: Gdańsk/okolice

Ostrzeżenie: (0%)
-----


Nie chce jakoś Cię z łomotem na ziemię sprowadzać, bo sam wiem jakie kiedyś miałem ambicje wink.gif
Fajnie jest napisać coś swojego. Sam napisałem kiedyś frameworka, całkiem spore możliwości, własny ORM i takie tam.
Ale im dłużej pisałem, tym bardziej dostrzegałem wady i własne braki. Napisać coś, co działa, żaden problem.
Weź pod uwagę jeszcze inne aspekty, takie jak bezpieczeństwo czy wydajność. A do tego czas, który spędzisz na magicznym "WTF".
Cytat
Używanie gotowców to żadna hańba.
chciałoby się rzec, święte słowa wink.gif
symfony nawet się specjalnie nie kryje z tym, że jak widzi coś lepszego u konkurencji to sobie "pożycza" wink.gif
Go to the top of the page
+Quote Post
Bags_Bunny
post
Post #16





Grupa: Zarejestrowani
Postów: 262
Pomógł: 39
Dołączył: 12.04.2004

Ostrzeżenie: (0%)
-----


Cytat(osl @ 16.02.2011, 19:38:05 ) *
symfony nawet się specjalnie nie kryje z tym, że jak widzi coś lepszego u konkurencji to sobie "pożycza" wink.gif

Inspiruje się! smile.gif
Latem zeszłego roku byłem na konferencji Adobe promującej CS5. Jeden z prowadzących (nie pamiętam kto to był konkretnie, ale jestem przekonany, że ktoś z zarządu) powiedział, że jeśli bierzemy kod jakiejś strony, a następnie umieszczamy go na swojej to nie jest to kradzież, ponieważ zabieramu z internetu i oddajemy z powrotem do niego smile.gif.
Taka mała dygresja, na rozluźnienie.

@Akcelerator, IMO to, czy napiszesz swój framework czy skorzystasz z czegoś gotowego zależy od celu.
Jeśli tworzysz jakiś produkt, to zdecydowanie wybierz framework, który już istnieje. Zwróć uwagę na to, że gotowe frameworki (nie mówię, że wszystkie, ale zasadniczo) są dość dobrze przetestowane, ze względu na dużą rzeszę użytkowników.

Jeśli chcesz się po prostu nauczyć to uważam, że warto napisać całość od początku, żeby zrozumieć w pełni zasadę działania wszystkiego. Po prostu siadaj i pisz. Nie liczyłbym jednak na zbyt wiele. Jeśli nie masz dużego doświadczenia, to nie zrobisz cuda, nawet jeśli będziesz się do tego przygotowywał na papierze wiekami (co ja osobiście odradzam, choć pewnie sporo osób się ze mną nie zgodzi).

W tym momencie polecałbym też książke "Getting Real" napisaną przez, o ile się nie mylę, założycieli 37Signals.
Traktuje ona właśnie o procesie tworzenia aplikacji webowych sposobami odbiegającymi od klasycznej inżynierii oprogramowania.

Pisanie frameworka to sprawa o wiele poważniejsza niż pisanie poszczególnych modułów.
Swojego czasu w Windowsie była dziura pozwalająca pobrać "zagwiazdkowane" hasło w dialogach konfiguracji.
Z tego co mi wiadomo, nie było możliwe jej bezbolesne załatanie, bo zmiana WinAPI spowodowałaby konieczność wprowadzenia zmian we wszystkich aplikacjach zeń korzystających.

Jeśli napiszesz cały system i zorientujesz się, że sknociłes framework, może okazać się, że będziesz musiał zmodyfikować wiele elementów systemu. Czasami może okazać się, że nie będzie to opłacalne.

Przygotuj się na duże straty kodu, jeśli piszesz coś dużego bez doświadczenia ze złożonymi aplikacjami.
Ale jeśli chcesz i możesz to zrobić dla własnego rozwoju - warto.


--------------------
rm -rf /*
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:27