Připojení externí php knihovny do Nette projektu
- Danny
- Člen | 146
Dobrý den,
potřeboval bych poradit jak připojit knihovnu do Nette projektu. Nemohu
použít composer protože jestli jsem dobře pochopil neni tato knihovna pro to
podporovaná.
Potřebuji tedy najít způsob jak nejlépe ten 1 soubor .php připojit do
projektu a abych mohl například v presenteru vytvořit instanci té třídy
z knihovny a používat ji.
Je nejlepší způsob natvrdo připojit takhle knihovnu?
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->addDirectory(__DIR__ . '/../libs/api/')
->register();
Nebo raději zvolit nějaký jiný?
Děkuji moc :)
Editoval Danny (16. 4. 2017 22:31)
- Danny
- Člen | 146
Nevim jestli teď přesně rozumim, jde mi spíš o to jak k té knihovně budu přistupovat?
Tedy jak mám např v tom presenteru vytvářet její instanci, na základě jaké cesty
class ServicePresenter extends BasePresenter
{
public function renderDefault()
{
$API = new MojeJmeno\NazevApi();
......
- Danny
- Člen | 146
Já právě nejsem schopný ji napojit. Mám to uložené v
/libs/Routeros/RouterosApi.php
název té třídy je RouterosAPI
V autoloadu loaduju celou složku /libs
"autoload": {
"classmap": {"MojeJmeno": "libs/"},
},
A když se tu API snažim instacovat tak volám
$API = new \Routeros\RouterosApi\RouterosAPI();
Asi mi uniká nějaký základní kámen nette aplikace jako takové :/
- CZechBoY
- Člen | 3608
Tady to maj úplně jinak
https://github.com/…omposer.json
"autoload": {
"classmap": [
"routeros_api.class.php"
]
}
- jiri.pudil
- Nette Blogger | 1032
Jak píše @CZechBoY, do classmap se dává pole cest
"autoload": {
"classmap": ["libs/"]
}
Taky pozor na to, že se ti nebudou automaticky načítat soubory, které do
té složky nově přidáš; musíš nejdřív přegenerovat autoloader
pomocí composer dump-autoload