ASISG

Gy - php framework/CMS | Документацыя | Автозагрузка классов

<-- Содержание

Psr0 реализован для раздела gy/classes/, также в разделе customDir/classes/. Для модулей не реализован psr0, что бы обратиться к модулю нужно использовать вымышленное простанство имён Gy\Modules\<имя модуля>\Classes\<имя класса>.

Пример (часть кода, из файла gy\modules\filemodule\component\work_page_site\controller.php ):

<?php use Gy\Modules\filemodule\Classes\SitePages;


$sitePage = new SitePages($APP->urlProject.'/');

PSR-4

PSR-4 - gy в ядре не использует.

Реализован класс для PSR-4 (\gy\classes\Psr\Psr4\Psr4AutoloaderClass.php) который может использовать в своих проектах разработчик использующий gy. (это было протестировано)

Пример как пользоваться PSR-4

Нужно создать файл \customDir\gy\afterGyCore.php, и добавить в него PSR-4 автозагрузку классов указав раздел пользователя откуда брать классы.

Например (файл \customDir\gy\afterGyCore.php):

<?php if (!defined("GY_CORE") && (GY_CORE !== true)) die( "gy: err include core" );

global $APP;

// подключить psr4 автозагрузку классов
$autoloadPsr4 = new \Psr\Psr4\Psr4AutoloaderClass;
$autoloadPsr4->register();
$autoloadPsr4->addNamespace('Aqw\\', $APP->urlProject.DIRECTORY_SEPARATOR.'testPsr4'.DIRECTORY_SEPARATOR.'Aqw'.DIRECTORY_SEPARATOR);

Файл \testPsr4\Aqw\Asd\Asd1.php :

<?php

namespace Aqw\Asd;

class Asd1
{
 public function test(){
  echo '
'.'12345';
 }
}

Файл \testPsr4.php, использующий класс:

<? include "./gy/gy.php"; // подключить ядро // include core

$asd = new Aqw\Asd\Asd1();

$asd->test();



Смотреть документацию в GitHub.com