Chapter 10. Changes in Object-Oriented Programming

Considering that PHP 5.0 and almost every subsequent release were primarily about changes to the object model, it might seem odd that there are hardly any changes to it in PHP 7.0.

But, few though they may be, PHP 7.0 still brings some new powerful OOP features to the table.

Context-Sensitive Lexer

PHP 7.0 introduces the context-sensitive lexer, which allows for the use of keywords as names for properties, methods, and constants within classes, interfaces, and traits.

What this means is that PHP goes from having 64 reserved keywords to having just one—class—and only in the class constant context.

You may now use any of the following keywords as property, function, and constant names:

callable

and

include

function

trait

global

include_once

if

extends

goto

throw

endswitch

implements

instanceof

array

finally

static

insteadof

print

for

abstract

interface

echo

foreach

final

namespace

require

declare

public

new

require_once

case

protected

or

return

do

private

xor

else

while

const

try

elseif

as

enddeclare

use

default

catch

endfor

var

break

die

endforeach

exit

continue

self

endif

list

switch

parent

endwhile

clone

yield

class

The only exception is that you still cannot use const class, because it clashes with the fully qualified class name magic constant added in PHP 5.5.

PHP 4 Constructors Deprecated

While some called for them to be removed, the old PHP 4 constructors have instead been marked as ...

Get Upgrading to PHP 7 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.