Я хочу добавить свой собственный класс «Authentication.php» в свой проект, но я не понимаю, как это сделать?
Я много читал о внешних библиотеках, но ничего не работает.
ZendFramework / модуль / Firewall / 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 / vendor / MyNamespace / lib / MyNamespace /Authentication.php
<?php class Authentication { public function test() { die('Work fine'); } } ?>
Как я могу назвать свою внешнюю библиотеку в моих контроллерах.
Большое вам спасибо !
Я пробую вот так:
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(); } }
Для этого типа библиотеки просто введите свой application.config.php
<?php return array( 'modules' => array( 'ZendDeveloperTools', 'Application', 'YourLibrary' // <-- here ...
в файле composer.json добавьте библиотеку ниже
"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', ),
Так что сделайте что-то похожее на это.