我根据本手册在Ubuntu上安装了PPA的php5.6和php7.0
http://lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
但我没有得到如何使用peclphp5.6或php7.0 安装扩展.
例如,我已经安装的版本,libevent或amqp在php5.6.
现在当我输入pecl install libevent和我的活动php版本是php7.0(使用update-alternatives --set php /usr/bin/php7.0),pecl returns message thatlibevent`已经安装.
但它只安装了php5.6(这个版本是活动的),现在我想为php7.0做.
哪些命令对我有帮助?
UPD
我发现这个命令用于将pecl切换到php7.0并将它们分发给可执行的bash脚本:
#!/bin/bash
sudo update-alternatives --set php /usr/bin/php7.0
sudo pecl config-set php_ini /etc/php/7.0/cli/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20151012/
sudo pecl config-set bin_dir /usr/bin/
sudo pecl config-set php_bin /usr/bin/php7.0
sudo pecl config-set php_suffix 7.0
Run Code Online (Sandbox Code Playgroud)
并为php5.6
#!/bin/bash
sudo update-alternatives --set php /usr/bin/php5.6
sudo pecl config-set php_ini /etc/php/5.6/cli/php.ini
sudo pecl config-set ext_dir /usr/lib/php/20131226/
sudo pecl config-set …Run Code Online (Sandbox Code Playgroud) 有一个从php 5.5开始的功能,以获得具有内置class常量魔法的完整命名空间的类名.例如
<?php
namespace Something\Obscenely\Long\Hard\To\Type;
class MyClass {
}
echo MyClass::class;
// Output: Something\Obscenely\Long\Hard\To\Type\MyClass
?>
Run Code Online (Sandbox Code Playgroud)
这里是文档链接和RFC http://php.net/oop5.basic#language.oop5.basic.class.class https://wiki.php.net/rfc/class_name_scalars
问题是:
例如,如果我使用Zend Framework 2,它被称为具有巨大php数组配置的框架,如果我在此配置解析方法中使用每个类名称而::class不是仅仅键入类似字符串的全名''- 是否会产生有价值的性能影响?
例如:
'controllers' => [
'invokables' => [
'\Controller\Monitor' => 'Import\Controller\MonitorController',
...
Run Code Online (Sandbox Code Playgroud)
VS
'controllers' => [
'invokables' => [
'\Controller\Monitor' => MonitorController::class,
...
Run Code Online (Sandbox Code Playgroud)
UPD:
我自己的测试
我写简单快速测试到基准测试
class MyClass
{
}
class MyClass1
{
}
class MyClass2
{
}
class MyClass3
{
}
/**
* run many iteration loop for test percentage
*/ …Run Code Online (Sandbox Code Playgroud)