Tag: php 7

沉默“声明…应该兼容”PHP 7中的警告

升级到PHP 7后,日志几乎窒息了这种错误: PHP Warning: Declaration of Example::do($a, $b, $c) should be compatible with ParentOfExample::do($c = null) in Example.php on line 22548 如何在PHP 7中使这些错误消失,只有这些错误? 在PHP 7之前,它们是易于处理的 E_STRICTtypes的警告。 现在,他们只是普通的老警告。 由于我想知道其他警告,所以我不能完全closures所有的警告。 我没有脑力来重写这些传统的API,甚至没有提及所有使用它们的软件。 猜猜看,没有人会为此付出代价。 我也没有开发他们,所以我不是一个怪。 (unit testing吗?十年前不是这样。) 我想尽可能避免与func_get_args和类似的任何欺骗 。 不是我真的想降级到PHP 5。 我仍然想知道其他错误和警告。 有没有一个干净的,不错的方法来完成这个?

C#中的空合并运算符(?)在PHP中?

在PHP中有没有三元运算符或类似的行为?? 的C#? ?? 在C#中是干净和短,但在PHP中,你必须做的事情如: // This is absolutely okay except that $_REQUEST['test'] is kind of redundant. echo isset($_REQUEST['test'])? $_REQUEST['test'] : 'hi'; // This is perfect! Shorter and cleaner, but only in this situation. echo null? : 'replacement if empty'; // This line gives error when $_REQUEST['test'] is NOT set. echo $_REQUEST['test']?: 'hi';

PHP 7 simpleXML

我正在testingPHP7,最近更新后有一个奇怪的问题。 SimpleXML应该默认启用,我的phpinfo页面显示它是可用的: 但是,function不可用: <?php if (function_exists('simplexml_load_file')) { echo "simpleXML functions are available.<br />\n"; } else { echo "simpleXML functions are not available.<br />\n"; } // result– NOT available 并且该模块未列为已加载: ~ $ php -m [PHP Modules] calendar Core ctype curl … Reflection session shmop sockets SPL standard sysvmsg sysvsem sysvshm tokenizer Zend OPcache zlib 任何人都知道是否有这个解决方法? 版本信息: […]

PHP7中可为空的返回types

PHP 7引入了返回types声明 。 这意味着我现在可以指示返回值是一个特定的类,接口,数组,可调用的或新的可标注的标量types之一,这对于函数参数是可能的。 function returnHello(): string { return 'hello'; } 通常情况下,一个值并不总是存在的,你可能会返回某种types的值,或者返回null。 虽然可以通过将参数的默认值设置为null( DateTime $time = null )来使参数为空,但是对于返回types似乎没有办法做到这一点。 确实如此,或者我不知道如何去做? 这些不起作用: function returnHello(): string? { return 'hello'; } function returnHello(): string|null { return 'hello'; }

PHP的types – 提示原始值?

我想知道是否可以键入提示一种方法来期望原始types? 像这样的东西: public function someMethod(string $str) //^^^^^^ 要么: private function anotherMethod(int $num) //^^^ 您将以同样的方式: private function otherMethod(Person $rambo) //^^^^^^ 这是可能的PHP?

__construct()vs SameAsClassName()在PHP中的构造函数

使用__construct()代替PHP中的构造函数的类名是否有优势? 例: class Foo { function __construct(){ //do stuff } } 要么 class Foo { function Foo(){ //do stuff } }

什么是PHP 7中的<=>(“Spaceship”运算符)?

将于今年11月推出的PHP 7将引入Spaceship(<=>)运算符。 它是什么,它是如何工作的? 这个问题在我们关于PHP运算符的一般参考问题中已经有了答案 。

在PHP中创build匿名对象

我们知道,在JavaScript中创build匿名对象很简单,就像下面的代码一样: var object = { p : "value", p1 : [ "john", "johnny" ] } ; alert(object.p1[1]) ; 输出: an alert is raised with value "johnny" 在PHP的情况下可以应用这种相同的技术? 我们可以在PHP中创build匿名对象吗?

PHP 7:缺lessVCRUNTIME140.dll

我在Windows上启动PHP 7时遇到错误。 当我在命令行上运行php时,它会返回一个系统错误消息框: 程序无法启动,因为您的计算机缺lessVCRUNTIME140.dll。 尝试重新安装程序来解决这个问题。 之后, CLI崩溃了。 由于我不想从外部网站安装DLL文件,我不知道如何解决这个问题! PHP版本: 7.0.0alpha1 VC14 x64线程安全

PHP三元运算符vs空合并运算符

有人可以解释在三元运算符速记( ?: :)和空合并运算符( ?? )之间的区别吗? 他们什么时候行为不一样,什么时候以相同的方式(如果甚至发生的话)? $a ?: $b VS. $a ?? $b