I'm very confusing about namespace on php (>5.4.*) and composer
Scenario
|vendor
|autoload.php
|abkrim
|cputils
|src
|CpPanelBackTest.php
Code CpPanelBackTest.php
namespace Abkrim\Cputils;
class CpPanelBackTest
{
public static function getDate(){
$year = date('Y');
$month = date('m');
$day = date('d');
return $day . '/' . $month . '/' . $year;
}
}
File test.php
require __DIR__.'/../../vendor/autoload.php';
use Abkrim\Cputils\CpPanelBackTest;
echo 'Date today is: ' . CpPanelBackTest::getDate();
File composer.json on vendor/abkrim/cputils
"autoload": {
"psr-4": {
"Abkrim\\Cputils\\": "src/"
}
}
Get error ->
PHP Fatal error: Class 'CpPanelBackTest' not found in at file xxxx line xxxx
If change code for CpPanelBackTest.php
//namespace Abkrim\Cputils; //coment namespace
class CpPanelBackTest
{
public static function getDate(){
$year = date('Y');
$month = date('m');
$day = date('d');
return $day . '/' . $month . '/' . $year;
}
}
And file test.php
//require __DIR__.'/../../vendor/autoload.php';
//use Abkrim\Cputils\CpPanelBackTest;
require_once __DIR__ . '/../../vendor/abkrim/cputils/src/CpPanelBackTest.php';
Now work fine.
I'm lost. I'm not understanding anything about it echo 'Date today is: ' . CpPanelBackTest::getDate();