![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Cześć
![]() Napisałem klasę do obsługi stringów. Wzorowałem się na klasie string w C++. Dodałem też trochę funkcji PHP-owskich. Oto ona: http://rafb.net/p/4Ybq2A44.html Proszę o oceny ;] -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jaka w tym jest użyteczność? W czym mógłbym zastosować tą klasę i czym ona się różni od standardowych funkcji w PHP
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zero użyteczności.
Strasznie mi się nie podoba, typowy przykład bezsensownego wynajdywania koła na nowo. P.S. Po co używasz @access w dokumentacji składowych klasy? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jak już wspomnieli przed mówcy, 975 lini bez użytecznego kodu. A tak po za tym, to dziwię się, że chciało Ci się to pisać
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Hm. Nie wiem czy użyteczność zerowa... Tak samo jak z klasą mysqli i funkcjami mysqli_*(). Po co jest ta klasa skoro są funkcje?
![]() Zaraz pokażę w czym jest ona lepsza... ;]
To jest tylko taki przykład ;] Można jeszcze więcej rzeczy zrobić... Wszystko co w klasie string w C++ Zrobilibyście to za pomocą funkcji php? ![]() Ten post edytował Sokal 20.08.2007, 11:38:52 -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A poza tym większość metod jest źle napisana.Na przykład takie sha1(). Powinno zwracać zmieniona wartość a nie zminiać pole obiektu.Takich dziecinnych błędów jets więcej.
Powinno zwracać zmieniona wartość a nie zminiać pole obiektu.Takich dziecinnych błędów jets więcej. Klasa jest dla innego stylu kodowania. Częśc osób woli obiektowo.Niestety Twój obiekt, dla wykonania tych samych operacji wymaga wiele więcej czynności (w porównaniu z proceduralnym manilulowaniem stringami) a dodatkowo jets nakładką na natywne funkcje co dodatkowo zwalnia czas wykonywania tych operacji.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
E, ja tą klasę zrobiłem w jeden niecały dzień ;]
W następnych wersjach bym poprawił to co działa źle... Ale po tych Waszych postach już mi się odechciało... BTW. Może będziemy pisać w PHP3? ![]() -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
P.S.
No faktycznie, tyyyyle zaoszczędziłeś ![]() Klasa nadaje się dla osób, które nie potrafią manipulować funkcjami ciągów. Choć z drugiej strony osoby takie na dźwięk słowa klasa zaczynają szukac innego zawodu. Wydaje mi się, że doświadczeni programiści nie skorzystali by z takiej klasy. No chyba, że automatyzowałaby czynności faktycznie skomplikowane. A nie nakładała swje rzeczy na scha1(), str_replace(), substr(), ... zmianiający tylko nazwy. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
I co ? Może powiesz, że Twój sposób jest wygodniejszy?
-------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Szybszy i bardziej podatny na modyfikacje.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
Czyli według Ciebie oop jest dla lamerów, a programowanie proceduralne dla pro?
-------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#12
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
oop nie służy jako nakładka na natywne funkcje, klasy sa po to żeby wykonywac skomplikowane operacje, a nie to samo co potrafi funkcja tyle że zapis jest o kilka literek krótsze
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mike'owi chyba chodziło o to, że niepotrzebnie piszesz funkcje, które wywołują natywne funkcje PHP i nie robią nic więcej, a to jest bezużyteczne
![]() Równie dobrze mógłbyś sobie napisać
-------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]()
Post
#14
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Czyli według Ciebie oop jest dla lamerów, a programowanie proceduralne dla pro? Odwrotnie.OOP (tak jak ~kwiateusz wspomniał) jest między innymi po to by zaoszczędzić dużej ilości pracy, wykonując przezrozyście proste funkcje, które w tle robią dużo więcej. Twoja klasa powoduje że trzeba wykonać więcej czynności do osiągnięcia bardzo banalnych i oczywistych rzeczy dostępnych dzięki natywnym funkcjom. P.S. Czy Ty na pewnoe wiesz po co jets klasa String w C++. Mam poważne wątpliwości. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@Sokal Moze warto zaznajomic się z sensem stosowania takiej klasy w C++ a potem pomyslec czy aby w PHP takie cos jest potrzebne.
-------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
@Speedy
Ale o to chodzi w mojej klasie, że używająć mojej klasy nie musisz za każdym razem podawać do funkcji stringu... Robisz to raz w konstruktorze, pozniej mozesz podmienic ja bodajze funkcja set() // Oczywiście, że wiem po co jest klasa string w C++ Chyba nie chcesz działać na tablicach znaków char ;P Ten post edytował Sokal 20.08.2007, 12:02:26 -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
I zastanawiam się czy nie da sie operowac na twoim obiekcie za pomoca natywnych funkcji php operujących na stringach
Rozwinięcie istniejących w php rzeczy byłoby dobre. Pisanie tego samego mija sie z celem. -------------------- Warsztat: Kubuntu, PhpStorm, Opera
|
|
|
![]()
Post
#18
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
@Speedy No to strzeliłeś sobie gola.Ale o to chodzi w mojej klasie, że używająć mojej klasy nie musisz za każdym razem podawać do funkcji stringu... Robisz to raz w konstruktorze, pozniej mozesz podmienic ja bodajze funkcja set() Bo jeśli to powyższe było Twojm celem to schrzaniłeś klasę na całej linii ![]() Po naprawieniu błędów, będzie jeszcze mniej funkcjonalna. Spójrz: Jaki jest wynik? ![]() Widzisz, w Twojej klaie też trzeba definiować coś wiele razy albo przepisac ją całą albo korzystać z wielu obiektów (prostota poszła do kosza). |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 237 Pomógł: 1 Dołączył: 8.02.2007 Ostrzeżenie: (10%) ![]() ![]() |
No to właśnie mówię, że to można poprawić, jaki problem?
Dobra, kończymy topic. -------------------- Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
|
|
|
![]()
Post
#20
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Problem jest w tym, że jeśli to poprawisz to będziesz musiał operowac na kilku obiektach String. Będziesz robił dokładnie to samo co ja w przykładowym kodzie napisanym proceduralnie.
Ale na dodatek będziesz wykonywał nakładke obiektową na funkcje natywne, co prostoty nie da żadnej a zwiąkszy czas wykonania kodu (niewiele, ale jednak zwiększy). P.S. Hehehe, nie ma aprobaty to kończymy wątek, tak ![]() A czemu, 20 postów krytyki jest limitem ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:42 |