Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

586 Stron V  « < 501 502 503 504 505 > »   
Reply to this topicStart new topic
> Jeden Wielki OffTopick, jeśli masz pisać na temat, nie wchodź!
!*!
post
Post #10041





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(tzm @ 28.02.2015, 16:57:05 ) *
ok, a ogarnij mi to... mam w pracy skrypty ponizej php 5.3 i takie co na 5.5+ dzialaja. nie do konca kompatybilne byly te wersje i na macu sie przelaczam w mampie miedzy wersjami. jak taki patent zrobic majac recznie instalowane php? bo rozumiem ze musze miec dwie wersje php zainstalowane i co dalej?


Możesz odpalić inne PHP przez CGI i w apache przy tworzeniu vhosta nakazać mu korzystać z tejże wersji.
Go to the top of the page
+Quote Post
sazian
post
Post #10042





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


serio te skrypty pisane pod 5.3 nie odpalą się pod 5.5?
w tą stronę jeszcze chyba nigdy nie miałem problemu
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #10043





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


tzm, główna wada jest taka, że musisz to robić ręcznie, a to nie jest aż takie trywialne na początku. A może pokusisz się o instalację środowiska webowego w wirtualnej maszynie? Ciekawym rozwiązaniem jest na przykład Vagrant: www.vagrantup.com - wtedy możesz sobie łatwo żonglować wersjami PHP i wszystkiego, każdy projekt może być uruchamiany w innym środowisku.
Go to the top of the page
+Quote Post
tzm
post
Post #10044





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


@sazian , no dokladnie tak jest. pomysly dlaczego?

@Smoku , kojarze vagranta.. zerkne na to w wolnej chwili bo z tego co pamietam, polecali mi to juz kiedys.
Go to the top of the page
+Quote Post
sazian
post
Post #10045





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


ja mam skrypty pisane jak dobrze pamiętam jeszcze pod 5.2, teraz mam w systemie 5.5 i działają normalnie

odpal sobie raportowanie błędów i może coś pokaże.
Być może to nie problem z wersją php tylko jakiegoś modułu brakuje
Go to the top of the page
+Quote Post
solificati
post
Post #10046





Grupa: Zarejestrowani
Postów: 26
Pomógł: 10
Dołączył: 17.03.2012

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


Cytat(!*! @ 28.02.2015, 16:52:18 ) *
lub

  1. preg_match('#([\w]+)\\\([\w]+)#', $class, $match);
  2. return preg_replace('#\\\#','.', strtolower($match[0]));

Osobiście jestem zdania, że wyrażeń regularnych należy unikać, jeśli to możliwe (a mimo to w kdozie clojure użyłem, bo split nie przyjmuje stringa tylko regexp - niestety). To jest mimo wszystko osobny język, z inną semantyką i zwykle kiepsko sformatowany. I chyba w wyrażeniu zapomniałeś "^", ale nie pamiętam dokładnie specyfikacji wyrażeń regularnych w php.
Go to the top of the page
+Quote Post
Turson
post
Post #10047





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


API FB: jest sobie grupa. Chcę pobrać narodowość każdego członka grupy, czyli pobieram wszystkich członków, potem sprawdzam każdego narodowość (o ile user ma podane w profilu). API pozwala na takie coś?
Go to the top of the page
+Quote Post
!*!
post
Post #10048





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(solificati @ 28.02.2015, 19:27:53 ) *
Osobiście jestem zdania, że wyrażeń regularnych należy unikać, jeśli to możliwe (a mimo to w kdozie clojure użyłem, bo split nie przyjmuje stringa tylko regexp - niestety). To jest mimo wszystko osobny język, z inną semantyką i zwykle kiepsko sformatowany. I chyba w wyrażeniu zapomniałeś "^", ale nie pamiętam dokładnie specyfikacji wyrażeń regularnych w php.


^,$ nie są wymagane bo podajesz prosty string jedno liniowy. Co kto lubi, mi tam wyrażenia odpowiadają bo są łatwe do ogarnięcia, a same funkcje w php, szczególnie te od 5.x są b. szybkie.
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #10049





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Wyrażeń regularnych faktycznie warto unikać jeśli nie trzeba ich używać, ale przeważnie gdy pojawia się pomysł ich użycia, to trudno o lepszą alternatywę (IMG:style_emoticons/default/smile.gif) Ja jestem przeciwnikiem używania ich do parsowania HTML-a, ale do operacji na tekście są bardzo przydatne. Składnia wzorców nie należy jednak do najczytelniejszych.
Go to the top of the page
+Quote Post
!*!
post
Post #10050





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


@up - Konkretnie. Dlaczego należy ich unikać.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10051





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Jak wszystkiego trzeba używać z umiarem, nikt nie będzie strzelał przeca za użycie jednego wyrażenia zamiast std. funkcji.
Ale jak już ktoś odpali reg_exp w pętlli np. 10k elementów zamiast str_replace to już przesada.

Go to the top of the page
+Quote Post
Forti
post
Post #10052





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Także jestem ciekawy dlaczego należy ich unikać. Jezeli ktos nie potrafi ich przeczytać to juz jego wina/problem. Ld tego są takie strony jak np. Regex101.
Go to the top of the page
+Quote Post
!*!
post
Post #10053





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(Pyton_000 @ 2.03.2015, 08:51:37 ) *
Ale jak już ktoś odpali reg_exp w pętlli np. 10k elementów zamiast str_replace to już przesada.


Konkrety Panie... Jak masz potrzebę odpalenia 10k preg_* lub str_* to czym przedkładasz jedno nad drugie? Mam dziwne wrażenie że macie jakieś złe wspomnienia z eregi, które dawno wyleciało i było czym innym.
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #10054





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Cytat(Forti @ 2.03.2015, 08:53:05 ) *
Jezeli ktos nie potrafi ich przeczytać to juz jego wina/problem.

Tu nie chodzi tylko o to czy ktoś umie czy nie, tylko też o czas jaki to zajmuje, wyłapywanie błędów i tak dalej. Wyrażenia regularne są nieczytelne i nie zmieni tego nawet Twoja doskonała ich znajomość (IMG:style_emoticons/default/smile.gif) Skomplikowanych wzorców się nie czyta jak bajki na dobranoc.
Go to the top of the page
+Quote Post
!*!
post
Post #10055





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(SmokAnalog @ 2.03.2015, 10:36:40 ) *
Tu nie chodzi tylko o to czy ktoś umie czy nie, tylko też o czas jaki to zajmuje, wyłapywanie błędów i tak dalej. Wyrażenia regularne są nieczytelne i nie zmieni tego nawet Twoja doskonała ich znajomość :) Skomplikowanych wzorców się nie czyta jak bajki na dobranoc.


Czyli nie masz żadnego argumentu, poza "bo tak, bo ja nie ogarniam". Równie dobrze mógłbyś napisać że ORM, lub inne metody pomocnicze w budowaniu zapytań do bazy są lepsze, bo sam język SQL jest za trudny.
Go to the top of the page
+Quote Post
Forti
post
Post #10056





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Cytat(SmokAnalog @ 2.03.2015, 10:36:40 ) *
Tu nie chodzi tylko o to czy ktoś umie czy nie, tylko też o czas jaki to zajmuje, wyłapywanie błędów i tak dalej. Wyrażenia regularne są nieczytelne i nie zmieni tego nawet Twoja doskonała ich znajomość (IMG:style_emoticons/default/smile.gif) Skomplikowanych wzorców się nie czyta jak bajki na dobranoc.



W przypadku gdy jedynym argumentem jest nie czytelność skomplikowanych wzorców to smutne, ponieważ skomplikowane wzorce z definicji są trudne w czytaniu. Np. prosta walidacja czy mamy do czynienia z kodem pocztowym:

  1. ^([0-9]{2})-([0-9]{3})$


Co jest w tym trudnego do czytania? A zrób to jakimiś funkcjami php. Chętnie porównam wyniki w pętli 1000 (IMG:style_emoticons/default/wink.gif)


edit:

oczywiście, że przeważnie str_replace itp. są lepszym rozwiązaniem. Jednak tam gdzie potrzeba skomplikowanych regex (parsowanie kodu html - łatwiej regex niż jakieś parsery html - oczywiście czasami, nie zawsze) - po prostu po to ktoś je wymyślił. Mają ułatwiać (IMG:style_emoticons/default/wink.gif)

Ten post edytował Forti 2.03.2015, 11:36:30
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10057





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. list($pre, $post) = explode('-', '12-200');
  2. if(is_numeric($pre) && strlen($pre) == 2 && is_numeric($post) && strlen($post) == 3)
  3. {
  4. die('good');
  5. }


(IMG:style_emoticons/default/tongue.gif)

Ten post edytował Pyton_000 2.03.2015, 11:39:54
Go to the top of the page
+Quote Post
solificati
post
Post #10058





Grupa: Zarejestrowani
Postów: 26
Pomógł: 10
Dołączył: 17.03.2012

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


Cytat(!*! @ 2.03.2015, 10:39:44 ) *
Czyli nie masz żadnego argumentu, poza "bo tak, bo ja nie ogarniam". Równie dobrze mógłbyś napisać że ORM, lub inne metody pomocnicze w budowaniu zapytań do bazy są lepsze, bo sam język SQL jest za trudny.

Taki sam argument jest za stosowaniem refaktoryzacji, "bo bez refaktoryzacji ja nie ogarniam". Programy są pisane tak jak są po to, żeby wszyscy ogarniali.

Wyrażenia regularne to inny język, którego treść jest w stringu. Jest to język, który się w większości implementacji fatalnie formatuje. Wyrażenia regularne mają więcej haczyków w implementacjach w różnych językach niż DOM w IE. Do tego większość ludzi pisze wyrażenia regularne jednocześnie nieczytelnie i niewydajnie. Niektórzy nawet sądzą, że *generowanie* wyrażenia regularnego w kodzie to świetny pomysł.
Go to the top of the page
+Quote Post
!*!
post
Post #10059





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(Pyton_000 @ 2.03.2015, 11:39:25 ) *
  1. list($pre, $post) = explode('-', '12-200');
  2. if(is_numeric($pre) && strlen($pre) == 2 && is_numeric($post) && strlen($post) == 3)
  3. {
  4. die('good');
  5. }


:P


http://php.net/is_numeric

Czyli Twój kod da się oszukać :P

@solificati - pewnie że tak.

Ten post edytował !*! 2.03.2015, 11:50:59
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10060





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Nie napisałem że to jest ideał (IMG:style_emoticons/default/wink.gif) Pisane na szybko.
Oczywiście że w tym i wielu innych przypadkach lepiej użyć reg_exp.

Niech każdy używa czego chce (IMG:style_emoticons/default/wink.gif) Ja czasami z lenistwa wolę regexp '(slowo|slowo2)' niż bawić się w coś innego. Kontekst jest ważny.

Jak tam Wasze poniedziałki?
Go to the top of the page
+Quote Post

586 Stron V  « < 501 502 503 504 505 > » 
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: 15.06.2026 - 12:49