[英]Loading PHP Libraries and Using Classes using Drupal Libraries module
為了加載PHPGoogleMaps庫,我試圖使用Drupal庫模塊來解決問題 。 我已經設法創建配置並將庫加載到模塊中。 我想我的主要問題是現在使用庫類。 我敢肯定,現在我需要使用另一種方式打電話或使用它們。 我以前的非drupal代碼具有以下效果:
require( 'resources/PHPGoogleMaps/Core/Autoloader.php' );
$map_loader = new SplClassLoader('PHPGoogleMaps', 'resources/');
$map_loader->register();
$map = new \PHPGoogleMaps\Map;
$address = '...';
$geocode = \PHPGoogleMaps\Service\Geocoder::geocode($address);
現在在Drupal中使用Libraries API,我不確定在加載庫后從哪里開始,因為在嘗試以下代碼時我仍然遇到類未找到錯誤:
libraries_load('PHPGoogleMaps');
$map = new \PHPGoogleMaps\Map;
//Fatal error: Class 'PHPGoogleMaps\Map' not found
我應該注意,在使用libraries_detect()進行檢查並打印出返回的libraries_load信息時,該庫已正確加載並提取了正確的信息。
在我的庫定義中,我不確定是否需要在此處添加除自動加載器文件以外的其他內容
$libraries['PHPGoogleMaps'] = array(
'name' => 'PHPGoogleMaps',
'vendor url' => 'https://github.com/galen/PHPGoogleMaps',
'download url' => 'https://github.com/galen/PHPGoogleMaps',
'version arguments' => array(
'file' => 'version.txt',
'pattern' => '/Version (\d+)/',
'lines' => 1,
),
'files' => array(
'php' => array(
'Core/Autoloader.php',
),
),
);
啊,對於任何想弄清楚這一點的人,我仍然需要SplClassLoader信息(我仍然很陌生)
$library = libraries_load('PHPGoogleMaps');
$map_loader = new SplClassLoader('PHPGoogleMaps','sites/all/libraries');
$map_loader->register();
我暫時輸入了手動路徑,盡管我相信最好從$ library ['library path'] url解析此路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.