������

�µĶ�������

�����µĶ�������, object, �����˿�������䣨contravariant�����������Э�䣨covariant�������κζ������͡�

<?php

function test(object $obj) : object
{
    return new 
SplQueue();
}

test(new StdClass());

ͨ�����Ƽ�����չ

��չ�ļ�������Ҫͨ���ļ����� (Unix����.soΪ�ļ���չ������Windows���� .dll Ϊ�ļ���չ��) ����ָ����������php.ini�����ļ���������, Ҳ����ʹ�� dl() �����������á�

������д���󷽷�(Abstract method)

��һ��������̳�������һ���������ʱ�򣬼̳к�ij����������д���̳еij�����ij��󷽷���

<?php

abstract class A
{
    abstract function 
test(string $s);
}
abstract class 
extends A
{
    
// overridden - still maintaining contravariance for parameters and covariance for return
    
abstract function test($s) : int;
}

ʹ��Argon2�㷨��������ɢ��

Argon2 �Ѿ������뵽����ɢ�У�password hashing�� API (��Щ������ password_ ��ͷ), �����DZ�¶�����ij���:

  • PASSWORD_ARGON2I
  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST
  • PASSWORD_ARGON2_DEFAULT_TIME_COST
  • PASSWORD_ARGON2_DEFAULT_THREADS

���� ext/PDO��PDO��չ�� �ַ�����չ����

����׼��֧�ֶ������ַ�����PDO���ַ��������Ѿ���չ֧�ֹ��ʻ����ַ�������������չ�ij�����

  • PDO::PARAM_STR_NATL
  • PDO::PARAM_STR_CHAR
  • PDO::ATTR_DEFAULT_STR_PARAM

��Щ����ͨ��PDO::PARAM_STR����λ����OR���м��㣺

<?php

$db
->quote('��ber'PDO::PARAM_STR PDO::PARAM_STR_NATL);

Ϊ ext/PDO���������ģ�������Ϣ

PDOStatement::debugDumpParams()�����Ѿ����£�������SQL�����ݿ��ʱ����һ���ԡ��в�ѯ�������滻��ռλ����������ʾ������Ϣ����һ�����Ѿ����뵽ģ������У���ģ����Դ�ʱ���ã���

ext/LDAP��LDAP��չ�� ֧���µIJ�����ʽ

LDAP ��չ�Ѿ�������EXOP֧��. ��չ��¶���º����ͳ���:

ext/sockets��sockets��չ������˵�ַ��Ϣ

sockets��չ���ھ��в��ҵ�ַ��Ϣ���������ҿ������ӵ������ַ�����߽��а󶨺ͽ�����Ϊ�����������һЩ����:

��չ�˲�������

��д�����ͽӿ�ʵ�ֵIJ����������ڿ���ʡ���ˡ���������Ȼ�Ƿ���LSP����Ϊ�������ֲ������������ġ�

<?php

interface A
{
    public function 
Test(array $input);
}

class 
implements A
{
    public function 
Test($input){} // type omitted for $input
}

������������ռ��β������

�����ռ������PHP 7��ʹ��β�涺�Ž��з������롣

<?php

use Foo\Bar\{
    
Foo,
    
Bar,
    
Baz,
};