我想将自定义类“Authentication.php”添加到我的项目中,但我不明白我该怎么做?
我已经阅读了许多关于外部库的方法,但没有任何效果。
ZendFramework /模块/防火墙/ Module.php
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'MyNamespace' => __DIR__ . '/../../vendor/MyNamespace/lib/MyNamespace',
),
),
);
}
}
ZendFramework /供应商/ myNameSpace对象/ LIB / myNameSpace对象 /Authentication.php
<?php
class Authentication {
public function test()
{
die('Works fine');
}
}
?>
如何在控制器中调用外部库。
非常感谢你!
答案 0 :(得分:8)
我试着这样:
1)
//module/Application/Module.php
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'Mynamespace' => __DIR__ . '/../../vendor/Mynamespace',
),
),
);
}
2)
//vendor/Mynamespace/MyClass.php
namespace Mynamespace;
class MyClass
{
//...
}
3)我使用它,例如在我的控制器中:
use Zend\Mvc\Controller\AbstractActionController;
use Mynamespace\MyClass;
class AdminController extends AbstractActionController
{
public function indexAction()
{
$myclass = new MyClass();
}
}
答案 1 :(得分:0)
对于这种类型的库,只需输入 application.config.php
<?php
return array(
'modules' => array(
'ZendDeveloperTools',
'Application',
'YourLibrary' // <-- here
...
答案 2 :(得分:0)
添加库如下
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": ">2.2.0rc1",
"doctrine/doctrine-orm-module": "0.7.*",
"zendframework/zend-developer-tools": "dev-master",
"twig/twig": ">=1.12.3",
}
然后在 application.config.php 中 在模块数组下
'modules' => array(
'Application',
'ZendDeveloperTools',
'ZfcTwig',
'DoctrineModule',
'DoctrineORMModule','yourdir',
),
所以做类似的事情。