// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= PHP 7.4 Support
:author: Junichi 
:revdate: 2019-07-25
:jbake-type: post
:jbake-tags: blogentry
:jbake-status: published
:keywords: NetBeans at Oracle Code One 2019
:description: NetBeans at Oracle Code One 2019
:toc: left
:toc-title:
:syntax: true
:imagesdir: https://netbeans.apache.org

Hi all. Today, we will briefly show you about PHP7.4 support which will be available in the *next NetBeans* version i.e. *NetBeans 11.2*.

First of all, I strongly hope that new features are tested by PHP users before NetBeans 11.2 is released because there should be bugs.
Definitely, we need your help!

If you are interested in them, please test it. You can download a dev version here.

Then, we could merge new changes quickly thanks to our committer *Tomas Mysik*. Thanks a lot for your review, Tomas!

== PHP 7.4 Support

To enable it, you have to set PHP 7.4 as the PHP version of your PHP project. (Right-click your project node, click Project Properties.)

image::blogs/entry/nb112-php74-project-properties.png[]

NetBeans provides support for the new syntaxes for PHP 7.4.

=== Null Coalescing Assignment Operator

image::blogs/entry/nb112-php74-null-coalescing-assignment-operator.png[]

=== Spread Operator in Array Expression

image::blogs/entry/nb112-php74-spread-operator-in-array-expression.png[]

=== Numeric Literal Separator

image::blogs/entry/nb112-php74-numeric-literal-separator.png[]

=== Typed Properties 2.0

image::blogs/entry/nb112-php74-typed-properties-2.0.png[]

=== Arrow Functions 2.0

image::blogs/entry/nb112-php74-arrow-functions-2.0.png[]

== New Hints

Suggestion for converting a simple closure to an arrow function

image::blogs/entry/nb112-php74-convert-closure-to-arrow-function.gif[]

Suggestion for using combined assignment operators

image::blogs/entry/nb112-php74-suggest-using-combined-assignment-operators.gif[]

Of course, code completion, formatting, go to declaration, and mark occurrence features for the above syntaxes should also be fixed.

That's all for today. As always, please test it. You can download a development version from
Jenkins Build.
If you find some issues or enhancements, please report them to JIRA with your exact steps to reproduce them.
(Components: php - Editor). Thanks.


