2009-08-05 11 views
6

Tak więc, mam wielką ochotę przerobić moją aplikację za pomocą frameworka php, ponieważ myślę, że ułatwi to zaangażowanie ludzi, a także poprawi projekt aplikacji.Przepisywanie aplikacji php w CakePHP

CakePHP wygląda jak najlepszy framework sieciowy PHP. Czy ktokolwiek ma jakiekolwiek tego doświadczenia? Jakie są zastrzeżenia, które powinienem rozważyć przechodząc z ręcznie kodowanego PHP do korzystania z frameworka?

Odpowiedz

8

Nie zależności od ram będziesz chciał, pierwszą rzeczą, którą musisz wiedzieć, że:

  • zajmie to trochę czasu, aby wiedzieć, że
  • Zrobisz crapping rzeczy w tym czasie ^^
  • tak więc, biorąc pod uwagę fakt, że zajmie trochę czasu, zanim są w pełni sprawne :-)

Myślę, że te punkty są najbardziej niedoszacowane punkty: korzystanie z frameworka zajmuje niewiele czasu ... Korzystanie z niego dobrze i do pełnego zakresu jego umiejętności trwa ... Cóż, może kilka miesięcy, może ... Co oznacza, kiedy jesteś w koniec twojego projektu powiesz "Powinienem przepisać to z wszystkimi rzeczami, których nauczyłem się podczas ponownego pisania go za pierwszym razem" :-D

Co to znaczy: dowiedz się, co może zrobić framework, dowiedz się, jak używać go i używać go przez jakiś czas w małych aplikacjach, zanim zaczniesz przepisywać swój duży!


Następnie, prawdopodobnie nie ma „najlepsze ramy”: jeden ramowa może być bardzo dobrze nadaje się do jednego projektu, a drugi może być najlepsze dla drugiego, innego projektu.

Nigdy nie pracowałem z CakePHP; Naprawdę lubię Zend Framework. Ale to jest osobista opinia, a O, ludzie, którzy naprawdę lubią symfony; nie są w błędzie: symfony jest świetny - i nie myliłem się ani^^
Mimo to czasami zgadzamy się na pewne rzeczy; jak fakt, że (warstwa domyślna ORM z Symfony) Doctrine jest naprawdę świetna sprawa, i mają tendencję do używania zarówno w symfony oraz projektów ZF-Based ...


Jeśli motywację, można spojrzeć na wiele stanowisk na SO, o frameworkach ...Oto kilka z nich:

Powodzenia z tymi ^^
("Which f R AMY”jest dość pationnating - i subiektywne - pytanie ^^)

+0

Z jakiegoś powodu myślałem, że Zend Framework jest prawnie zastrzeżony. Chyba mam więcej badań do zrobienia. – mattl

+0

Jeśli chodzi o pisanie mojej dużej aplikacji w ramach platformy, mamy już spory kawałek programistów, ale zawsze możemy użyć więcej. Czy byłbyś zainteresowany pomocą? – mattl

+0

Za tym kryje się firma (Zend), ale nie, zdecydowanie nie jest ona prawnie zastrzeżona; Jeśli dobrze pamiętam, to jest na jakiejś licencji BSD (i jest to świetna rzecz dla użytkowników); patrz http://framework.zend.com/license - i nie jest to jedyne środowisko, w którym znajduje się firma; Symfony też ma jeden, na przykład –

2

CakePHP ma dobre części, ale nie ma "najlepszego" rozwiązania. Here's a thread z pewnymi wskazówkami na temat tego, co jest dobre w najpopularniejszych frameworkach PHP.

Jeśli nigdy wcześniej nie korzystałeś z frameworków MVC (i Cake to framework MVC), powinieneś najpierw zapoznać się z wersją MVC architecture.

+0

Zrobiłem MVC trochę na projekcie Rails. Dzięki za wskaźnik. – mattl

+0

Dlaczego zatem nie przepisujesz swojej aplikacji w Railsach? – RaYell

+0

Railsy są dość trudne do wdrożenia przez użytkowników i chcemy, aby było to tak proste, jak to tylko możliwe. Ludzie powinni mieć możliwość wyrzucenia tego na konto hostingowe o wartości 5 USD. – mattl

1

FWIW, użyłem go na jakiś czas, kiedy jakiejś rozwoju PHP. Zauważyłem, że jest łatwy w użyciu, a aspekt szybkiego rozwoju był świetny i wyobrażam sobie, że właśnie się poprawił w ciągu ostatnich 3 lat. Jest mnóstwo pomocy w irc channel, a dokumentacja jest dobra. Nie trzymałem się w PHP wystarczająco długo, aby stać się ekspertem. Jednak dopiero zaczynałem jako programista i wpadłem na Larry'ego Mastersa (twórcę, aka phpnut) i był po prostu dobrym człowiekiem, z którym można porozmawiać na temat zasad projektowania i miłego faceta. Z drugiej strony nie musisz być super fajnym facetem, który napisałby dobre ramy sieciowe (patrzę na ciebie DHH).

0

Większość frameworków "wiąże" cię z nimi, co oznacza, że ​​musisz robić wszystko po swojemu. Jeśli chcesz zrobić coś, do czego nie zostały zaprojektowane, zazwyczaj musisz je zhackować. Na przykład, ile frameworków PHP obsługuje obecnie Facebook Connect?

Osobiście preferuję "ramy", w których można korzystać tylko z wybranych części. Zend jest taki, Doctrine i Propel są ORMami, które są zaprojektowane do użycia z innym kodem. Na przykład framework Symfony może używać jednego z nich.

Wreszcie, nie znalazłem popularnego framework PHP, który dobrze się skaluje.

0

Użyłem cakephp dla kilku projektów. Odkąd się tego nauczyłem, nigdy nie napisałem php bez niego (chyba, że ​​jest to fajny kod, w którym chcę wypróbować nowe rzeczy lub dowiedzieć się innych pomysłów na projekt z MVC). Jak wspomniano, uczenie się tego zajmie trochę czasu. Ile czasu zajmuje naprawdę zależy od tła. Jeśli używałeś innej architektury MVC dla języka skryptowego, nauczysz się tego bardzo szybko; Programiści RoR odbierają go w ciągu kilku godzin/dni. Jeśli nie masz doświadczenia ze strukturami MVC, może to trochę potrwać, ale naprawdę zaoszczędzi ci czasu później na drodze (także w tym projekcie, od którego zaczynasz).

Do dzisiaj wciąż uczę się nowych rzeczy o CakePHP za każdym razem, gdy rozpoczynam na nim nowy projekt, chociaż zajmuję się jego dużym kodem źródłowym (zdecydowanie nie musisz tego robić, dokumentacją i tablicami pomocy) są więcej niż wystarczające).

Zdecydowanie polecam, abyś się tym zajął. Zaoszczędzi ci to dużo czasu i sprawi, że będziesz myślał w inny sposób (jeśli nie jesteś przyzwyczajony do MVC).

Powodzenia. convention over configuration podejście

+0

Zauważyłem, że skomentowałeś wdrożenie, nie miałem problemów z wdrożeniem, jest to tak proste jak przeniesienie go na serwer (zakładając, że twój serwer jest gotowy do uruchomienia kodu php i ma mod_rewrite) i zmieniając niektóre pliki konfiguracyjne. – Alejandro

0

CakePHP zawiera kilka zalet po ich nauki:

  • pomaga utrzymać się kod zorganizowany i zrozumiały
  • ułatwia wielu programistów do współpracy przy tej samej aplikacji
  • marki Deweloperzy mogą zrozumieć aplikacje innych deweloperów

Masz dwie główne opcje przy przepisywaniu legaca Aplikacja rw CakePHP:

  • zmiana schematu bazy danych w celu odzwierciedlenia konwencje - co skutkuje mniejszym Code
  • swoje modele do współpracy z bazą danych starszego typu - this book idzie do wszystkich szczegółów

Albo sposób, kiedy już to zrobisz, jest to zwykły żeglowanie i dobre doznanie.