[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 2: Show the Breakpoint Properties dialog
To show it, please right-click the breakpoint, then please click
.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 (
).Twig: Palette support
You can show the palette window. Please click
.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.