PHP の糖衣構文

Syntactic sugar for PHP

PHP 5.6 has been around for a long time as stable. However, with the release of new PHP versions, a lot of syntactic sugar has emerged. The old, very cumbersome coding has been replaced with syntactic sugar and made simple.

What is syntactic sugar

Syntactic sugar is a style of writing introduced in programming languages ​​for ease of reading and writing. is something that can be written in -Wikipedia

::class

If you often code Laravel projects, ::class I think you'll often see it written like this:

 
<?php 'providers' => [ /* * Laravel Framework Service Providers... */ Illuminate\Auth\AuthServiceProvider :: class ,
Illuminate\Broadcasting\BroadcastServiceProvider :: class , Illuminate\Bus\BusServiceProvider :: class , Illuminate\Cache\CacheServiceProvider :: class , Illuminate\Foundation\Providers\ConsoleSupportServiceProvider :: class , Illuminate\Cookie\CookieServiceProvider :: class , ?>

From within Laravel 5.1 ::class The term is used in many places. especially app\config.php in the file, long ago string ServiceProviders written with the type currently all ::class It changed to Probably because it's better recognized by the IDE.

::class to ensure that the Full Name of the class is string You can get it by type. For example, to get the fully qualified name of the ClassName class as a string, use ClassName::class.

 
<?php
AuthServiceProvider :: class ; // => 'AuthServiceProvider' Illuminate\Auth\AuthServiceProvider :: class ; // => 'Illuminate\Auth\AuthServiceProvider' use Illuminate\Auth\AuthServiceProvider ; AuthServiceProvider :: class ; // => 'Illuminate\Auth\AuthServiceProvider' ?>

.. (splat)

This is technology "stolen" from Ruby. This one is from Ruby. Compared to Ruby, it's a little lacking, but function It is convenient to use it in

 
<?php
// Traditional: function test ( $param1 , $param2 = null , $param3 = null ) { $params = func_get_args (); var_dump ( $params ); } test ( 1 , 2 , 3 ); // prints [1,2,3] test ( 1 , 2 ); // prints [1,2] test ( 1 ); // prints [1] // now: function test ( $param1 , ... $rest ) { var_dump ( $rest ); } test ( 1 , 2 , 3 ); // $rest = [2,3]; ?>

Furthermore, there is another way of writing this.

 
<?php $rest = [ 1 , 2 , 3 , 4 ]; function add ( $param1 , $param2 , $param3 , $param4 ) { return $param1 + $param2 + $param3 + $param4 ; }
add ( ... $rest ); // 10 ?>

?: (short hand ternary)

The ternary operator is usually written like this:

 
<?php $result = $param ? $param : 'default' ; ?>

$param but null If not, $param and null If 'default' Use

But with syntactic sugar you can do the same thing.

 
<?php $result = $param ?: 'default' ; ?>

I don't have to write long source anymore.

*This article is based on the " Japanese document creation style standard rules "

*This article was written by our employee Wu Jie Lindelin.org This article was reprinted and published as a contribution article for .