Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Newsy _ PHP 7

Napisany przez: toffiak 30.07.2014, 14:31:32

Dzisiaj (30 lipiec 2014 ) oficjalnie umarł PHP 6 i narodził się PHP 7.
Deweloperzy języka w stosunku 24:58 uznali że kolejną dużą wersją PHP będzie wersja siódma a nie szósta.
Za zmianą numeracji przesądziły niepowodzenia przy poprzedniej wersji 6. Przypomnę tylko że wersja ta nigdy nie była udostępniona jako stabilna aż wkońcu porzucona całkowicie, większość z nowości z tej wersji została przeniesiona do gałęzi 5.x.

Szczegóły i argumentacja odnośnie zmiany nazwy w https://wiki.php.net/rfc/php6#strong_reasons_of_why_we_actually_should_skip_version_6_into_7

Napisany przez: Pyton_000 30.07.2014, 19:46:47

Łojj będzie się działo wink.gif

Napisany przez: BigPig 30.07.2014, 21:00:11

Wydaje mi się, że to był z ich strony dosyć sensowny ruch smile.gif

Napisany przez: MatKus 31.07.2014, 07:41:08

Bardziej od tego, jaką cyferkę będzie PHP miało zastanawia mnie, co wprowadzą i jakie problemy rozwiążą. Ale pewnie na to jeszcze za wcześnie

Napisany przez: vermis 31.07.2014, 08:54:45

Wygląda na to że po prostu wypuszczą stabilną wersję pod nową nazwą PHP7.

Napisany przez: !*! 31.07.2014, 10:05:25

Cytat(toffiak @ 30.07.2014, 15:31:32 ) *
Deweloperzy języka w stosunku 24:58 uznali

Oni się jeszcze bawią w demokrację. facepalmxd.gif

Napisany przez: toffiak 31.07.2014, 10:44:23

Cytat(MatKus @ 31.07.2014, 08:41:08 ) *
Bardziej od tego, jaką cyferkę będzie PHP miało zastanawia mnie, co wprowadzą i jakie problemy rozwiążą. Ale pewnie na to jeszcze za wcześnie


Może wkońcu Unicode, jakaś porządna biblioteka podstawowych typów jak jest np w Pythonie, wyrzucenie <?php ze skryptów... a najprawdopodobniej będzie to coś na wzór Facebookowego HVVM znanego aktualnie jako PHPNG

Cytat(!*! @ 31.07.2014, 11:05:25 ) *
Oni się jeszcze bawią w demokrację. facepalmxd.gif


Demokracja nie jest zła, ale ktoś jednak powinien mieć głos decydujący.

Napisany przez: XDocTorX 1.08.2014, 07:31:39

Uff cyferka wybrana najtrudniejsze za nimi, teraz już tylko muszą napisać kod...

Napisany przez: Dejmien_85 1.08.2014, 13:57:03

Cytat(toffiak @ 31.07.2014, 11:44:23 ) *
Demokracja nie jest zła, ale ktoś jednak powinien mieć głos decydujący.


Demokracja jest zła, bo to rządy większości (czyli głupoty - średnio więcej jest głupszych, niż mądrzejszych). W demokracji masz dwa wybory - albo poprzeć to co chce większość, albo się temu przeciwstawić - w obu przypadkach nic Ci to nie da oprócz satysfakcji, że sobie zagłosowałeś.

Co do zmian - nie wiem co zmieni się w PHP 7, ale mam nadzieję, że odetną pępowinę od obecnych wersji PHP.

Python 3 jakoś żyje.

Napisany przez: darko 1.08.2014, 15:37:31

Zagrywka głównie marketingowa, napędzająca rynek pieniędzmi - książki, które już wydano o php6 (np. http://www.amazon.com/Professional-PHP6-Wrox-Programmer/dp/0470395095) trzeba będzie przedrukować i dodać kilka akapitów o PHP7.

Napisany przez: Pyton_000 1.08.2014, 16:08:21

Po co drukować coś czego jeszcze de facto nie ma. Tutaj to akurat strata pieniędzy

Napisany przez: SmokAnalog 1.08.2014, 17:19:58

Cytat(toffiak @ 30.07.2014, 15:31:32 ) *
Deweloperzy języka w stosunku 24:58 uznali że kolejną dużą wersją PHP będzie wersja siódma a nie szósta.

W dodatku wszyscy developerzy o nickach zaczynających się na M, a było ich aż 9-ciu, głosowało za PHP7. Przypadek? Nie sądzę. nerdsmiley.png

Napisany przez: Turson 1.08.2014, 17:42:30

Nie rozumiem, budowa PHP6 nie poszła po ich myśli, to zmieniają numerek na 7, ale... dalej będą robili to samo. Bez sensu

Napisany przez: SmokAnalog 1.08.2014, 17:55:27

Turson, myślę że to ma na celu "odczarowanie" felernej wersji, może to ma dać im kopa motywacyjnego?

Napisany przez: Spawnm 1.08.2014, 18:01:54

To im daje takiego kopa że jeśli wersja 7 okaże się niewypałem, tak jak php6, to php może sporo stracić na rynku, a i komuś pod nogami może zrobi się gorąco.

Napisany przez: SmokAnalog 1.08.2014, 18:04:13

Spawnm, nie wiem czy żartujesz czy nie, ale to co piszesz jest sensowne. To też jest forma motywacji.

Napisany przez: Turson 1.08.2014, 20:17:59

Cytat(SmokAnalog @ 1.08.2014, 18:55:27 ) *
Turson, myślę że to ma na celu "odczarowanie" felernej wersji, może to ma dać im kopa motywacyjnego?

Dla mnie to tak, jakbyś np. tworzył serwis ogłoszeniowy o nazwie X, ale nie idzie ci bo słabo ogarniasz frameworka i musisz się poduczyć, to zmieniasz nazwę na Y i liczysz, że nagle wyjdzie.

Napisany przez: !*! 2.08.2014, 10:36:38

Cytat(Turson @ 1.08.2014, 18:42:30 ) *
Nie rozumiem, budowa PHP6 nie poszła po ich myśli, to zmieniają numerek na 7, ale... dalej będą robili to samo. Bez sensu


Nie będą robili tego samego, bo już to dawno zakończyli i bajery z 6 masz w wersjach 5.x
Zmiana na 7 to tylko zagrywka wizerunkowa, to samo było z winamp 3 na 5.

Moim zdaniem nie będzie rewolucji, nie w takim systemie głosowań. Gdzie jest zespół Zenda, bo to oni trzymają łapę na całym PHP? Dlaczego jako firma oddali to w ręce OS?

Napisany przez: Pyton_000 2.08.2014, 14:39:28

Na php.net jest wyjaśnienie dlaczego taki zabieg został przyjęty.

Napisany przez: ZaXaZ 2.08.2014, 16:53:47

pewnie wkońcu skasują mysql_* raz na zawsze :-))

Napisany przez: toffiak 4.08.2014, 18:30:16

http://www.phpclasses.org/blog/post/242-PHP-7-Features-and-Release-Date.html

Czyli jednak PHP 7 to PHPNG, cóż wydajność jest ważna ale mogliby też uporządkować sam język, o wsparciu dla unicodu wogóle nie wspomnieli już nie mówiąc o pozbyciu się ( lub sensownym uporządkowaniu ) całej masy funkcji rodem z C.

Napisany przez: zulus 12.08.2014, 14:48:53

7ka to przede wszystkim wciągniecie phpng (w zasadzie już po głosowaniu: https://wiki.php.net/rfc/phpng) który znacznie poprawia wydajność i to bez JIT.

Poza tym jest szansa że jednak pojawi się type hinting:
https://wiki.php.net/rfc/scalar_type_hinting_with_cast
https://wiki.php.net/rfc/returntypehinting

Na internalsach trwa jeszcze dyskusja na temat wrzucenia funkcji wbudowanych do przestrzeni nazw "PHP".

Napisany przez: Pyton_000 12.08.2014, 15:26:59

Type Hinting byłoby w końcu dobrym rozwiązaniem. Brakowało mi tego

Napisany przez: viking 12.08.2014, 18:43:42

Dlatego tak bardzo podoba mi się Zephir. Pracują też obecnie nad JIT a inne rzeczy też już dawno obecne np http://zephir-lang.com/oop.html#return-type-hints . Ale dobre jest to że pomysły wdrażane gdzie indziej jednak z czasem pojawiają się w PHP. Ten język trze na jednak uporządkować albo stworzyć coś nowego.

Napisany przez: Dejmien_85 12.08.2014, 20:12:54

Mam nadzieję, że Zephir, Hack oraz HHVM dadzą tak po dupie core-developerom PHP, że zaczną w końcu działać i nie zrobią z PHP 7 tego, co zrobili z PHP 6 - wtedy też były mega plany i obietnice, a skończyło się na mega klapie.

Ogólnie podobają mi się nowe koncepcje. Szkoda, że nie chcą zerwać kompatybilności z obecnym PHP (i stworzyć nowe, piękne, łanderful i bjutiful PHP) - ale w sumie ich rozumiem, setki apek musiałoby zostać przepisanych, boją się, że PHP mogłoby zostać porzucone.

Zend ma w tym interes, więc będą walczyć o to, aby ludzie nie przeskoczyli na HHVM (i Hacka). Dzięki bogu, że pojawiła się konkurencja (HHVM, Hack, Zephir), bo o PHP 7 byśmy jeszcze do tej pory nie usłyszeli, a core-developerzy dalej by się chlastali z PHP 6.

PS Type Hinting w PHP? Hmm, Nice! cool.gif

Napisany przez: peter13135 18.08.2014, 19:19:55

Cytat
już nie mówiąc o pozbyciu się ( lub sensownym uporządkowaniu ) całej masy funkcji rodem z C.

Nie bardzo rozumiem "problemu" w tym, że te funkcje istnieją. Co da ich usunięcie ? Jakie uporządkowanie masz na myśli ?

Moim zdaniem sensowną ewolucją jest po prosty dołożenie nowych klas, a stare niech zostaną dla zachowania kompatybilności. Np. w c++ masz klasę string, ale jak chcesz to nadal możesz sobie używać funkcji z string.h.

Napisany przez: zulus 18.08.2014, 19:39:49

Cytat(peter13135 @ 18.08.2014, 20:19:55 ) *
Moim zdaniem sensowną ewolucją jest po prosty dołożenie nowych klas, a stare niech zostaną dla zachowania kompatybilności. Np. w c++ masz klasę string, ale jak chcesz to nadal możesz sobie używać funkcji z string.h.

Klasy niestety = narzut, referencje, problemy z porównaniem (equals() z javy tongue.gif ?). Lepiej jakby scalary miały swoje metody (były pseudo obiektami), np wszystkie str* do wywołania jako "sdfsdf"->toLower().

Problemem nie tyle są funkcje C, co bajzel z nazewnictwem / kolejnością argumentów (to wciąż się przewija przez internalsy, np strpos vs explode vs string_replace).

Z nowych ciekawostek dla php7:


Poza tym między 5.6 a 7 prawdopodobnie zostanie wydana 5.7, jako przejściowa (deprecate na elementach które na pewno wylecą itd..).

Napisany przez: niebieskiciapek 19.08.2014, 12:57:30

E tam, marudzenie, że niby jest źle a nie ma języka w którym można pisać i robić poważne zmiany w kodzie wydajniej. Ja już wolę to strtolower czy strpos, niż wkładanie wszystkiego w objekt i pisanie elaboratów jak w java, toporność i całą masę crapu wepchniętą w C++ / STL-a czy niespójność pythona (który nawet szybszy nie jest). Jeszcze JS jest jako-tako zaprojektowany, że można w tym wygodnie pisać pod web (jeśli się wie jak) - tylko na backend specjalnie się to nie nadaje, bo trzeba ręcznie zarządzać podziałem czasu wątku, i pod to pisać praktycznie całą aplikację - a to po prostu niewykonalne.

Hack, czy hhvm... ciekawostki. Najlepiej pisać w tym jeśli to takie fajne. Tylko, że ludzie by chcieli wydajność hhvm albo bezpieczeństwo hacka za darmo, później się okazuje, że trzeba za to dodatkowo zapłacić (i to sporo)... więc piszemy w php. Tak samo jak z node czy go, w php w miarę poprawny kod napisze prawie każdy i bardzo szybko... w czym innym już nie za bardzo. Z tym że 2 w/w są przynajmniej o wiele szybsze, więc można użyć do pisania algorytmów czy wstawek, jak zephir.

Najśmieszniejsze jest to, że w PHP bez problemu można ogarnąć w miarę duży projekt. A na forach dość dużo narzekania. W node czy dart praktycznie jakikolwiek refactoring jest niemożliwy, a kod powyżej 1000 linijek bez sterty komentarzy zamienia się w kupę pełną setek callbacków... a wszyscy tak się tym zachwycają wink.gif

Napisany przez: Dejmien_85 19.08.2014, 16:22:36

Cytat(niebieskiciapek @ 19.08.2014, 13:57:30 ) *
Najśmieszniejsze jest to, że w PHP bez problemu można ogarnąć w miarę duży projekt. A na forach dość dużo narzekania. W node czy dart praktycznie jakikolwiek refactoring jest niemożliwy, a kod powyżej 1000 linijek bez sterty komentarzy zamienia się w kupę pełną setek callbacków... a wszyscy tak się tym zachwycają wink.gif


Punkt widzenia zależy od punktu siedzenia, a religijne wojny trwają od dekad. Oglądając różne konferencje i wypowiedzi starszych programistów (mających po 30 lat doświadczenia w programowaniu), wielokrotnie słyszałem o tym, że wojny religijne to kolejna stała w programowaniu, zmieniają się jedynie języki i uwaga programistów. W dzisiejszych czasach narzeka się głównie na PHP, Javę, C++. Wszystko co jest popularne przykuwa uwagę, a jak mawia stara prawda - popularność mierzy się miarą wrogów.

W każdym języku da się pisać, tylko w każdym się pisze nieco inaczej. Dla niektórych "inność" jest nie do zaakceptowania, tak więc narzekają na "inne" języki, czcząc i wychwalając swojego jedynego wybrańca, "Boga". ; >

I niestety Ty kolego także w to wpadłeś, bo narzekasz tutaj na Javę, C++ i Pythona. ; )

Pamiętaj, że każdy ma inny gust i o gustach się nie dyskutuje. To, że Tobie Java i inne języki nie służą nie oznacza, że są złe. Ja PHP nie bronię, nie identyfikuję się z tym językiem (z żadnym). Znam kilku bardzo doświadczonych programistów (także po 20+ lat doświadczenia), którzy także znają PHP i je używają (co prawda rzadko), mawiają, że jest to dobry język do narzekań - ludzie po prostu lubią narzekać na PHP.

Tak, każdy język ma swoje wady. I nie, nie ma idealnego języka. Język to narzędzie, które zawsze można odłożyć na bok. A gdy ktoś zaczyna się identyfikować z jakimś językiem, uważać go jako swoją prawą dłoń, wtedy zaczynają się problemy...

Napisany przez: niebieskiciapek 19.08.2014, 18:21:33

Tylko, że ja nie narzekam, że Java, C++ czy Python nie nadają się do niczego... jedynie do projektów webowych o specyfice o której tu pewnie rozmawiamy. Bo jeśli tolerancja błędów i szybkość działania PHP jest do zaakceptowania to tak na prawdę na dzień dzisiejszy nie ma czym go zastąpić. Te wszystkie "alternatywy" wyglądają dobrze jedynie na papierze ew. w bardzo wąskim przedziale zastosowań... a dorosłe języki w ogóle się do tego typu projektów nie nadają, bo były projektowane Xdziesiąt lat temu, do czegoś zupełnie innego.

Używałem C++ i Java na desktop, tak samo nie ma tego na dzień dzisiejszy za bardzo czym zastąpić.

Napisany przez: peter13135 19.08.2014, 19:10:01

Cytat
Bo jeśli tolerancja błędów i szybkość działania PHP jest do zaakceptowania to tak na prawdę na dzień dzisiejszy nie ma czym go zastąpić.

w firmie w której pracuję, robi się strony www (tzn. stronek jako tako nie klepiemy, ale może to być część większej aplikacji) w technologiach ms (.net, asp.net) a także w javie (jsp itp.).
Aplikacje desktopowe zarówno w Javie jak i c# oraz kilku innych technologiach (niektóre projekty mają już sporo lat, więc są pisane w dość egzotycznych językach).

PHP ma dużą konkurencję jeśli chodzi o technologie (www można robić i w javie i w .net i wielu innych technologiach. Mi osobiście podoba się Grails). Popularność PHP nie wynika z tego, że jest niezastąpiony, tylko z tego, że był jednym z pierwszych - wtedy była to dobra technologia więc się upowszechnił i dlatego jest sporo tanich serwerów obsługujących php, oraz jest dużo tanich klepaczy php. Z punktu widzenia biznesowego, taniej i łatwiej jest znaleźć ekipę PHPowców niż Grailowców czy RORowców. Jakość języka ma tu niewiele do rzeczy.



Cytat
W node czy dart praktycznie jakikolwiek refactoring jest niemożliwy

Za to w javie/c# refaktoring jest znacznie prostszy niż w php. Jak w projekcie są testy jednostkowe, to w czym by nie był napisany, to będzie w miarę ok, ale gdy brak testów, to w językach kompilowanych refaktoryzacja jest znacznie łatwiejsza - przynajmniej dla mnie.


Cytat
. Ja już wolę to strtolower czy strpos, niż wkładanie wszystkiego w objekt i pisanie elaboratów jak w java

Podejrzewam, że po prostu nie potrafisz programować obiektowo, dlatego to dla Ciebie problem.

nie wydaje mi się, żeby str_len($sting) było "fajniejsze" od string.length()

jak chcesz zrobić kilka operacji stringowych to robisz tak
trim(strToLover(substr($zmienna,$parametr1,$parametr2)))

podczas gdy w javie możesz napisać:
zmienna.substr(parametr1,parametr2).toLover().trim()

Który zapis jest ładniejszy ? (to oczywiście pseudokod).

Java jest kobylasta (rozwlekła) - to fakt. O ile JVM to coś fajnego, o tyle sama java jest taka sobie w dzisiejszych czasach, szczególnie porównując do c# (gdzie są różne Taski, lambdy, extension methods czy głupie słówko "var" ) albo scali.
Natomiast rozwklekłość javy nie jest żadnym argumentem dla php, bo ten też nie jest specjalnie zwięzły jak na język skryptowy - polecam zapoznać się choćby z grails (język to groovy - skryptowa java można powiedzieć).

Cytat
Klasy niestety = narzut, referencje, problemy z porównaniem (equals() z javy tongue.gif ?). Lepiej jakby scalary miały swoje metody (były pseudo obiektami), np wszystkie str* do wywołania jako "sdfsdf"->toLower().

Akurat php jest językiem obiektowym i klasy (choćby mysqli zamiast zestawu funkcji mysql_*) istnieją, więc nie rozumiem tej obawy. Groovy o którym wspomniałem (i nie jest on wyjątkiem) jest językiem skryptowym, w pełni obiektowym i działa szybciej niż PHP. Wywołanie o którym napisałeś " "sdfsdf"->toLower() " to przecież jest właśnie obiektówka - traktowanie ciągu znaków jako obiekt - tak to działa w javie/c#. Oczywiście "pod spodem" wcale nie musi to być obiekt, kompilator/interpreter robi tak, żeby było dobrze i optymalnie. Ważne, że programista widzi kod jako obiektowy.
Z tym, że słowo "klasa" nie było tu kluczowe. Po prostu nie widzę sensu wywalania funkcji stringowych i zastępowania ich czymś innym ze względu na kompatybilność - to wszystko. Można tak rozwijać, żeby nie stracić na kompatybilności, bo wyrzucenie jakichś funkcji nie zwiększy wydajności.


PS. Ten post może wydać się "anty PHP" - W rzeczywistości nie uważam go za zły język. Tylko, że pisanie, że jest niezastąpiony, jest mało trafione. PHP się rozwija, jest coraz lepszy... ale nie on jest liderem, on tylko dzielnie goni konkurencję smile.gif

Napisany przez: niebieskiciapek 19.08.2014, 19:41:04

Cytat
Za to w javie/c# refaktoring jest znacznie prostszy niż w php.

Oczywiście, dodałbym do tego jeszcze JS, chyba nie ma lepiej zaprojektowanego modelu objektowego.

Cytat
Podejrzewam, że po prostu nie potrafisz programować obiektowo, dlatego to dla Ciebie problem.

Nie, nie lubię mega rozwlekłej składni java i plików nagłówkowych w C++. To olbrzymia strata czasu, po prostu ludzie zamiast myśleć klepią mini-szablony i aby zmienić np. nazwę funkcji zmieniają jej deklarację i definicję w kilku miejscach, oraz zastanawiają się "jaka powinna być kolejność plików nagłówkowych i czego jeszcze nie włączyli". Jak małpy. Nowoczesny język nie powinien działać w ten sposób. Co do modelu objektowego w C++ czy Java - jest taki sobie, czyli ok. To biblioteka standardowa i języki są przestarzałe i gówniane po prostu (cały include-hell w C++, to nie do ogarnięcia i już dawno powinny to realizować automatyczne narzędzia)

Przykład oczywiście, żeby udowodnić postawioną tezę, która jest niewłaściwa. To przypadek szczególny. Raczej chodziło mi o crap w stylu
Kod
FileInputStream fstream = new FileInputStream("textfile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));


Zwięzłość php to co innego, ja po prostu nie lubię pisać setek linii kodu z którego nic nie wynika i nic tak na prawdę nie robi. Już wolę źle zaprojektowane listy argumentów niż pisanie za każdym razem 50 linijek tego samego kodu, żeby zrobić coś, co w normalnym języku programowania zajmuje 2.

Popularność PHP wynikła z tego, że było dużo taniej zamknąć zespół C i (prze)pisać nawet całą aplikację bo kodowanie w tym było mordęgą. Żadna obecna technologia nie przyspieszy znacząco (jeśli w ogóle) procesu tworzenia małych i średnich witryn. Gdyby w tym czasie do webdeveloperki weszła java to w tym segmencie podzieliłaby losy C, tak samo jak stało się z Perlem.

Napisany przez: peter13135 20.08.2014, 07:22:51

Cytat
Nie, nie lubię mega rozwlekłej składni java i plików nagłówkowych w C++. To olbrzymia strata czasu, po prostu ludzie zamiast myśleć klepią mini-szablony i aby zmienić np. nazwę funkcji zmieniają jej deklarację i definicję w kilku miejscach, oraz zastanawiają się "jaka powinna być kolejność plików nagłówkowych i czego jeszcze nie włączyli". Jak małpy. Nowoczesny język nie powinien działać w ten sposób. Co do modelu objektowego w C++ czy Java - jest taki sobie, czyli ok. To biblioteka standardowa i języki są przestarzałe i gówniane po prostu (cały include-hell w C++, to nie do ogarnięcia i już dawno powinny to realizować automatyczne narzędzia)

Te zarzuty odnoszą się do c++, a nie do javy. W netbeansie klikam na zmienną/metodę/klasę, następnie ctrl+R i mogę zmieniać nazwę metody (zmieni się jej deklaracja i wywołania). W c# + visual studio jest podobnie, tylko, że pod klawiszem f2 smile.gif

Cytat
Zwięzłość php to co innego, ja po prostu nie lubię pisać setek linii kodu z którego nic nie wynika i nic tak na prawdę nie robi. Już wolę źle zaprojektowane listy argumentów niż pisanie za każdym razem 50 linijek tego samego kodu, żeby zrobić coś, co w normalnym języku programowania zajmuje 2.

Skoro nie znasz snippetów (skrótów klawiszowych w ide, które generują kod) to sobie pisz cały kod z palca smile.gif
Poza tym... ja się w zupełności zgadzam z tym, że java jest rozwlekła, więc tutaj mamy zdanie takie same. Co więc chcesz mi udowodnić ? PHP jest ciut mniej rozwlekły niż java, choćby przez to, że jest dynamicznie typowany, więc wiadomo, że mniej pisania, natomiast ma to też swoje wady. Zarówno java ma swoje lepsze odpowiedniki (scala, c#) jak i PHP (groovy i pewnie sporo więcej), a popularność tych "gorszych" czyli php i java wynika z "siły bezwładności".
PS. poproszę o przykład 2 linijek kodu normalnym języku i odpowiednik 50 linijek w "nienormalnym" smile.gif.

Cytat
Popularność PHP wynikła z tego, że było dużo taniej zamknąć zespół C i (prze)pisać nawet całą aplikację bo kodowanie w tym było mordęgą. Żadna obecna technologia nie przyspieszy znacząco (jeśli w ogóle) procesu tworzenia małych i średnich witryn. Gdyby w tym czasie do webdeveloperki weszła java to w tym segmencie podzieliłaby losy C, tak samo jak stało się z Perlem.

No i tutaj też nie wiem co chcesz mi powiedzieć - w poprzednim poście pisałem, że PHP był dobry w swoim czasie (gdy konkurencją do tworzenia był między innymi C). Ale teraz tych jezyków skryptowych dynamicznie typowanych jest dosć sporo i wśród nich php nie wyróżnia się nowoczesnością (zwięzłością i czytelnością kodu, wydajnością interpreterów itp.). Czyli pisanie w PHP nie jest już takie wydajne jak kiedyś (biorąc pod uwagę konkurencję), ale nadal jest bardzo tanie i powszechne (pełno programistów gotowych klepać kod za miske zupy), dlatego z punku widzenia biznesowego PHP to dobry wybór do robienia stron - nijak to nie świadczy o jakości języka.


BTW - Co do rozwlekłości - mam wrażenie, że dla Ciebie słówko "int" przed zmienną to rozwlekłość - dla mnie to przydatna informacja smile.gif Za to w PHP są dolarki, które nie mówiąc nic smile.gif


Napisany przez: semafor1985 26.08.2014, 07:53:31

Nie będę zaczynał nowego wątku skoro nazwa tematu idealnie się nadaje.
Jako że głosowanie już zakończone (i przesądzone)

https://wiki.php.net/rfc/abstract_syntax_tree

chciałbym się zapytać co właściwie wnosi do "drzewo" do PHP7? Przeczytałem i zrozumiałem co to jest "drzewo składniowe" ale chciałby się dowiedzieć
jak to zmieni pisanie kodu w PHP7 z punktu widzenia przeciętnego użytkownika? Co będzie inaczej? ogólnie o co cho?!

Napisany przez: mrc 27.08.2014, 11:54:27

Myślę, że chodzi o sam algorytm analizy kodu, np. Abstract Syntax Tree - składnia języka może zostać ta sama.

Napisany przez: viking 28.08.2014, 19:28:51

A w międzyczasie pojawiło się 5.6. Fajnie że wreszcie można operować na stałych i "normalny" operator **.

Napisany przez: niebieskiciapek 5.09.2014, 10:56:57

Cytat
Skoro nie znasz snippetów (skrótów klawiszowych w ide, które generują kod) to sobie pisz cały kod z palca

15 lat temu robiłem coś takiego, później odkryłem coś co się nazywa "system szablonów". Jakoś nie za bardzo chce mi się wracać do tego, jak pisałem kod 2 dekady temu wink.gif Jeśli potrzeba snippetów, to sorry design takiego języka programowania jest po prostu kiepski, wolę pisać w czymś co jest zaprojektowane tak, że nie wymaga takiego "dłubania". Bo to tylko poziom wyżej od C i plików nagłówkowych. A kompilatory i języki programowania trochę się rozwinęły od tego czasu wink.gif

Napisany przez: peter13135 6.09.2014, 11:31:28

Chyba mówimy o czymś innym....

Nie wiem o czym Ty mówisz, ale to o czym ja mówię, to nie jest system szablonów i nie ma nic wspólnego z "include". Snippety nie są częścią języka programowania, a IDE. Przyspieszają one tworzenie kodu - zamiast pisać z palca for'a, foreach'a , bloki try catch, czy zwykłą klasę, możesz użyć snippetów.


W Visual studio wygląda to tak:

Prosty bajer, a jednak mocno przyspiesza pracę.

BTW. c# jest mocno zwięzły język. W połączeniu z Visual Studio, które podpowiada i generuje wiele kodu piszę się w nim bardzo sprawnie. Moim zdaniem bije PHP na głowę.

Pisząc o snippetach, raczej miałem na myśli, że to jest to sposób na obejście rozwlekłości języka - jako rozwlekły uważam np. javę - w kodzie muszą być gettery i settery, nawet jeśli są "standardowe". Do wersji 1.6 trzeba było pisać takie rzeczy:

Cytat
Map<string,JakasKlasaGeneryczna<KlasaBedacaParametremKlasyGenerycznej>> blabla = new HashMap<string,JakasKlasaGeneryczna<KlasaBedacaParametremKlasyGenerycznej>>();

*Teraz można użyć diamond operator'a w javie, a w c# jest słówko "var"
No i właśnie obejściem, przed tą rozwlekłością są skróty klawiatorowe, które generują "nic nie wnoszący kod".
Czyli w javie, możesz napisać tak:
Cytat
new HashMap<string,JakasKlasaGeneryczna<KlasaBedacaParametremKlasyGenerycznej>>();

Następnie (w NetBeansie) wybrać opcję "assign to value" i wtedy otrzymasz przypisanie do zmiennej podobne do tego pare linijek wyżej.
Zamiast pisać z palca gettery i settera, można skorzystać z opcji "insert getters i setters" - wybiera się, dla których zmiennych mają zostać wygenerowane i to wszystko.
Także, snippety mogą być z jednej strony ułatwieniem - no bo w przypadku pętli, warunków, bloków try/catch czy lock (w c#) trudno się przyczepić do rozwlekłości języka, a z drugiej strony próbą obejścia rozwklekłości języka - i to dotyczy javy i PHP wink.gif
Przypominam, że PHP, też nie ma propercji, na wzór scali/c# i trzeba gettery/settery pisać z palca - albo je generować (np. Symphony framework - tam można generować całe encje, albo gettery/settery w konsoli).

Cytat
15 lat temu robiłem coś takiego

Nie bierz tego do siebie, bo raczej nie lubię używać "docinek personalnych", ale biorąc pod uwagę Twoje posty to wydawało mi się, że 15 lat temu skakałeś z dywanu na podłogę, a nie programowałeś, albo klepiesz cały czas w jednej technologii i nie masz rozeznania co się dzieje w branży.
Uprzedzając pytanie - ja 15 lat temu skakałem z krawężnika na ulicę.

Napisany przez: pedro84 6.09.2014, 13:07:16

@peter13135 Symfony blink.gif Co do meritum, zdecydowanie się zgadzam.

Napisany przez: niebieskiciapek 8.09.2014, 20:24:07

Właśnie o tym mówię, takie "szablony" wbudowane w IDE, macromedia dreamweaver to miał, tylko pod web. Z resztą generowany kod był koszmarny.

Nie wiem, skąd wziąłeś te "personalne docinki" po prostu moim zdaniem design całego języka to drewno bo tak pisałem 15 lat temu i tyle. To strata czasu. To, że IDE dodaje snippety nie czyni języka mniej drewnianym. To że napiszesz 10 setterów w 2 minuty a nie w 5 niczego nie zmienia bo dalej nic nie jest zrobione a ty zamiast myśleć musisz pamiętać jakieś dziwne konstrukty.

Po co w roku 2014 uczyć się czegoś tak archaicznego? Przeciętna osoba pisząca w PHP w życiu tego nie ogarnie, z resztą nie wiem po co. Ja rozumiem że w roku 2004 nie było za bardzo wyboru...

Wolę modele obiektowe golang i javascript, OOP PHP przynajmniej nie jest taki "ciężki" i to, że jest dość okrojony tylko mu wyszło na dobre, z resztą model OOP Java też jest okrojony względem C++. Nie wiem, może C#, D i języki google jeszcze jakoś rokują, bo nowe spec do C++ są jeszcze większe zamiast cały ten burdel uporządkować i okroić.

Napisany przez: pedro84 8.09.2014, 20:48:07

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
Właśnie o tym mówię, takie "szablony" wbudowane w IDE, macromedia dreamweaver to miał, tylko pod web. Z resztą generowany kod był koszmarny.

Coś mi się wydaje, że Ty mówisz o czymś innym.

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
Nie wiem, skąd wziąłeś te "personalne docinki"

Czytanie ze zrozumieniem się kłania, bo Ci lekko pojechał, a Ty nawet tego nie zauważyłeś...

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
po prostu moim zdaniem design całego języka to drewno bo tak pisałem 15 lat temu i tyle. To strata czasu. To, że IDE dodaje snippety nie czyni języka mniej drewnianym. To że napiszesz 10 setterów w 2 minuty a nie w 5 niczego nie zmienia bo dalej nic nie jest zrobione a ty zamiast myśleć musisz pamiętać jakieś dziwne konstrukty.

Generanie, w programowaniu i większości języków, musisz o czymś pamiętać.

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
Po co w roku 2014 uczyć się czegoś tak archaicznego? Przeciętna osoba pisząca w PHP w życiu tego nie ogarnie, z resztą nie wiem po co. Ja rozumiem że w roku 2004 nie było za bardzo wyboru...

Archaicznego? To znaczy?

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
Wolę modele obiektowe golang i javascript, OOP PHP przynajmniej nie jest taki "ciężki" i to, że jest dość okrojony tylko mu wyszło na dobre, z resztą model OOP Java też jest okrojony względem C++. Nie wiem, może C#, D i języki google jeszcze jakoś rokują, bo nowe spec do C++ są jeszcze większe zamiast cały ten burdel uporządkować i okroić.

Javascript biggrin.gif

Napisany przez: peter13135 9.09.2014, 21:15:08

Cytat
Po co w roku 2014 uczyć się czegoś tak archaicznego?

1. Nie bardzo rozumiem. Jaki język uważasz za archaiczny ? Może c# bo VS ma snippety do niego ? Lkingsmiley.png
2. PHP jest Twoim zdaniem nowoczesny i warto się go uczyć ? Tak się składa, że frameworki PHP (symfony,Yii) mają narzędzia do generowania kodu (choćby wspomniane gettery i settery w encjach), więc nie rozumiem, czemu analogiczne narzędzia do do innych jęzków są złe ? Dla przykładu grails jest pozbawiony tych wad - ma propercje analogiczne do c#.
3. Tak naprawdę dla większości, to priorytetem w nauce języka są możliwości znalezienia pracy. Mi podoba się np. scala, ale co z tego skoro na rynku "króluje" c# i java ? Z tych dwóch bardziej mi się podoba c# (bo jest zwięzła, ma dobre IDE, ma elementy języka funkcyjnego co przydaje się w pracy z kolekcjami itd.), więc pracuję jako programista c#. W Scali roboty raczej nie znajdę. Natomiast gdyby za kodzenie w javie płacili by mi więcej, to pewnie bym się na nią przerzucił, mimo, że jak wspomniałem c# mi się bardziej podoba.
Tak więc, argument nietrafiony.

Cytat
Właśnie o tym mówię, takie "szablony" wbudowane w IDE, macromedia dreamweaver to miał, tylko pod web. Z resztą generowany kod był koszmarny.

Ok, niech Ci będzie. Nie korzystałem z tego, to nie wiem. Tak czy inaczej, nie o tym mówię.
Powiedz co Ci nie pasuje w snippetach o których mówię (np. z visual studio, czy z netbeansa).

Cytat
To że napiszesz 10 setterów w 2 minuty a nie w 5 niczego nie zmienia

Co za brednie.
Wygenerowanie 10 setterów (jak już są same zmienne), zajmie mniej niż 2 minuty.
Cytat
bo dalej nic nie jest zrobione

Ale za to w te zaoszczędzone kilka minut (według Twoich danych - 3 minuty) możesz napisać kawałek jakiejś logiki biznesowej.
Cytat
a ty zamiast myśleć musisz pamiętać jakieś dziwne konstrukty

Nic nie musisz pamiętać. Jak nie chcesz używać snippetów, to nie musisz ich używać. Wszystko można pisać z palca.

Napisany przez: Daimos 21.09.2014, 16:46:31

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
Właśnie o tym mówię, takie "szablony" wbudowane w IDE, macromedia dreamweaver to miał, tylko pod web. Z resztą generowany kod był koszmarny.

Podpowiedzi i do tego konfigurowalne to miał?
Nie rozumiem, ale najlepsze, że sam nie wiesz o czym piszesz. Ja np. mam podpowiedzi również krótkie, typu:
t + TAB -> $this->
a podpowiedzi standardowe w netbeansie typu iter, tryc itp zaoszczędzają i tworzą taki kod, jaki sobie życzę.

Cytat(niebieskiciapek @ 8.09.2014, 21:24:07 ) *
Wolę modele obiektowe golang i javascript...


Chciałem to skomentować, ale wyżej widzę już ktoś miał z tego ubaw, więc nie umknęło wink.gif

Napisany przez: Forti 17.03.2015, 09:40:55

https://wiki.php.net/rfc/isset_ternary

aż dziw, że tego szybciej nie zaimplementowali.

https://wiki.php.net/rfc/scalar_type_hints_v5#integer_overflow_to_float_behavior

Ścisłe typowanie zmiennych wink.gif

Napisany przez: !*! 17.03.2015, 10:03:38

Cytat(Forti @ 17.03.2015, 09:40:55 ) *
https://wiki.php.net/rfc/isset_ternary

aż dziw, że tego szybciej nie zaimplementowali.

https://wiki.php.net/rfc/scalar_type_hints_v5#integer_overflow_to_float_behavior

Ścisłe typowanie zmiennych ;)


Kojarzysz może gdzie podział się wykres maruderów? Kiedyś było coś takiego na starej wersji, gdzie wskazywany był nawet lider tych co głosowali na "nie".

Napisany przez: Forti 17.03.2015, 10:07:06

hm.. nie wiem do końca co masz na myśli, jednak lista głosujących tak/nie jest u dołu strony.

Napisany przez: !*! 17.03.2015, 10:17:34

Tak, ale dotyczy konkretnych przypadków, a mi chodzi o zestawienie na przestrzeni miesięcy/lat.

Napisany przez: com 17.03.2015, 15:13:58

To dopiero w zeszlym roku zaproponowano wiec nie mial kto marudzic itak o dziwo przeszlo bo autor porzucil php smile.gif

Napisany przez: Forti 17.03.2015, 16:10:59

Cytat
To dopiero w zeszlym roku zaproponowano wiec nie mial kto marudzic itak o dziwo przeszlo bo autor porzucil php smile.gif


Z tego co wiem to nie autor wink.gif

Napisany przez: com 17.03.2015, 16:31:07

Autor pomyslu implementacji tego do php biggrin.gif czepiasz sie tongue.gif

Napisany przez: marekmarkowski 17.08.2015, 11:14:24

Witam serdecznie. Jeśli chodzi o nowego PHPa to jestem całkowicie zielony, ale ostatnio na PHPersach w Poznaniu był ten temat poruszany i dowiedziałem się z tej prelekcji bardzo dużo ciekawych informacji. Oto i link do tej prelekcji: https://www.youtube.com/watch?v=g3caJBJ_IrQ&feature=share&list=PL1I6ysDOXvFqOKNvsyM1sDcC3LnSrSgwC&index=3 Polecam obejrzeć! Lkingsmiley.png

Napisany przez: gielo 10.12.2015, 14:51:46

No i mamy PHP7. Zainstalowalem, skonfigurowalem i odpaliłem stronki. Jest szybciej. Ze strony technicznej, to usunięto wreszcie te archaiczne elementy, które powinny byc juz dawno usunięte. Dokładnych jeszcze testów nie zdązyłem zrobić ale jak podają inni, jest szybsze od PERL, PYTON, RUBY. więcej informacji można znaleźć tutaj: http://it.esky.pl/2015/08/21/7-funkcjonalnosci-ktore-sprawiaja-ze-php7-jest-rewolucyjny/.

Tak na marginesie, to jaoś nie sprawdziły się proroctwa osob z początku tego wątku smile.gif

Napisany przez: viking 10.12.2015, 15:00:40

Ja dzisiaj instalowałem na opensuse i jest odwrotnie. Na 5.6.16 - 32 requesty, na v7 - 28. Według zfdebug zużycie ramu na 5.6 ~11MB, v7 14MB. Z opcache 5.6 - 63 requesty 4,1MB, v7 - 58 requestów 4,4MB. Aplikacja realna nie teoretyczna.

Napisany przez: gielo 11.12.2015, 09:33:45

Coś masz nie tak. Miałem podobnie instalując paczkę naughty pod debianem, Wywaliłem i skompilowalem ręcznie i jest ok. Zużycie pamięci jest także dużo niższe niż w piątce.

Sprawdź, czy masz włączone OPCACHE, sprawdź czy strony działaja z wykorzystaniem PHP-FPM. to na początek bo coś na pewno masz nie tak. Sam plik php-7.0.0-fpm musisz stworzyć z odpowiednią zawartością. Polecam instalację i konfigurację według tego opisu https://www.howtoforge.com/tutorial/how-to-install-php-7-on-debian/ Nie musisz mieć Debiana i korzystać z ISPconfig aby wykorzystać ten opis i dostosować wszystko do własnej architektury.

Najlepiej też odpal opcache.php i sprawdź jakie funkcje masz uruchomione, a jakie nie i skonfrontuj to z zalecaną konfiguracją twórców PHP7.

Zalecane zmiany przez twórców PHP7:
; Sets how much memory to use
opcache.memory_consumption=128

;Sets how much memory should be used by OPcache for storing internal strings
;(e.g. classnames and the files they are contained in)
opcache.interned_strings_buffer=8

; The maximum number of files OPcache will cache
opcache.max_accelerated_files=4000

;How often (in seconds) to check file timestamps for changes to the shared
;memory storage allocation.
opcache.revalidate_freq=60

;If enabled, a fast shutdown sequence is used for the accelerated code
;The fast shutdown sequence doesn't free each allocated block, but lets
;the Zend Engine Memory Manager do the work.
opcache.fast_shutdown=1

;Enables the OPcache for the CLI version of PHP.
opcache.enable_cli=1

Mam nadzieję, że post ten w jakiś sposób pomoże Ci w namierzeniu problemu dlaczego u ciebie PHP7 nie działa tak jak powinien, bo to że u ciebie jest wolniej niż u innych to nie wina PHP7 niestety, a konfiguracji lub ewentualnie samej jego instalacji.

Napisany przez: viking 11.12.2015, 09:39:34

Serwer jest dobrze skonfigurowany (lighttpd+php-fpm). Jak pisałem z opcache lub bez (suse ma oddzielnie pakiet php-opcache) Obstawiam raczej że wczesne wersje PHP mają jeszcze dużo błędów. Wystarczy spojrzeć ile było poprawionych segfaultów w RC.

Napisany przez: !*! 11.12.2015, 11:24:29

To teraz czekamy na PHP w wersji 7.2 aż kod zostanie ogarnięty na tyle, że będzie od ręki działał na tosterze i na wersję 7.6 aż zagości to na większości serwerów choćby hostingowych.

Ja mam jeszcze dziwniejsza sytuację. O ile aplikacje, takie zwykłe działają szybciej czy zużywają mniej ramu o tyle np. serwery socetów już nie i potrafią się nawet zadławić.

Napisany przez: gielo 14.12.2015, 10:39:10

Ja korzystam z wersji 7.0.0, nie RC (pod debianem, nie pod susłem ale nie ma to raczej większego znaczenia), więc się nie wypowiem jak sprawa się ma z RC. Spróbuj skompilować to ze źródeł jak pisałem (z wersji 7.0.0) i daj znać, czy masz dalej ten sam problem.

Nigdzie nie pisałem, że siódemka nie zawiera rzadnych błędów, bo pewnie zawiera (który program zresztą nie zawiera smile.gif ) Jednak w więszości przypadków nie powinno być problemów. Jest różnica między tym, że nie działa dobrze jeden skrypt (np. są problemy z poprawnym działaniem phphmyadmin instalowanymz paczek pod debianem, który już najnowaszą wersją ściągniętą ze strony phpmyadmina działa dobrze), a tym że nie działa dobrze każdy skrypt, w tym Wordpress, który często podawany jest za przykład przyspieszenia działania stron pod kontrolą PHP7 (działa nawet do 70% szybciej niż pod wersją 5.6, a jak piszą niektórzy od wersji 5.0 nawet 700% szybciej).

Inna sprawa, że bym w rzadnym wypadku nie zainstalował PHP7 obecnie na serwerach produkcyjnych, firmowych i wszędzie tam gdzie nie możemy sobie pozolić nawet na najmniejszy przestój, czy to że coś nam nie zatrybi jak powinno i narazi nas, czy firmę na straty. Inaczej jest jeśli chodzi o wlasne serwery prywatne, gdzie często bardziej zależy nam na jak najniższym koszcie serwera w stosunku do jego wydajności i jak największym upakowaniu tam stron, niż na tym, aby jak najbardziej zminimalizować ryzyko tego, że coś nam nie będzie działało jak należy (wtedy najczęściej zmieniamy sktypt na inny lub dostosowujemy, aby zmusić go do działania jeśli jest naszego autorstwa) lub, że ktoś nam się postara o to, aby nam unieruchomić stronę na jakiś czas smile.gif. Taka uwaga jeszcze na koniec, zrzuty stron dobrze jest robić zawsze zarówno na serwerach firmowych, produkcyjnych, jak i naszych osobistych prywatnych, aby nie zostac z przysłowiową ręką w nocniku jak coś się stanie smile.gif

Uważam i zaznaczam, że jest to tylko moja indywidualna opinia, że już teraz warto przejść na PHP7 w miarę możliwości, tym bardziej jeśli jestemy programistą w PHP. Uważam, że wcześniej czy później i tak nas to nie ominie, a czym wcześniej zapoznamy się z jego zmianami i zaczniemy to wykorzystywać w naszych aplikacjach, tym lepiej dla nas.

Napisany przez: Dejmien_85 17.12.2015, 08:35:48

Cytat(gielo @ 14.12.2015, 10:39:10 ) *
Uważam i zaznaczam, że jest to tylko moja indywidualna opinia, że już teraz warto przejść na PHP7 w miarę możliwości, tym bardziej jeśli jestemy programistą w PHP. Uważam, że wcześniej czy później i tak nas to nie ominie, a czym wcześniej zapoznamy się z jego zmianami i zaczniemy to wykorzystywać w naszych aplikacjach, tym lepiej dla nas.


Na początku myślałem, że może to będzie tak jak z Pythonem i przechodzeniem z Pythona 2.x na 3.x. Jednak w świecie PHP to nie ma racji bytu. Python 2.x jest ciągle wspierany, aktualny plan to wsparcie dla niego do 2020 roku. A PHP? No cóż, tutaj każdej wersji daje się 3 lata i potem ucina jej życie.

Choć wydaje mi się, że PHP 5.x będzie na pewno jeszcze dłuuugo żyć. W tej chwili 70-80% internetu to właśnie PHP 5.x. W 7-demce jest sporo maluśkich zmian (wystarczy przerobić temat "Backward incompatible changes"), które zrywają kompatybilność wsteczną z 5.x, także w przypadku komercyjnych projektów (nie open-source, te na pewno będą przepisane, aby przeżyć - Wordpress, Joomla, Drupal, farmeworki - to wszystko będzie przepisane na bank) przepisanie większej apki na 7.0 będzie raczej niemożliwe - jeśli już biznes będzie się miał zgodzić na jakieś przepisanie, to pewnie na późniejsze wersje PHP, bądź na całkowicie inny język. Przy większych aplikacjach jest problem, aby przejść z wersji 5.3 na PHP 5.4 lub 5.5, a co dopiero na 7.

Gieło ma jednak rację, przeskoczenie na 7 to dobry pomysł - w końcu dni wersji 5.5 i 5.6 są wyliczone. Support dla 5.5 kończy się w połowie 2016 (trochę ponad pół roku), a support 5.6 kończy się za trochę ponad półtora roku (18 miesięcy) - i mimo, że wydaje się, że PHP 5.5, czy PHP 5.6 są całkiem świeże, to ich śmierć jest bliska. Za pół roku PHP 5.5 osiąga EndOfLife i znika ze strony php.net - damn, jak ten czas leci, a jeszcze pół roku temu gdy prosiłem jakiegoś admina o zmianę wersji na 5.5, to pisał, że ta wersja jest jeszcze "za mało stabilna" i zgodził się jedynie na 5.4 (sic!).

Starsi koledzy wiedzą, że półtora roku strzeli jak z bicza, a wtedy na php.net będziemy mieć tylko wersje 7, 7.1 i 7.2. Dobre zapoznanie się z 7-mką to mus.

Napisany przez: Pyton_000 17.12.2015, 10:01:12

Może wersja 7.x będzie miałe dłuższy life support z racji dość dużego skoku wydajności i odcięcia części starych metod.

Ale 3 lata to i tak dobrze, O ile będą na bieżąco biblioteki aktualizowane to nie widzę problemu.
Niestety w życiu już tak jest że stare trzeba zmieniać na nowe

Napisany przez: Dejmien_85 17.12.2015, 23:46:55

Cytat(Pyton_000 @ 17.12.2015, 10:01:12 ) *
Może wersja 7.x będzie miałe dłuższy life support z racji dość dużego skoku wydajności i odcięcia części starych metod.


Wersja 7.0 będzie mieć 3 lata wsparcia, później powstanie 7.1, 7.2, 7.3 itd. Na 8-semkę raczej poczekamy dłuuugie lata. 7.x szybko nie umrze.

Napisany przez: KsaR 18.12.2015, 00:09:46

Cytat(Dejmien_85 @ 17.12.2015, 08:35:48 ) *
(...)
(nie open-source, te na pewno będą przepisane, aby przeżyć - Wordpress, Joomla, Drupal, farmeworki - to wszystko będzie przepisane na bank)
(...)

https://make.wordpress.org/core/2015/09/10/wordpress-and-php7/

Btw... Zawsze sobie mozna zrobic zmienna $php7 i sprawdzac czy jest 7ka czy nie... Zamiast przepisywać cały kod biggrin.gif
No chyba ze ktos uzywa jakies badziewia, typu mysql_connect() itp.


  1. $php7 = http://www.php.net/version_compare(PHP_VERSION, '7.0.0') >= 0;
  2.  
  3. # ....
  4.  
  5. if ($php7)
  6. {
  7. # jest php 7
  8. }
  9. else
  10. {
  11. # starsze od php 7
  12. }


Napisany przez: Pyton_000 18.12.2015, 08:02:57

@ksar To już chyba totalna głupota wink.gif
To tak jakby zrobić dokładnie to samo dla PHP4 biggrin.gif

Najlepszy kod to taki który działa w przekroju od PHP 5.0 do 7.0 bez żadnych zmian. Oczywiście to marzenie które jest bez sensu, bo świat idzie do przodu i my musimy iść razem z nim.

Napisany przez: gielo 18.12.2015, 13:07:11

Wczoraj pokazala się wersja 7.0.1, z której usunięto troche błędów http://php.net/downloads.php

Napisany przez: Pyton_000 18.12.2015, 13:22:41

Taką też wczoraj skompilowałem i uruchomiłem smile.gif Działa wyśmienicie smile.gif

Napisany przez: KsaR 18.12.2015, 16:52:34

Cytat(Pyton_000 @ 18.12.2015, 08:02:57 ) *
@ksar To już chyba totalna głupota wink.gif
To tak jakby zrobić dokładnie to samo dla PHP4 biggrin.gif

Najlepszy kod to taki który działa w przekroju od PHP 5.0 do 7.0 bez żadnych zmian. Oczywiście to marzenie które jest bez sensu, bo świat idzie do przodu i my musimy iść razem z nim.

Czemu totalna glupota?

Dałem poprostu przyklad bo mnie zdziwilo "przepisywanie od nowa"...
A tak póki nie będzie "standardem" php7 mozna przeciez jako zaslepke zamiast przepisywac od nowa, przy okazji by na wiekszej ilosci serwerow dzialal. Co innego gdy ma sie pewnosc ze projekt np. Nie bedzie sprzedany i na 1 wersji.

Mnie razi nawet uzywanie array() zamiast []. Więc <5.4 bym nie używał, nie wygodne i brzydkie.

Bym chetnie uzyl jeszcze https://wiki.php.net/rfc/isset_ternary zamiast isset, tez by przyszybszylo w wielu miejscach pisanie kodu(i zmniejszylo jego rozmiar...), ale zmieniłem hosting i 5.6 mam biggrin.gif to pol roku sie pomecze jeszcze.

Na szczescie ja nie musze uzywac takich zaslepek :-P, bo robie ze dziala od 5.4 w gore.
Zadnych przestarzalych rzeczy nie uzywam biggrin.gif

Napisany przez: !*! 19.12.2015, 12:30:04

Cytat(KsaR @ 18.12.2015, 16:52:34 ) *
Czemu totalna glupota?


Za dużo stracisz przy tym czasu i pieniędzy. Jeśli masz dużą aplikację która działa np. do 5.3 lub niżej i chcesz zapewnić kompatybilność z php7 to tylko sztucznie przedłużasz czas zgonu który jest nieunikniony. Na początku będzie miało to sens, ale później będzie trzeba dopisać nowe moduły czy zmienić coś pod indywidualne potrzeby klienta, wtedy staniesz pod ścianą.

Napisany przez: Dejmien_85 20.12.2015, 16:42:53

Cytat(KsaR @ 18.12.2015, 00:09:46 ) *
Btw... Zawsze sobie mozna zrobic zmienna $php7 i sprawdzac czy jest 7ka czy nie... Zamiast przepisywać cały kod biggrin.gif


No ale nawet jeśli ustawisz zmienną na PHP 7.0, to przecież i tak musisz przejrzeć cały kod aby zrobić wszędzie wyjątki dla wersji 5 i 7, to zajmie więcej pracy niż przepisanie kodu tylko na wersję 7.0.

Napisany przez: com 20.12.2015, 17:21:30

to wystarczyło by pisać kod zgodny z obiema wersjami, jeśli jest to projekt typu wp gdzie ma się milion kopi na rożnych wersjach wink.gif a jak się wie, ze się robi już pod 7 a o starym zapomina to problemu nie ma. A wp to trzeba by przepisać na nowo, a nie serwować kod z 19 wieku i się bawić w ifowanie, bo to nie ma najmniejszego sensu. Tak samo można by powiedzieć poco SOLID, poco DI skoro można kod napisać w jednym pliku i strukturalnie, który pewnie zadziała, ale potem powodzenia jak ktoś go odziedziczy po Tobie. Wiec to co zaproponowałeś KsaR, jest po prostu głupie.

Napisany przez: Pyton_000 20.12.2015, 18:14:17

To tak jakbyś miał zrobić IFa w samochodach Diesla żeby na E95 latały biggrin.gif

Napisany przez: KsaR 2.06.2016, 19:23:12

Trochę o PHP 7.1 (Po Angielsku):
http://phpocean.com/blog/article/8-cool-features-to-come-in-php-7-1/43

Napisany przez: viking 2.06.2016, 19:48:19

Och. PHP dorobiło się w końcu "void"? Fajny bajer z łapaniem wielu wyjątków na raz. Pamiętam jaka to była ulga kiedy pojawiła się taka opcja w Javie. Coraz bardziej lubię pisać w PHP smile.gif

Napisany przez: KsaR 15.06.2016, 21:19:18

Na to, to chyba każdy czeka(ł), co prawda do własności ale może do zmiennych też dadzą. biggrin.gif

https://wiki.php.net/rfc/typed-properties

Cytat
Typed Local Variables

This is an entirely different feature, and something not worth conflating into this RFC. The idea might be wanted, but to keep things simple it will not be discussed in this RFC.


To też dobre bo mixed* od php 7.1 ale to lepsze wg. mnie
https://wiki.php.net/rfc/union_types

https://wiki.php.net/rfc/precise_float_value

Napisany przez: com 15.06.2016, 21:44:37

czy ja wiem czy każdy, jak czekał i koniecznie miał być php to wybrał by hacka tongue.gif

Fajnie, że ma być ale poczekajmy do wydania, bo widziałem już takie co głosowanie było i miało być, a do dzisiaj w core nie ma biggrin.gif

Napisany przez: nospor 15.06.2016, 22:04:22

BYlem ostatnio na konferencji w Anglii gdzie byl koles co siedzial przy robieniu tych typow (mial o nich wlasna sesje na konferencji) i tak, sa juz one raczej zatwierdzone w php7.1

ps: http://2016.phpsouthcoast.co.uk/speakers/anthony-ferrara/

Napisany przez: KsaR 2.12.2016, 13:13:35

Już jest stabilne 7.1 (od wczoraj)
http://www.php.net/ChangeLog-7.php#7.1.0

Napisany przez: mrc 2.12.2016, 14:15:30

Ja poczekam jeszcze kilka miesięcy zanim będzie stabilne smile.gif

Napisany przez: Pyton_000 2.12.2016, 18:52:46

Przecież to już jest stable wink.gif

Napisany przez: Tomplus 2.12.2016, 19:16:08

mrc nie wierzy świeżym stabilnym wersjom tongue.gif

Napisany przez: Pyton_000 2.12.2016, 19:28:35

ja nie wierzę home.pl biggrin.gif

Napisany przez: mrc 3.12.2016, 06:49:51

Cokolwiek wychodzi jako stable, przez kilka miesięcy ma same bugfixy. Dopiero gdy ludzie rzucają się na nową wersję i wpuszczają ją na produkcję, to wychodzą chocki-klocki. Lepiej poczekać. Aż tyle nowości nie ma, by szaleć.

Napisany przez: Lion 18.12.2016, 12:51:04

Krótka analiza changeloga PHP pokazuje że właśnie tak jest, bugi wychodzą na "większym środowisku testowym", czyli na produkcji. Lepiej trochę poczekać. Chyba że ma się dobre pokrycie kodu testami...

Napisany przez: com 11.01.2017, 18:34:55

Na 7.1 można poczekać, ale 7 to już minimalna wersja, która żyje wink.gif

Napisany przez: MaurycyPoland 2.02.2017, 10:18:20

zawsze tak jest, że coś najpierw wychodzi a potem jest to poprawiane smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)