Apache NetBeans

Thursday August 30, 2018

[PHP] Conditional breakpoints and new Twig features

Hi all. Today, we will show you some new features which will be available in the next NetBeans version, maybe (NetBeans 10? NOTE: we cannot promise anything about release contents at the moment).

First of all, if you would like to try new features, please build NetBeans yourself.

git clone git@github.com:apache/incubator-netbeans.git
cd incubator-netbeans
ant -Dcluster.config=full
(or ant -Dcluster.config=php)

You can find the start-up files in the nbbuild/netbeans/bin directory if the build succeeds. So please run it.

Debugger: Conditional breakpoints

You can stop the debugger if the context matches your condition. i.e. If the condition is true, the debugger stops on the breakpoint, otherwise, it does not stop there.

I assume that you have already done the settings for debugging. (please see: HowToConfigureXDebug) If xdebug doesn't work, please ask someone via Apache NetBeans mailing lists. (Please don't ask here.)

Just in my case(Ubuntu 18.04):

sudo apt install php-xdebug
sudo vim /etc/php/7.2/mods-available/xdebug.ini

# Change to the following
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.idekey="netbeans-xdebug"

Let's try running with a sample code(index.php):

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
    $array = ["foo", "bar", "baz", "qux"];
    foreach ($array as $value) {
        echo $value;
    }
?>
</body>
</html>

Step 1: Enable a breakpoint

You can enable it when you click a line number.

Nb-php-debugger-conditial-breakpoint-1.png

Step 2: Show the Breakpoint Properties dialog

To show it, please right-click the breakpoint, then please click Breakpoint > Properties.

Nb-php-debugger-conditial-breakpoint-2.png

Nb-php-debugger-conditial-breakpoint-3.png

Step 3: Input a condition

Please check "Condition" and input your condition to the combo box, then click the OK button.

Nb-php-debugger-conditial-breakpoint-4.png

Step 4: Run Debug Project

Please click Debug > Debug Project or the icon on the toolbar.

In this case, the debugger stops on the breakpont if $value is "baz".

Nb-php-debugger-conditional-breakpoints.gif

Twig: Code completion for delimiters, brackets, and quotes

Twig editor supports code completion for delimeters({{ and {%), brackets([, (, and {), and quotes(" and '). This feature is enabled by default. If you would like to disable, please uncheck the options (Tools > Options > Editor > Code Completion > Language: Twig File).

Nb-php-twig-autocomplete-options.png

Nb-php-twig-autocomplete.gif

Twig: Palette support

You can show the palette window. Please click Window > IDE Tools > Palette.

Nb-php-twig-palette.png

That's all for today. As always, please test it. If you find some issues or enhancements, please report them to JIRA (Components: php - Debugger, php - Twig). Thanks.

Comments:

I can't wait for PHP edition. Can you tell when will be released Netbeans Incubator 9 for PHP ? Personally I would like to be ready... yesterday. Thanks a lot for your great work.

Posted by Petru on September 05, 2018 at 06:09 AM UTC #

I think the bracket completion should jump in, right after adding only one { and not via {% or {{. It is essential feature that it should be consistent, because for each open bracket there must be a closing one. Cheers Chris

Posted by Chris on September 05, 2018 at 06:52 AM UTC #

Hi Petru, As I wrote in the post, I cannot promise anything about releases. However, please see: https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+Roadmap

Posted by Junichi on September 05, 2018 at 11:05 AM UTC #

Hi Chris, If there was that syntax(i.e. {}), I would fix it. I'm not going to do it because it does not exist, maybe.

Posted by Junichi on September 05, 2018 at 11:10 AM UTC #

Post a Comment:
Comments are closed for this entry.

Calendar

Search

Hot Blogs (today's hits)

Tag Cloud

Categories

Feeds

Links

Navigation