WN

WN (https://www.wn.se/forum/index.php)
-   Nyheter (https://www.wn.se/forum/forumdisplay.php?f=3)
-   -   PHP 5.5 har släppts (https://www.wn.se/forum/showthread.php?t=1058306)

Conny Westh 2013-06-26 03:01

Jag har nu även testat att installera Netbeans från Oracle och där finns en plugin till IDE-miljön för att köra PHP.

Då får man en hyfsad källkodseditor med färgade nyckelord, edit autocomplete och IntelliSense. Men detta är inte något som ingår i PHP utan en oberoende leverantör (Läs Oracle) som har bidragit med i en IDE för Java. Netbeans har även stöd för att editera Java och Scala-kod.

Jag saknar fortfarande:

- Stark typning (strict mode, enforced declations of identifiers)
- Kompilering (Semi- eller Native-)
- "Äkta" komponenter
- "Fullfjädrad" objektorientering

Med "äkta" komponenter menar jag DLL, LIB eller SO-filer (eller motsvarande) som är skrivna i PHP och kompilerade, som man kan länka in statiskt eller dynamiskt som färdigtestade komponenter. Jag räknar inte komponenter skrivna i C/C++ och länka in dem i php.ini som "extensions" men då är ju dessa komponenter skrivna i ett annat språk än PHP).

Conny Westh 2013-06-26 03:13

Såg nu att det faktiskt är fler än jag som saknar objektorienteringen i PHP, jag hittade ett projekt på Sourceforge som kallar sig PHP++ (http://sourceforge.net/projects/php-plus-plus/) ....

Conny Westh 2013-06-26 04:20

Försöker installera Wix v3.8.611.0 (på 32-bitars MS Windows 7) för att få in PEAR (för att kunna köra PHP++) men får virusvarning (när den kommit till ca 50% av installationen) av AVST:

Kod:

Infection Details

URL:
http://wixtoolset.org/releases/3.8.611.0...

Process:
C:\Projects\Conny\PHP \wix38.611.0(2013...
Infection: Win32:MalOb-CA [Cryp]

Är detta falsklarm eller är det fler än jag som får samma ....???

Testade med v3.7.1224.0 som funkade bättre....

Clarence 2013-06-26 09:07

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20472663)
Såg nu att det faktiskt är fler än jag som saknar objektorienteringen i PHP, jag hittade ett projekt på Sourceforge som kallar sig PHP++ (http://sourceforge.net/projects/php-plus-plus/) ....

Jag tror du borde gått och lagt dig innan du hittade detta lilla underverk med sina frameset-klasser (!?). 12-13 år på nacken kan också säga sitt, även fast det var totalt skräp redan när det skrevs.

"Fullfjädrad objektorientering" saknar du. Ehm, är det meningen att man ens ska svara på det? Ditt svar kommer bli att gå igenom precis vilka detaljer som saknas jämfört med C# och sedan kan man göra samma sak åt andra hållet och det förändras till ett prat om vilket ens älsklingsspråk är. Historiskt sett har det varit väldigt dåligt, men håller man sig borta från kod från andra decennier ser det bättre ut.

Att vilja ha alla komponenter kompilerade i ett okompilerat språk, då kanske det är dags att sluta titta på språket. Alternativet är väl att man tittar på fördelarna med att slippa svära över DLLs man saknar källa för eller varför man sitter en minut med kaffekoppen varje gång man vill testköra sin lilla ändring. Laddar du ner bra och välskrivna bibliotek (med Composer!) så har du en 100% code coverage på testerna. Du kan själv validera detta och kika på koden så du vet vad det är du gjort dig beroende av.

Det är ett val som uppenbarligen varit väldigt framgångsrikt att inte kompilera hela projekt så fort något ändrats. Det ger lite sämre optimeringar och validering. För valideringen kör du en PHP linter (php -l) och relevant kodningsstandard med PHPCS. För att testa integrationen så skriver du tester, som faktiskt täcker upp det som är relevant till skillnad från en kompilator som bara kan testa det allra mest grundläggande.

Nihilnovi 2013-06-26 10:04

Kompilering är enbart bra om man inte kan motivera sig att ta ställa sig upp och ta en kaffe genom andra metoder.

Skämt åsido, så är väl https://github.com/facebook/hiphop-php det närmaste du kan komma till "kompilerad" php kod, inte för att jag förstår varför du skulle behöva det om du inte planerar ett system med en miljard användare.

JesperA 2013-06-26 11:20

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20472662)
Med "äkta" komponenter menar jag DLL, LIB eller SO-filer (eller motsvarande) som är skrivna i PHP och kompilerade, som man kan länka in statiskt eller dynamiskt som färdigtestade komponenter. Jag räknar inte komponenter skrivna i C/C++ och länka in dem i php.ini som "extensions" men då är ju dessa komponenter skrivna i ett annat språk än PHP).

Styrkan i PHP är ju just att det i princip inte finns några dependencies överhuvudtaget, och
att det är så sjukt lätt att utveckla i PHP så tar inte många sekunder att bygga upp något semiprofessionellt.

Kan du nämna ett par libraries som du tror skulle vara bra om det fanns i PHP?

Conny Westh 2013-06-26 11:51

När man söker tillräckligt länge så hittar något intressant till slut. Här (http://phalanger.codeplex.com/) hittade jag en kompilator som kompilerar PHP till .NET och som integrerar PHP i Visual Studio.

Den integrerar PHP med .NET type system så man kan använda Partial Class m.m.

Nu ska jag grotta ner mig i detta och se vad det kan ge för utdelning....

Conny Westh 2013-06-26 12:02

Citat:

Ursprungligen postat av Clarence (Inlägg 20472676)
Jag tror du borde gått och lagt dig innan du hittade detta lilla underverk med sina frameset-klasser (!?). 12-13 år på nacken kan också säga sitt, även fast det var totalt skräp redan när det skrevs.

"Fullfjädrad objektorientering" saknar du. Ehm, är det meningen att man ens ska svara på det? Ditt svar kommer bli att gå igenom precis vilka detaljer som saknas jämfört med C# och sedan kan man göra samma sak åt andra hållet och det förändras till ett prat om vilket ens älsklingsspråk är. Historiskt sett har det varit väldigt dåligt, men håller man sig borta från kod från andra decennier ser det bättre ut.

Att vilja ha alla komponenter kompilerade i ett okompilerat språk, då kanske det är dags att sluta titta på språket. Alternativet är väl att man tittar på fördelarna med att slippa svära över DLLs man saknar källa för eller varför man sitter en minut med kaffekoppen varje gång man vill testköra sin lilla ändring. Laddar du ner bra och välskrivna bibliotek (med Composer!) så har du en 100% code coverage på testerna. Du kan själv validera detta och kika på koden så du vet vad det är du gjort dig beroende av.

Det är ett val som uppenbarligen varit väldigt framgångsrikt att inte kompilera hela projekt så fort något ändrats. Det ger lite sämre optimeringar och validering. För valideringen kör du en PHP linter (php -l) och relevant kodningsstandard med PHPCS. För att testa integrationen så skriver du tester, som faktiskt täcker upp det som är relevant till skillnad från en kompilator som bara kan testa det allra mest grundläggande.

När jag försöker sätta mig in i ett nytt program så testar jag det mot alla best practises som jag känner till, och jag håller verkligen på att gå till botten med att hitta fördelar med PHP, men det är svårt.

Objektorientering, kompilering, komponenttänkande är mycket starka best practises om det kommer ett nytt programspråk så måste det tillföra något som gör det värt att använda. Det finns ju ingen anledning att gå baklänges...

När man läser råsågningarar av Objektorientering, Kompilering och Komponenttänkande så undrar man; "You been freeze-dried or doin' hard time?" (Citat från Hartbreak Ridge med Clintan) ... under de senaste 30 åren eller vad?

linusoleander 2013-06-26 12:03

Citat:

Ursprungligen postat av JesperA (Inlägg 20472683)
Styrkan i PHP är ju just att det i princip inte finns några dependencies överhuvudtaget

Jag tror inte Conny vill ha paketberoenden till PHP utan till programvarorna han jobbar mot. Behöver han te.x har stöd för databasen Casandra så laddar han ner en färdig paketerad DLL-fil där allt finns (te.x ORM, drivrutiner) för att sedan säga till PHP att inkludera filen.

Citat:

Ursprungligen postat av JesperA (Inlägg 20472683)
Kan du nämna ett par libraries som du tror skulle vara bra om det fanns i PHP?

Jag kan inte svara för Conny, men i princip allt som inte ingår i PHP per default. Möjligheten att skriva extensions i C/C++ för att sedan bygga ett färdig paket vore heller inte helt fel.

Clarence 2013-06-26 12:19

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20472689)
När jag försöker sätta mig in i ett nytt program så testar jag det mot alla best practises som jag känner till, och jag håller verkligen på att gå till botten med att hitta fördelar med PHP, men det är svårt.

Objektorientering, kompilering, komponenttänkande är mycket starka best practises om det kommer ett nytt programspråk så måste det tillföra något som gör det värt att använda. Det finns ju ingen anledning att gå baklänges...

När man läser råsågningarar av Objektorientering, Kompilering och Komponenttänkande så undrar man; "You been freeze-dried or doin' hard time?" (Citat från Hartbreak Ridge med Clintan) ... under de senaste 30 åren eller vad?

Om du inte kan titta på ett nytt interpreterat språk utan att klaga på att det inte är kompilerat då är det knappast någon poäng att ens börja nysta i det? Råsågningar av objektorientering eller komponentbaserad kod har du knappast sett av mig va?

Gällande kompilering så är det snarare så att du kan rikta ditt citat mot dig själv. 2013 är 75%+ av webbsajter skrivna i en miljö där man inte förkompilerar koden. Och bara för att vara tydlig så är det inte så att jag av princip är emot kompilering.


Alla tider är GMT +2. Klockan är nu 03:17.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson