Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przepisanie pluginów Symfony dla Propel 1.3
Cysiaczek
post
Post #1





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Witam,

Ci, którzy korzystają z Symfony i próbowali w tym farmeworku przejść na Propel 1.3 wiedzą, że większość pluginów najzwyczajniej w świecie przestanie działać. Winne temu jest API Creole, które różni się od API PDO. Nie zgadza się m.in. Wymuszanie typów.
np.
  1. <?php
  2. function (Criteria $c, $con){}
  3. ?>

Musi dla Propela 1.3 wyglądac następująco
  1. <?php
  2. function (Criteria $c, PDO $con){}
  3. ?>


Pętle operujące na wynikach z bazy też się różnią budową i sposobem pozyskania danych
np. w Creole
  1. <?php
  2. $id=$rs->getInt('id');
  3. ?>

w PDO po prostu
  1. <?php
  2. $id=$row['id'];
  3. ?>

Takich zmian dostosowujących API jest wiele. Wystarczająco dużo, aby zablokować przejście na nowszego Propela w nieco większym projekcie.
Propel 1.3 jest dużo wydajniejszy, co miałem okazję sam sprawdzić (zarówno mniejsza konsumpcja pamięci jak i szybsze przebiegi). Jego użycie jest zalecane przez developerów Symfony, tymczasem autorzy pluginów pokpili trochę sprawę i nie zanosi się na to, aby miel ochotę je przepisywać. Z tego, co widzę, to sprawdzają tylko zgodność z SF 1.1 i publikują jako "SF 1.1 Ready"

Chciałbym zatem zapytać, czy znajdą się ochotnicy chcący pomóc przy przepisywaniu tych pluginów? Jeśli tak, to porozmawiałbym z developerami SF w sprawie przygotowania jakiejś infrastruktury (gałęzie SVN), nazewnictwa (np. sfPropel13ActAsNestedSetBehaviorPlugin) i innych spraw organizacyjnych.

Zapraszam do wymiany opinii (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam.

--up
Naprawdę nie ma ochotników? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


No właśnie zastanawiałem się co Ci odpisać. Z jednej strony bardzo chciałbym się zaangażować. Przepisanie kilku najważniejszych pluginów byłoby super inicjatywą.
Niestety mogę nie miaeć czasu. W zasadzie to wiem nawet na pewno, że nie za bardzo będe miał czas na to (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Poza tym pomysł super.
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Powiem Ci, że napotkałem pewien opór ze strony kogoś, kto zdaje się być jednym z devów SF - odrobinę mnie zdenerwował, gdy stwierdził, że bez sensu jest umieszczać tyle powtarzającego się kodu. Rozumiem, że to wprowadza jakiś element chaosu, ale osobiście doświadczyłem problemów z tymi pluginami, bo mimo chęci, musiałem zrezygnować z ich zastosowania w projekcie. Z 10 pluginów, które wpisałem na listę, 50% było tylko dla SF 1.0, a 100% napisane dla Propela 1.2.
Efekt: Utknąłem z Symfony 1.0 i Propelem 1.2 po raz kolejny. Ciekawe ile projektów miało podobną historię?
Rozbawił mnie też argument, że nie każdy developer wie, jakiej wersji propela używa i nakazanie wybierania pomiędzy 1.2 i 1.3 to za dużo komplikacji.
Powoli zaczyna się robić to sam, co z PHP - próba zachowania kompatybilności wstecznej tak długo, jak się tylko da.

Do przepisania nie jest aż tak dużo, jak by się mogło zdawać. To głównie to, co napisałem wyżej - zamiana Creole-like na PDO-like. Sam bym to pewnie był w stanie zrobić, ale trzeba najpierw wyodrębnić pluginy, które muszą zostać przepisane (kilkadziesiąt pewnie), przepisać i jeszcze to potem opublikować. Ja też nie mam teraz zbyt wiele czasu (co widać po mojej słabej frekwencji na forum). Na razie jest to luźny pomysł i do tego jeszcze nie wynegocjowany z Symfonianami. Cóż, napiszę prosto do Fabiena.

btw. Przepisanie sfGuard zajęło mi jakieś 15 minut, więc tak źle nie jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
pawel_k
post
Post #4





Grupa: Zarejestrowani
Postów: 211
Pomógł: 3
Dołączył: 29.07.2005
Skąd: Szczebrzeszyn

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


ja myślę że najlepiej by było pomyśleć o przepisywaniu innych pluginów nie na propel 1.3 ale na DbFinderPlugin... miałoby to dużo większy sens - brak powtarzania kodu, brak przywiązania do jednego ORM'a (DbFinder już teraz obsługuje Propela 1.2 i 1.3 oraz Doctine), ogólny porządek...

Ten post edytował pawel_k 25.10.2008, 23:41:50
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




O tym nie pomyślałem, ale rzeczywiście to nawet zdaje się być bardziej sensowne:)
Pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 28.12.2025 - 23:11