Software-update: PhpStorm 2023.1

PhpStorm logo (76 pix) JetBrains brengt verschillende ontwikkelomgevingen uit, zoals IntelliJ Idea gericht op Java, CLion gericht op C en C++ en DataGrip gericht op sql. PhpStorm is gericht op php en biedt on-the-fly-errorpreventie, autocompletion, coderefactoring en debugging, en kan ook overweg met html, css, Coffee- en JavaScript. Voor een overzicht van de mogelijkheden verwijzen we naar deze pagina. Voor het gebruik van PhpStorm is wel een licentie nodig. Voor zakelijk en thuisgebruik zul je daarvoor moeten betalen, maar als de software wordt gebruikt voor onderwijs of niet-commerciële opensourceprojecten, is de licentie gratis. JetBrains heeft versie 2023.1 van PhpStorm uitgebracht en de aankondiging daarvan ziet er als volgt uit:

What’s New In PhpStorm 2023.1:

New UI Features, Better Performance, 3v4l Support, and More. This release is a major update that includes integration with 3v4l.org, improved performance, enhancements to the new UI, a DFA debugger for PHP, and much more.

The full list of changes in PhpStorm 2023.1 is available on the release notes page.

Versienummer 2023.1
Releasestatus Final
Besturingssystemen Linux, macOS, Windows 10, Windows 11
Website JetBrains
Download https://www.jetbrains.com/phpstorm/download
Licentietype Freeware/Betaald

Door Bart van Klaveren

Downloads en Best Buy Guide

04-04-2023 • 22:32

29

Submitter: elastiek

Bron: JetBrains

Update-historie

Reacties (29)

29
28
21
0
0
5
Wijzig sortering
Voor individuele programmeurs zal phpstorm mogelijk voelen als een hoop overhead. Maar in een development team is consistentie enorm belangrijk. Tools als formatting, en ondersteuning voor diverse linting/code style pakketten zijn daarom erg belangrijk. En uiteraard versiebeheer met bijvoorbeeld git.
Daarnaast gebruik ik voor programmeren in php bovendien de tabnine plugin, om juist nog meer uit je autocompletion te kunnen halen.

Begonnen in vi/nano, via diverse IDE's nu naar phpstorm (oa. Dreamweaver, Zend Studio, Zend Studio Eclipse, Aptana, Netbeans, VSCode). Voor mij is op dit moment phpstorm nog onovertroffen.
helemaal mee eens.
voor mij ook van Dreamweaver naar Eclipse VSCode en uit eindelijk phpStorm.
Op het kantoor zweren mijn collega's bij VSCode en ben de enige die phpstorm gebruikt maar ik kan niet met VSCode omgaan.
Niemand vind het erg maar ik vind het wel belangrijk om een coden in de software die het fijnst aanvoelt voor mij persoonlijk.

En gebruik zelf ook Tabnine en is echt een godsend.
en met de php extended plugin los je echt de meest complexe fouten nog op.
Dat alles is te bereiken in combinaties van editors, wij gebruiken VS Code en PHPStorm door elkaar en er is nooit inconsistentie Je moet de boel wel gewoon goed opzetten. De linting etc. Kan overigens ook gewoon middels precommits, dan kun je doen wat je zelf wilt :)
In een goed team is linting etc IDE onafhankelijk :Y)

Ik werk met verschillende editors/IDE's, maar voor git val ik dan weer vaak terug op de cli. Dat moet voor de consistentie niet uitmaken.
autocompletion features, dat is zo ontiegelijk irritant.
Hele reden om een IDE te gebruiken. Ding snapt wat er in het object zit waar je tegen aan autocomplete. Waarom zou je dat steeds willen opzoeken en uit je hoofd leren?
Waarom zou je dat steeds willen opzoeken en uit je hoofd leren?
Nou bijvoorbeeld omdat je dan beter weet wat je precies aan het doen bent en de code beter beheerst en wanneer je geen IDE hulp hebt dan je dan ook weet wat je moet doen. Er is niets mis mee om dingen uit je hoofd te leren, ik denk zelf dat het beter is. Het is altijd goed om zelf te blijven nadenken en te weten wat je precies aan het doen bent.
Dan heb je duidelijk nog niet met de autocompletion uit IntelliJ/PhpStorm gewerkt, want die vult gewoon precies aan wat je wilt typen, of je nou wel of niet weet wat je aan het doen bent. Waar deze IDE doorgaans ook in uit blinkt is je wijzen op vrij geavanceerde fouten, en deze in sommige gevallen zelfs voor je corrigeren (niet automatisch!).

Persoonlijk kijk ik meer uit naar de toekomstige GUI waarvan 2023.1 een van de eerste releases is waar je dit nog experimentele uiterlijk kunt gebruiken.
Een goede IDE als PhpStorm bespaart je zoveel tijd. Code beheersen zit niet in het leren waar precies die puntkomma hoort maar in concepten. Eventuele fouten wordt direct voor gewaarschuwd en kun je oplossen, al dan niet met hints die je gegeven worden.
Je bent niet echt een betere ontwikkelaar als je weet dat het `ToString` is ipv `toString` bv.
wanneer je geen IDE hulp hebt
Waarom zou je daar voor kiezen?
Er is niets mis mee om dingen uit je hoofd te leren
Zeker niet, alleen ipv triviale dingen die half automatisch kunnen zou ik liever capaciteit inruimen voor overstijgende concepten (zoals @Cartman! ook aangeeft).
Code completion != code generation.

Code completion helpt je niet als je niet wat je aan het doen bent. Je moet de naam van de class, method, functie, variable of wat dan ook al weten voordat code completion je kan helpen.

Na 20+ jaar ken ik de hele PHP library wel zo'n beetje uit m'n hoofd. Maar na 20+ jaar wil ook niet weer voor de zoveelste keer "RecursiveIteratorIterator" voluit typen. In plaats daarvan typ ik "reci" en ram ik op tab omdat ik zie dat de eerste suggestie de goede is. Zelfs aan mijn 450+ CPM scheelt me dat toch alweer een seconde of twee, ik hoef geen shift in te drukken voor de hoofdletters, enzovoort. Doe dat een paar duizend keer op een dag en je hebt al heel snel een uur gewonnen.
Anoniem: 80910 @Werelds5 april 2023 14:31
Probeer copilot eens zou ik zeggen. Gebruik het nu twee weken, wat een tijd winst!
Staat op de lijst om te proberen als ik tijd heb ;)
Autocompletion en andere IDE tools ontslaat jou als developer NOOIT maar dan ook echt NOOIT van het beheersen van de code die je onderhanden hebt of in ieder geval van een minimaal begrip er van. Als je autocompletion aan hebt staan ontslaat jou dat als developer nog niet van het bekijken / bedenken van wat je eigenlijk aan het doen bent. Oftewel als je een functie autocomplete met een naam die doet vermoeden dat het doet wat jij verwacht kijk dan altijd wat er in die functie staat als het de eerste keer is dat je die functie gebruikt.
En als je dat niet doet / wil dan zou het altijd nog bij development testen eruit moeten komen dat je de juiste keuze hebt gemaakt. Als het daar niet uit komt en er gaat iets in acceptatie/productie stuk dan heb je gewoon niet goed op zitten letten. Daar kan een IDE ook niets aan doen

[Reactie gewijzigd door Webgnome op 23 juli 2024 10:25]

Nou bijvoorbeeld omdat je dan beter weet wat je precies aan het doen bent en de code beter beheerst en wanneer je geen IDE hulp hebt dan je dan ook weet wat je moet doen. Er is niets mis mee om dingen uit je hoofd te leren, ik denk zelf dat het beter is.
Niet helemaal mee eens, om altijd alles uit je hoofd te leren is niet te doen. De autocompletion is daarbij erg behulpzaam zodat je in grote lijnen moet weten wat je wil en het ondersteund je er bij. Binnen je eigen projecten en dat van je team 90%+ weten is een must, maar exact alle libraries is niet te doen. En om eerlijk te zijn wil ik niet over dit soort dingen moeten na denken, die denk tijd besteed ik liever aan code problemen/uitdagingen.
Ik vind het juist superfijn werken in PHPStorm. Smaken verschillen, blijkbaar. ;)
Het heeft zijn voor- en nadelen, net als alles.

Ik doe bijvoorbeeld maatwerk. PHPStorm is sterk ingericht op populaire frameworks.

Soms doet die autoaanvulling hele gekke dingen, zoals een functie welke ik heb NIET aanvullen omdat het mijn maatwerkstructuur b.v. niet begrijpt, maar het vervolgens wel aanvullen naar iets heel soortgelijks wat bekend is uit de populaire frameworks. Dit veroorzaakt bij mij soms wel eens van die 'onopvallende net wat andere' autocompletes.

Daarnaast verkloot het soms mijn camelcasing, of, wat het soms ook héél irritant doet, is je auto-aanvullen wanneer je ergens iets tussen wil typen. Het begrijpt de boel helaas ook vaak niet wanneer je ergens tussenin wel autoaanvulling wil, maar het vervolgens die laatste letters wel laat staan.

Wat vooral mijn klomp vaak breekt, is de zinloosheid van b.v. "niet bestaande class calls" of "niet bestaande variables" die toch écht bestaan, maar het niet begrepen wordt, waardoor ik de complete error-checking hierop uit moet zetten omdat het gewoon schijtirritant is.

Ook is er nog de super typische irritatie met "de haakjes". b.v. dat ik een variable aanroep, maar phpstorm er automatisch een functie van maakt door er () achter te zetten.
Of dat ik een enkele quote wil plaatsen, maar PHPStorm er automatisch steeds 2 quotes van maakt, waarbij hij ze ook weer beiden verwijderd als ik op delete/backspace druk, waardoor ik dus eerst ergens naartoe moet en terug moet komen om er maar één van de 2 te kunnen verwijderen.

Dit zijn maar enkele voorbeelden van situationele irritaties. Uiteraard is dit een enorme 50-50, want nu staat het aan en dan vallen die irritaties dus op. Als het uit staat, kan ik ook garanderen dat ik de auto-aanvulling gigantisch zou missen.
Het kan gewoon je gedachten niet lezen en werkt niet zo super perfect. Het is "meestal" geweldig, maar kan ook gewoon gruwelijk irritant zijn afhankelijk van de exacte situatie.

Dit neemt niet weg dat ik de IDE juist gebruik voor dit soort zaken, dus ik ben het deels ook met jou eens. Benoem enkel de wat minder mooie aspecten.
Dit is mijn uitspraak en daar zult u het mee moeten doen.
Ik moet zeggen dat ik deze issues eigenlijk nog nooit echt tegenaan gelopen ben. Ik werk dan vooral met de bekendere frameworks inderdaad, maar hier en daar ook wel een simpel maatwerk dingetje wat gestoeld is op Composer. En dan nog loop ik er eigenlijk nooit tegenaan.

Het enige waar ik in het verleden wel eens tegenaan liep was de melding van de classes of niet bestaande variabelen, maar dan had ik vaak gewoon een foutje in een abstract class of interface.
Anoniem: 80910 @NoobishPro5 april 2023 00:53
Ik heb een custom framework die prima functioneerd in zowel de gewone aanvulling als copilot. Door die laatste wordt je echt productiever en kost 100 per jaar.
Dat is natuurlijk wel een "extra" en niet enkel PHPStorm. Weet niet of het dan een 'fair comparison' is.
Dit was vroeger ook al het geval met, uit geheugen, resharper in C#. Een JetBrains add-on voor visual studio.

Wel dank voor de tip! Ik ga er eens naar kijken!
Die meldingen over niet bestaande variabelen heb ik ook dagelijks, vanwege wat complexe eigen functionaliteit.

Verder gebruiken we nog een oude templating taal die maar gedeeltelijk ondersteund wordt. Dus ik zie vooral meldingen over ongebruikte functies.

Van alle honderden classes en basis PHP functies gebruik ik meestal maar een heel klein deel. En toch blijft het maar suggesties doen om die toch echt te gebruiken. Nogal vervelend.

De .phpstorm.meta.php functie is dan wél weer erg fijn om te hebben.
Ik zou eerst eens goed naar de instellingen kijken want ik spendeer mijn volledige tijd in legacy en herken dit niet. Maar goed wat niet weg neemt dat er best wel bugs in kunnen zitten.
Ik ben nu wel nieuwsgierig wat je bedoelt met maatwerk, PHP is toch PHP dus waarom zou PhpStorm dit ineens niet begrijpen zonder bekend framework?
Het klinkt een beetje als spaghetti chaos code zonder annotations of andere hints erin.

En zelfs daar weet PHPStorm meestal nog wel een soort van logica in te vinden. Het gaat wel goed mis als je een functie met dezelfde naam in de global scope definieert en met een ouderwetste require_once die file in je andere file include en dan die functie aanroept. Maar 9.999/10 keer als PHPStorm er niets mee kan ligt de oorzaak niet bij PHPStorm.
Ik vrees er een beetje voor ja... anno 2023 is dat echt niet meer nodig ieder geval want ook framework-loze code kun je netjes opzetten (als je dat zou willen).
"Als het uit staat, kan ik ook garanderen dat ik de auto-aanvulling gigantisch zou missen."
Ik vind dus het mooie van IntelliJ family producten dat je al die checks waar jij het over hebt individueel kan aanpassen. Tuurlijk staat het allemaal op een bepaalde manier aan, maar zet het gewoon uit zodra je het ziet en in een paar dagen werkt het precies zoals jij het wilt.
Of je zegt dit om te trollen, of je komt uit de "cowboy-tijdperk" waarin ieder die een beetje verstand had van computers, zichzelf kon verkopen als "programmeur" en er nog geen duidelijke manier was om de efficiëntie van een "programmeur" te toetsen.

Live Templates zijn juist essentieel om effectief code te schrijven,

Met één afgekort steekwoord heb je zo een boilerplate methode met de juiste visibility en met de tab toets hop je zo naar de andere Points-of-Interest in de header van je nieuwee methode, zoals de parameters, return type hint, als naar de body van de methode.
Dat zorgt dat jij jouw gedachten op het algoritmiek vestigen in plaats van jouw hoofd pijnigen aan het zelf uitschrijven van de boilerplate met dito juiste formatting.
Phpstorm is de eerste IDE waarbij ik echt zoiets had van wauw, dit is handig! De full text search voor de rommelige legacy projecten is een enorme meerwaarde, de click to follow werkt in zoverre goed dat als er twijfel is, je kunt kiezen naar welke functie je springt ipv dat er vastgehouden wordt aan de eerste de beste.
Ik heb totaal niets aan de vernieuwingen dus ik ben blij met mijn perpetual fallback license

Op dit item kan niet meer gereageerd worden.