![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zależy mi na ocenie mojego skyptu. Uczę się i chcę wiedzieć co robię źle. Skrypt już ściągneło 14 osób ale nikt nawet nie raczył mi powiedzieć czy działa, czy może jest całkiem do kitu. Skrypt jest bardzo mały i jego przeanalizowanie nie zajmie wam dużo czasu. To mój drugi skrypt po totalnie beznadziejnej księdze gości, którą napisałem jakiś czas temu ;-) [źródło]. Planuję już następny bardziej skomplikowany skrypt (so beware!!!) ;-))))
Dzięki!! Edit [przykład użycia]:
Ten post edytował lysiu 2.10.2009, 19:39:29 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Może się mylę, ale jak już używasz funkcji to nie lepiej opakować je w klasę i dodać pole publiczne zamiast bawić się globalami?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
- poczytaj o programowaniu obiektowym,
- global'e nie są najlepszym rozwiązaniem, - polskie nazwy - po tym poznasz amatora To tak na pierwszy rzut oka. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
ok, dzięki. Dzisiaj to poprawie (IMG:style_emoticons/default/czarodziej.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 44 Dołączył: 22.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Logiki, ani wydajności nie analizowałem, ale
dobrze: -utrzymanie jednolitej konwencji nazewniczej funkcji: oddzielające podkreślniki (_) i rozpoczynanie nazw od "polodm" żle: - lepiej, wygodniej, estetyczniej i przejrzyściej użyć klas(y) i metod zamiast grup funkcji - polskie nazewnictwo funkcji (standardem jest używanie języka angielskiego w kodzie, nawet jeśli odbiorcą skryptu jest Polak/Polka) - jeśli chcesz sprawdzić czy zmienna jest NULL to robi się to tak: if(is_null($var)) { } - zamiast zwracać z funkcji typ NULL lub string "(NULL)" - zwróć wartość false - te drugie nawiasy nie są potrzebne, wynik operacji modulo i tak zostanie przypisany do zmiennej $liczba: if( $liczba > 9999 ) $liczba = ($liczba%10000); To tak pobieżnie, już na początku napisałem, że nie analizowałem ani logiki ani pod kątem "co by można tu zrobić szybciej i krócej". Życzę powodzenia w dalszej nauce PHP |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Gratuluje poczucia humoru A nie? Jak pracujesz w firmie i robisz jakiś system internetowy to gdy zajmie się nią zagraniczna grupa, szybko uczy się Polskiego. Co więcej, jak bierzesz system zrobiony przez Duńczyków, to uczysz się Duńskiego. No i CakePHP, on pewnie też był pisany po polsku. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za wszystkie poprawki, niektóre wprowadziłem. Miałem trochę problemu z przejściem na język obiektowy, ale sobie poradziłem. poprawione
Ale mam inny problem. Ponieważ nie byłem pewien czy moje zmienianie daty dobrze działa, dodałem opcję by ten ficzer wyłączyć. Metoda (kod, przy którym się zapętla zaznaczyłem wykrzyknikami):
Funkcję rejestruje w wordpress: A błąd dostaje taki: Kod Fatal error: Maximum execution time of 30 seconds exceeded in E:\Programy\WebServ\httpd\vhosts\wp\wp-includes\functions.php on line 118 Nie wiem, czy potrzebna jest znajomość wordpressa by to zdiagnozować (IMG:style_emoticons/default/smile.gif) Z góry dziękuję, i pozdrawiam. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Z jakichś powodów Twoja funkcja przekracza maksymalny czas który dostaje od serwera na wykonanie się. Przetestuj ją (czas jej wykonania w różnych momentach, żeby znaleźć dziurę) funkcją microtime()
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Z jakichś powodów Twoja funkcja przekracza maksymalny czas który dostaje od serwera na wykonanie się. Przetestuj ją (czas jej wykonania w różnych momentach, żeby znaleźć dziurę) funkcją microtime() Przecież napisałem kiedy i gdzie się zapętla. Tylko nie wiem dlaczego, na #wordpress też nie wiedzą, a pewnie błąd jest zbyt oczywisty by go dostrzec (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Oj, bo takie rzeczy się pisze w poście a nie komentując kod.
http://wordpress.org/tags/apply_filters http://codex.wordpress.org/Function_Reference/apply_filters http://codex.wordpress.org/Function_Reference/get_the_time Masz i grzeb, że tak powiem. Wtedy naprawdę się czegoś nauczysz i będziesz miał z tego satysfakcję. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
tak doładniej to zawiesza się na:
;-) przydało by się gdb, a pozatym jak to się może zawiesić, tego nie rozumiem. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A na jakim tekscie operuje ta funkcja?
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
dodałem echo przed zapętlającą się funkcją:
i oto część outputu: http://pastie.org/648233 a tu jak chcesz masz cały, wczytuje się dokładnie 30s: http://irci.mine.nu:666/ |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Łe? Tego kodu nie ma w kodzie wtyczki który wkleiłeś, wklej cały kod.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 22.09.2009 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
heh (IMG:style_emoticons/default/winksmiley.jpg) To jest funkcja wordpress; wp-include/functions.h -> http://xref.yoast.com/2.8/nav.html?wp-incl...source.html#118 <-- linia 118, przed tą linią dodałem echo. Wcześniej wkleiłem swój kody przy którym się zawiesza, i napisałem jaki jest błąd, wątpię, żeby to był problem wordpress'a, raczej moja funkcja, wywołuje go za dużo razy, przynajmniej tak mi się wydaję.
jak widać w linku http://irci.mine.nu:666/ $dateformatstring cały czas się rozrasta, i gdyby nieograniczenia czasu wykonywania skryptu, rozrastało by się w nieskończoność (IMG:style_emoticons/default/smile.gif) Ten post edytował lysiu 9.10.2009, 16:03:01 |
|
|
![]() ![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 9 Dołączył: 28.08.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Piszesz dla siebie - ok. I to nazywamy programowaniem amatorskim. Gdybyś chciał stworzyć coś większego, niekoniecznie dla firmy, dla klienta, po prostu napisać klasę, którą chciałbyś się podzielić ze światem, pewnie napiszesz ją po polsku, co? A ludzie z innych państw, chcący przeanalizować działanie Twojej klasy, lub ją zmienić, będą musieli się nauczyć polskiego, tak?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 17:18 |