环顾四周,找不到真正的答案.

我有一个使用Twilio SDK发送短信的Web应用程序

有些安装已经安装了Twilio,有些则没有.

我希望此代码仅在Twilio文件存在的情况下运行.

常规代码为:

require_once ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php';
use Twilio\Rest\Client;

我试过了

if(file_exists(ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php')) {
    require_once ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php';

    use Twilio\Rest\Client;
}

而且还

if(file_exists(ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php')) {
    require_once ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php';
}
if(class_exists(Twilio\Rest\Client)) {
    use Twilio\Rest\Client;
}



if(file_exists(ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php')) {
    require_once ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php';

}

use Twilio\Rest\Client;

而且总是能得到

语法错误,意外的‘Use’

有没有办法把这变成有条件的呢?

推荐答案

为什么不无条件地使用use呢?

 <?php
 use Twilio\Rest\Client;

 if (is_file(ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php')) {
      require_once ABSPATH.'php/vendor/twilio-php-master/Twilio/autoload.php';
 }

我可以毫无问题地运行这段代码.

可能会冒着名字与Twilio\Rest\Client冲突的风险,但我认为无论哪种方式,你都会有这个.

Php相关问答推荐

调用woocommerce_customer_Save_add动作挂钩时发生致命错误

WooCommerce拆分运输包裹上的商品数量增加运输成本

在不刷新页面的情况下无法使用JQuery更新id

添加自定义Metabox到WooCommerce管理订单,启用HPOS

如何使用URL链接(mdl)切换选项卡

Nginx重写扩展名为.php的动态URL

如果WooCommerce中存在特定的运输方式,则隐藏其他运输方式

无法在Laravel/Vue停靠容器中启动MySQL

如何在php中生成包含第100秒的时间序列?

WordPress插件和JSON不是有效的响应错误

Apache只允许index.php-不从根目录工作

这是在可召回的背景下吗?

如何不重新查询模型A-&>;相关模型B-&>模型

如何使用索引加速和优化MySQL搜索

对产品/库存结果集进行分组和计数,形成多维分层数组

如何在 Laravel 中app文件夹之外的文件夹内创建文件路径?

用自定义代码替换 WooCommerce 单一产品简短描述

如何显示所有数组数据而不仅仅是最后的结果

CodeIgniter 4中嵌套过滤器组不起作用

Laravel 测试 assertJsonMissing 不适用于唯一的键.为什么?