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
Cysiaczek
post
Post #2





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

Posty w temacie


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: 29.12.2025 - 03:45