Php 如何使用Phalcon autoloader自动加载PayPal类?
Phalcon autoloader的配置方式如下:Php 如何使用Phalcon autoloader自动加载PayPal类?,php,paypal,phalcon,autoload,Php,Paypal,Phalcon,Autoload,Phalcon autoloader的配置方式如下: $loader = new Phalcon\Loader; $loader->registerDirs(array( '../app/4/controllers/', '../app/models/', '../app/services', '../app/forms/', '../app/vendor/' ))->register(); 目录树是: app ├───services │
$loader = new Phalcon\Loader;
$loader->registerDirs(array(
'../app/4/controllers/',
'../app/models/',
'../app/services',
'../app/forms/',
'../app/vendor/'
))->register();
目录树是:
app
├───services
│ ├─── PayPalService.php - important
└───vendor
└───PayPal
├───Api
│ └───Amount.php
│ └───and all other files
├───Auth
├───Common
├───Converter
├───Core
├───Exception
├───Handler
├───Rest
├───Security
├───Transport
└───Validation
在PalPalService.php的开头有:
use PayPal\Api\Amount;
use PayPal\Api\Details;
use PayPal\Api\Item;
use PayPal\Api\ItemList;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Rest\ApiContext;
Phalcon autoloader显然找不到这些类,所以我得到了错误未定义的类常量'PayPal'
。对于其他不使用名称空间的类,此自动加载程序可以工作。怎么了?如何在没有Composer的情况下使用PayPal SDK?我认为法尔康的自动装弹机应该解决这个问题
我还尝试:
$loader->registerNamespaces(
array(
"PayPal" => "../app/vendor/PayPal/"
)
);
它仍然找不到PayPal类。我不想列出每个PayPal目录,因为根据docs,Phalcon的autoloader应该将名称空间分隔符更改为目录分隔符。。/app/vendor/PayPal/“
应该是。/app/vendor/”
$loader->registerNamespaces(
array(
"PayPal" => "../app/vendor/"
)
);