如何在PHP中使用命名空间实现类
作者:互联网
我在PHP中实现特定的类时遇到了麻烦.我想在我的Zend Framework应用程序中使用Anthony Ferrara的RandomLib库(你可以找到它here.)
我已经用PHP编程了几年了,所以我大部分都知道我的方法.但我必须承认,在使用实现名称空间的类时,我有点无能为力.这是我在我的代码中得到的:
public static function generateToken()
{
require_once 'RandomLib/Factory.php';
$factory = new \RandomLib\Factory;
$generator = $factory->getMediumStrengthGenerator();
return $generator->generate(16);
}
不幸的是,我收到以下错误:
Fatal error: Class 'SecurityLib\AbstractFactory' not found in C:\xampp\php\includes\RandomLib\Factory.php on line 30
就像我说的,我真的不知道这里发生了什么.我不知道我是否应该在课堂上使用某种使用声明.
解决方法:
使用带有ZF 1. *的自动加载器,假设您将您的factoru放入application_name / libs / RandomLibFactory.php作为RandomLibFactory类,它应该如下所示:
public static function generateToken() {
$factory = $locator = new RandomLibFactory();
$generator = $factory->getMediumStrengthGenerator();
return $generator->generate(16); }
标签:php,namespaces,require-once 来源: https://codeday.me/bug/20190709/1409547.html